Main Page   Modules   Alphabetical List   Data Structures   File List   Data Fields   Globals  

IXP425 ADSL Driver API

The public API for the IXP425 ADSL Driver. More...

Typedefs

typedef void(* IxAdslStateChangeCallback )(UINT32 lineNum, IxAdslLineState lineState)
 Callback function to indicate of the changes on the line state.


Enumerations

enum  IxAdslStatus {
  IX_ADSL_STATUS_SUCCESS,
  IX_ADSL_STATUS_FAIL,
  IX_ADSL_STATUS_UNSUPPORTED_MODE,
  IX_ADSL_STATUS_ALREADY_DOWN
}
 These status will be used by the APIs to return to the client. More...

enum  IxAdslLineState {
  IX_ADSL_LINE_STATE_UP_DUAL_LATENCY,
  IX_ADSL_LINE_STATE_WAIT_FOR_ACTIVATING,
  IX_ADSL_LINE_STATE_ACTIVATING,
  IX_ADSL_LINE_STATE_DOWN,
  IX_ADSL_LINE_STATE_UP_FASTCHANNEL,
  IX_ADSL_LINE_STATE_UP_INTERLEAVECHANNEL,
  IX_ADSL_LINE_STATE_INVALID
}
 These status will be used to indicate the line state. More...

enum  IxAdslLineType {
  IX_ADSL_AUTOSELECT,
  IX_ADSL_GLITE,
  IX_ADSL_DMT,
  IX_ADSL_ANSI,
  IX_ADSL_LOOPBACK,
  IX_ADSL_INVALID_MODE
}
 Used to indicate the type of ADSL line type used. More...

enum  IxAdslPhyType {
  IX_ADSL_PHY_CPE,
  IX_ADSL_PHY_INVALID
}
 Used to indicate the ADSL physical type - CPE. More...


Functions

PUBLIC IxAdslStatus ixAdslLineOpen (UINT32 lineNum, IxAdslLineType lineType, IxAdslPhyType phyType)
 Open the given ADSL line in the specified mode and type.

PUBLIC IxAdslStatus ixAdslLineClose (UINT32 lineNum)
 Closes a previously opened ADSL line.

PUBLIC IxAdslStatus ixAdslLineStateChangeCallbackRegister (UINT32 lineNum, IxAdslStateChangeCallback lineChangeCallbackFn)
 This is a notification registration procedure that gets called if the line state of the given ADSL line changes. The maximum callbacks that can be registered is defined as IX_ADSL_SIZEOF_CALLBACK_LIST (The default value is 10).

PUBLIC IxAdslLineState ixAdslLineStateGet (UINT32 lineNum)
 Returns the current state of the given ADSL line.

PUBLIC UINT32 ixAdslLineRateUpstreamGet (UINT32 lineNum)
 Return the current upstream line speed of the given ADSL line.

PUBLIC UINT32 ixAdslLineRateDownstreamGet (UINT32 lineNum)
 Return the current downstream line speed of the given ADSL line.

PUBLIC IxAdslStatus ixAdslDyingGaspEnable (UINT32 lineNum)
 Enables the function that informs ATU-C when condition that leads to shutdown of the given Adsl line has been detected.

PUBLIC IxAdslStatus ixAdslVendorCodeSet (UINT32 lineNum, UINT8 ixAdslItuVendoridCountrycode, UINT8 ixAdslItuVendoridVendorcode1, UINT8 ixAdslItuVendoridVendorcode2, UINT8 ixAdslItuVendoridVendorcode3, UINT8 ixAdslItuVendoridVendorcode4, UINT8 ixAdslItuVendoridVendorspecific1, UINT8 ixAdslItuVendoridVendorspecific2)
 Set the vendor specific bytes in the given ADSL line.

PUBLIC void ixAdslShow (UINT32 lineNum)
 This function will show the current statistics associated with the given ADSL Line.

PUBLIC void ixAdslMemoryUnmap (void)
 This function will unmap the dynamically allocated addresses.


Detailed Description

The public API for the IXP425 ADSL Driver.


Typedef Documentation

typedef void(* IxAdslStateChangeCallback)( UINT32 lineNum, IxAdslLineState lineState)
 

Callback function to indicate of the changes on the line state.

Definition at line 178 of file IxAdsl.h.


Enumeration Type Documentation

enum IxAdslLineState
 

These status will be used to indicate the line state.

Enumeration values:
IX_ADSL_LINE_STATE_UP_DUAL_LATENCY  The line is in showtime state.

Fast & Interleaved Channel

IX_ADSL_LINE_STATE_WAIT_FOR_ACTIVATING  The line is waiting for the peer to activate.
IX_ADSL_LINE_STATE_ACTIVATING  The line is negotiating with its peer.
IX_ADSL_LINE_STATE_DOWN  The line is down.
IX_ADSL_LINE_STATE_UP_FASTCHANNEL  The line is in showtime state.

Fast Channel

IX_ADSL_LINE_STATE_UP_INTERLEAVECHANNEL  The line is in showtime state.

Interleaved Channel

IX_ADSL_LINE_STATE_INVALID  ADSL line in an unknown state.

Definition at line 91 of file IxAdsl.h.

enum IxAdslLineType
 

Used to indicate the type of ADSL line type used.

Enumeration values:
IX_ADSL_AUTOSELECT  This is an auto-select mode for the CPE to auto-configure based on the CO/DSLAM line type; DMT, ANSI or G.lite.
IX_ADSL_GLITE  G.lite line type.
IX_ADSL_DMT  DMT line type.
IX_ADSL_ANSI  ANSI line type.
IX_ADSL_LOOPBACK  Utopia Loopback line type.
IX_ADSL_INVALID_MODE  Used internally to indicate last valid enum.

Definition at line 132 of file IxAdsl.h.

enum IxAdslPhyType
 

Used to indicate the ADSL physical type - CPE.

Note:
IxAdslPhyType is declared as an enum due to forward compatibility to support CO (fast and interleaved mode) in the future.
Enumeration values:
IX_ADSL_PHY_CPE  Adsl type is CPE.
IX_ADSL_PHY_INVALID  Adsl type is invalid.

Definition at line 161 of file IxAdsl.h.

enum IxAdslStatus
 

These status will be used by the APIs to return to the client.

Enumeration values:
IX_ADSL_STATUS_SUCCESS  Successful API execution.
IX_ADSL_STATUS_FAIL  Failed API execution.
IX_ADSL_STATUS_UNSUPPORTED_MODE  Unsupported mode type for IxAdslLineOpen function.
IX_ADSL_STATUS_ALREADY_DOWN  Line is already down.

Definition at line 70 of file IxAdsl.h.


Function Documentation

ixAdslDyingGaspEnable UINT32  lineNum  ) 
 

Enables the function that informs ATU-C when condition that leads to shutdown of the given Adsl line has been detected.

Note:
The parameter lineNum exists for future Multi-PHY support. Only lineNum = 0 is valid.
Blocking : This call is a non-blocking

Impacts On Global Data: None

Pre-Conditions: Task level calls only. Only Available in ATU-R.

Post-Conditions: None.

Exceptions: None.

Parameters:
lineNum [in] is the parameter showing which ADSL line is being used.
Returns:
  • IX_ADSL_STATUS_SUCCESS - Dying Gasp is enabled. successfully.

  • IX_ADSL_STATUS_FAILED - Failed to enable Dying Gasp.

ixAdslLineClose UINT32  lineNum  ) 
 

Closes a previously opened ADSL line.

The line will closed and put in the idle state.

Note:
The parameter lineNum exists for future Multi-PHY support. Only lineNum = 0 is valid.
Blocking : Non-blocking

Impacts On Global Data: Sets the lineEnable State . Notifies a callback routine.

Pre-Conditions: Code should only be called from task level.

Post-Conditions: No cleanup after this call is required.

Parameters:
lineNum [in] is the parameter showing which ADSL line is being used and to be closed.
Returns:
  • IX_ADSL_STATUS_SUCCESS - Line was closed successfully.

  • IX_ADSL_STATUS_FAILED - Line failed to close properly.

  • IX_ADSL_STATUS_ALREADY_DOWN - Line was not open before close.

ixAdslLineOpen UINT32  lineNum,
IxAdslLineType  lineType,
IxAdslPhyType  phyType
 

Open the given ADSL line in the specified mode and type.

Opens the given ADSL line in the specified mode and puts it in the 'Showtime' state, i.e. available to carry user data.

Note:

  • The parameter lineNum exists for future Multi-PHY support. Only lineNum = 0 is valid.
  • The parameter phyType exists for future CO support.
Blocking : This call may block for several seconds while the link is established.

Impacts On Global Data: Sets the lineEnable State .

Pre-Conditions: The code must only be called once the operating system is running, i.e. do not call as part of the hardware init as this code requires base services such as Atmd, Atmm, Atm scheduler and Utopia. The code should only be called from task level.

Post-Conditions: No cleanup after this call is required.

Exceptions: None.

Parameters:
lineNum [in] is the parameter showing which ADSL line is being used.
lineType [in] indicates type of ADSL to be opened.
phyType [in] is the type of Phy used - CPE.
Returns:
  • IX_ADSL_STATUS_SUCCESS - Line was opened and is in 'showtime' state

  • IX_ADSL_STATUS_FAILED - Line failed to open properly.

  • IX_ADSL_STATUS_UNSUPPORTED_MODE - Illegal ADSL type for IxAdslLineOpen function.

ixAdslLineRateDownstreamGet UINT32  lineNum  ) 
 

Return the current downstream line speed of the given ADSL line.

The data returned by this API is the received (Rx) rate of the line the ATU device.

Note:
The parameter lineNum exists for future Multi-PHY support. Only lineNum = 0 is valid.
Blocking : This call is a non-blocking

Impacts On Global Data: None

Pre-Conditions: Task level calls only.

Post-Conditions: None.

Exceptions: None.

Parameters:
lineNum [in] is the parameter showing which ADSL line is being used.
Returns:
  • Integer - bit rate in kbits/second. N.B. Returns zero if the line is not in 'Showtime' state.

ixAdslLineRateUpstreamGet UINT32  lineNum  ) 
 

Return the current upstream line speed of the given ADSL line.

Note:
The parameter lineNum exists for future Multi-PHY support. Only lineNum = 0 is valid.
The data returned by this API represents the transmit (Tx) rate of the line from the ATU device.

Blocking : This call is a non-blocking

Impacts On Global Data: None

Pre-Conditions: Task level calls only.

Post-Conditions: None.

Exceptions: None.

Parameters:
lineNum [in] is the parameter showing which ADSL line is being used.
Returns:
  • Integer - bit rate in kbits/second. N.B. Returns zero if the line is not in 'Showtime' state.

ixAdslLineStateChangeCallbackRegister UINT32  lineNum,
IxAdslStateChangeCallback  lineChangeCallbackFn
 

This is a notification registration procedure that gets called if the line state of the given ADSL line changes. The maximum callbacks that can be registered is defined as IX_ADSL_SIZEOF_CALLBACK_LIST (The default value is 10).

Note:
The parameter lineNum exists for future Multi-PHY support. Only lineNum = 0 is valid.
Blocking : This call is a non-blocking function.

Impacts On Global Data: This sets a global callback handler.

Pre-Conditions: There are no pre conditions to this call.

Post-Conditions: A global line state handler for ADSL line state changes shall be registered. It is advisable to register the callback before the given ADSL line is opened.

Exceptions: None.

Parameters:
lineNum [in] is the parameter showing which ADSL line is being used.
lineChangeCallbackFn [in] is the callback function that will be invoked when there is a state change
Returns:
  • IX_ADSL_STATUS_SUCCESS - The callback function was registered successfully.

  • IX_ADSL_STATUS_FAILED - Internal error, registration of the callback function failed.

ixAdslLineStateGet UINT32  lineNum  ) 
 

Returns the current state of the given ADSL line.

Note:
The parameter lineNum exists for future Multi-PHY support. Only lineNum = 0 is valid.
Blocking : This call is a non-blocking

Impacts On Global Data: None

Pre-Conditions: Task level calls only.

Post-Conditions: None.

Exceptions: None.

Parameters:
lineNum [in] is the parameter showing which ADSL line is being used.
Returns:
  • IX_ADSL_LINE_STATE_UP_FAST - The line is in show time state.

  • IX_ADSL_LINE_STATE_WAIT_FOR_ACTIVATING - The line is waiting fo the peer to activate.

  • IX_ADSL_LINE_STATE_ACTIVATING - The line is negotiating with its peer.

  • IX_ADSL_LINE_STATE_DOWN - The line is idle.

  • IX_ADSL_LINE_STATE_INVALID - The line is in an unknown state.

ixAdslMemoryUnmap void   ) 
 

This function will unmap the dynamically allocated addresses.

Blocking : This call is non-blocking.

Impacts On Global Data: None

Pre-Conditions: Task level calls only.

Post-Conditions: None.

Exceptions: None.

Parameters:
None 
Returns:
None

ixAdslShow UINT32  lineNum  ) 
 

This function will show the current statistics associated with the given ADSL Line.

Note:
The parameter lineNum exists for future Multi-PHY support. Only lineNum = 0 is valid.
The list of statistics to be shown by IxAdslShow:

  • Controller SW Version
  • ADSL Line State
  • Line Number
  • Upstream and Downstream Rate
  • Training Statistics for Upstream and Downstream Rates
  • ADSL Near End Operational Data such as Upstream Relative Capacity Occupancy, Noise Margin Upstream, Output Pwr Downstream, Attenuation Upstream, Downstream Fast Bitrate, Downstream Interleaved Bitrate, Near-end defect bitmap, Loss of Frame (secs), Loss of Cell delineation (secs), Loss of Signal (secs), Loss of Margin (secs), Errored seconds, HEC and FEC Errors.
  • ADSL Far End Operational Data such as Downstream Relative Capacity Occupancy, Noise Margin Downstream, Output Pwr Upstream, Attenuation Downstream, Upstream Fast Bitrate, Upstream Interleaved Bitrate, Far-end defect bitmap
  • Tx and Rx ATM Cell Counters
Blocking : This call is non-blocking.

Impacts On Global Data: None

Pre-Conditions: Task level calls only.

Post-Conditions: None.

Exceptions: None.

Parameters:
lineNum [in] is the parameter showing which ADSL line is being used.
Returns:
None

ixAdslVendorCodeSet UINT32  lineNum,
UINT8  ixAdslItuVendoridCountrycode,
UINT8  ixAdslItuVendoridVendorcode1,
UINT8  ixAdslItuVendoridVendorcode2,
UINT8  ixAdslItuVendoridVendorcode3,
UINT8  ixAdslItuVendoridVendorcode4,
UINT8  ixAdslItuVendoridVendorspecific1,
UINT8  ixAdslItuVendoridVendorspecific2
 

Set the vendor specific bytes in the given ADSL line.

The vendor ID must be set before the line is open, if not the default vendor ID shall be sent to the peer modem upon request.

Note:

  • Vendor specific values are taken by the phy and linked together to form a single code
  • Note that the parameter lineNum exists for future Multi-PHY support. Only lineNum = 0 is valid.
Blocking : This call is a non-blocking

Impacts On Global Data: Sets an internal ADSL global data structure. This shall be used for all subsequent ADSL line open commands.

Pre-Conditions: Task level calls only.

Post-Conditions: None.

Exceptions: None.

Parameters:
lineNum [in] is the parameter showing which ADSL line is being used.
ixAdslItuVendoridCountrycode [in] is the vendor country code that are predefined in standards.
ixAdslItuVendoridVendorcode1 [in] is the vendor code 1 that are predefined in standards.
ixAdslItuVendoridVendorcode2 [in] is the vendor code 2 that are predefined in standards.
ixAdslItuVendoridVendorcode3 [in] is the vendor code 3 that are predefined in standards.
ixAdslItuVendoridVendorcode4 [in] is the vendor code 4 that are predefined in standards.
ixAdslItuVendoridVendorspecific1 [in] is the vendor specific 1 that are predefined in standards.
ixAdslItuVendoridVendorspecific2 [in] is the vendor specific 2 that are predefined in standards.
Returns:
  • IX_ADSL_STATUS_SUCCESS - Set Vendor Code successful.

  • IX_ADSL_STATUS_FAILED - Set Vendor Code failed because the line is up.

Automatically generated from sources. © Intel Corp. 2003