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

IXP425 HSS Access (IxHssAcc) API

The public API for the IXP425 HssAccess component. More...

Data Structures

struct  IxHssAccConfigParams
 Structure containing HSS configuration parameters. More...

struct  IxHssAccHdlcMode
 This structure contains 56Kbps, HDLC-mode configuration parameters. More...

struct  IxHssAccPktHdlcFraming
 This structure contains information required by the NPE to configure the HDLC co-processor. More...

struct  IxHssAccPortConfig
 Structure containing HSS port configuration parameters. More...


Defines

#define IX_HSSACC_TSLOTS_PER_HSS_PORT
 The max number of TDM timeslots supported per HSS port - 4E1's = 32x4 = 128.

#define IX_HSSACC_PARAM_ERR
 HssAccess function return value for a parameter error.

#define IX_HSSACC_RESOURCE_ERR
 HssAccess function return value for a resource error.

#define IX_HSSACC_PKT_DISCONNECTING
 Indicates that a disconnect call is progressing and will disconnect soon.

#define IX_HSSACC_Q_WRITE_OVERFLOW
 Indicates that an attempt to Tx or to replenish an RxFree Q failed due to Q overflow.

#define IX_HSSACC_NO_ERROR
 HSS port no error present.

#define IX_HSSACC_TX_FRM_SYNC_ERR
 HSS port TX Frame Sync error.

#define IX_HSSACC_TX_OVER_RUN_ERR
 HSS port TX over-run error.

#define IX_HSSACC_CHANNELISED_SW_TX_ERR
 NPE software error in channelised TX.

#define IX_HSSACC_PACKETISED_SW_TX_ERR
 NPE software error in packetised TX.

#define IX_HSSACC_RX_FRM_SYNC_ERR
 HSS port RX Frame Sync error.

#define IX_HSSACC_RX_OVER_RUN_ERR
 HSS port RX over-run error.

#define IX_HSSACC_CHANNELISED_SW_RX_ERR
 NPE software error in channelised RX.

#define IX_HSSACC_PACKETISED_SW_RX_ERR
 NPE software error in packetised TX.

#define IX_HSSACC_PKT_MIN_RX_MBUF_SIZE
 Minimum size of the Rx mbuf in bytes which the client must supply to the component.


Typedefs

typedef UINT32 IxHssAccPktUserId
 The client supplied value which will be supplied as a parameter with a given callback.

typedef void(* IxHssAccLastErrorCallback )(unsigned lastHssError, unsigned servicePort)
 Prototype of the clients function to accept notification of the last error.

typedef void(* IxHssAccPktRxCallback )(IX_MBUF *buffer, unsigned numHssErrs, IxHssAccPktStatus pktStatus, IxHssAccPktUserId rxUserId)
 Prototype of the clients function to accept notification of packetised rx.

typedef void(* IxHssAccPktRxFreeLowCallback )(IxHssAccPktUserId rxFreeLowUserId)
 Prototype of the clients function to accept notification of requirement of more Rx Free buffers.

typedef void(* IxHssAccPktTxDoneCallback )(IX_MBUF *buffer, unsigned numHssErrs, IxHssAccPktStatus pktStatus, IxHssAccPktUserId txDoneUserId)
 Prototype of the clients function to accept notification of completion with Tx buffers.

typedef void(* IxHssAccChanRxCallback )(IxHssAccHssPort hssPortId, unsigned rxOffset, unsigned txOffset, unsigned numHssErrs)
 Prototype of the clients function to accept notification of channelised rx.


Enumerations

enum  IxHssAccHssPort {
  IX_HSSACC_HSS_PORT_0,
  IX_HSSACC_HSS_PORT_1,
  IX_HSSACC_HSS_PORT_MAX
}
 The HSS port ID - There are two identical ports (0-1). More...

enum  IxHssAccHdlcPort {
  IX_HSSACC_HDLC_PORT_0,
  IX_HSSACC_HDLC_PORT_1,
  IX_HSSACC_HDLC_PORT_2,
  IX_HSSACC_HDLC_PORT_3,
  IX_HSSACC_HDLC_PORT_MAX
}
 The HDLC port ID - There are four identical HDLC ports (0-3) per HSS port and they correspond to the 4 E1/T1 trunks. More...

enum  IxHssAccTdmSlotUsage {
  IX_HSSACC_TDMMAP_UNASSIGNED,
  IX_HSSACC_TDMMAP_HDLC,
  IX_HSSACC_TDMMAP_VOICE56K,
  IX_HSSACC_TDMMAP_VOICE64K,
  IX_HSSACC_TDMMAP_MAX
}
 The HSS TDM stream timeslot assignment types. More...

enum  IxHssAccFrmSyncType {
  IX_HSSACC_FRM_SYNC_ACTIVE_LOW,
  IX_HSSACC_FRM_SYNC_ACTIVE_HIGH,
  IX_HSSACC_FRM_SYNC_FALLINGEDGE,
  IX_HSSACC_FRM_SYNC_RISINGEDGE,
  IX_HSSACC_FRM_SYNC_TYPE_MAX
}
 The HSS frame sync pulse type. More...

enum  IxHssAccFrmSyncEnable {
  IX_HSSACC_FRM_SYNC_INPUT,
  IX_HSSACC_FRM_SYNC_INVALID_VALUE,
  IX_HSSACC_FRM_SYNC_OUTPUT_FALLING,
  IX_HSSACC_FRM_SYNC_OUTPUT_RISING,
  IX_HSSACC_FRM_SYNC_ENABLE_MAX
}
 The IxHssAccFrmSyncEnable determines how the frame sync pulse is used. More...

enum  IxHssAccClkEdge {
  IX_HSSACC_CLK_EDGE_FALLING,
  IX_HSSACC_CLK_EDGE_RISING,
  IX_HSSACC_CLK_EDGE_MAX
}
 IxHssAccClkEdge is used to determine the clk edge to use for framing and data. More...

enum  IxHssAccClkDir {
  IX_HSSACC_SYNC_CLK_DIR_INPUT,
  IX_HSSACC_SYNC_CLK_DIR_OUTPUT,
  IX_HSSACC_SYNC_CLK_DIR_MAX
}
 The HSS clock direction. More...

enum  IxHssAccFrmPulseUsage {
  IX_HSSACC_FRM_PULSE_ENABLED,
  IX_HSSACC_FRM_PULSE_DISABLED,
  IX_HSSACC_FRM_PULSE_MAX
}
 The HSS frame pulse usage. More...

enum  IxHssAccDataRate {
  IX_HSSACC_CLK_RATE,
  IX_HSSACC_HALF_CLK_RATE,
  IX_HSSACC_DATA_RATE_MAX
}
 The HSS Data rate in relation to the clock. More...

enum  IxHssAccDataPolarity {
  IX_HSSACC_DATA_POLARITY_SAME,
  IX_HSSACC_DATA_POLARITY_INVERT,
  IX_HSSACC_DATA_POLARITY_MAX
}
 The HSS data polarity type. More...

enum  IxHssAccBitEndian {
  IX_HSSACC_LSB_ENDIAN,
  IX_HSSACC_MSB_ENDIAN,
  IX_HSSACC_ENDIAN_MAX
}
 HSS Data endianness. More...

enum  IxHssAccDrainMode {
  IX_HSSACC_TX_PINS_NORMAL,
  IX_HSSACC_TX_PINS_OPEN_DRAIN,
  IX_HSSACC_TX_PINS_MAX
}
 Tx pin open drain mode. More...

enum  IxHssAccSOFType {
  IX_HSSACC_SOF_FBIT,
  IX_HSSACC_SOF_DATA,
  IX_HSSACC_SOF_MAX
}
 HSS start of frame types. More...

enum  IxHssAccDataEnable {
  IX_HSSACC_DE_TRI_STATE,
  IX_HSSACC_DE_DATA,
  IX_HSSACC_DE_MAX
}
 IxHssAccDataEnable is used to determine whether or not to drive the data pins. More...

enum  IxHssAccTxSigType {
  IX_HSSACC_TXSIG_LOW,
  IX_HSSACC_TXSIG_HIGH,
  IX_HSSACC_TXSIG_HIGH_IMP,
  IX_HSSACC_TXSIG_MAX
}
 IxHssAccTxSigType is used to determine how to drive the data pins. More...

enum  IxHssAccFbType {
  IX_HSSACC_FB_FIFO,
  IX_HSSACC_FB_HIGH_IMP,
  IX_HSSACC_FB_MAX
}
 IxHssAccFbType determines how to drive the Fbit. More...

enum  IxHssAcc56kEndianness {
  IX_HSSACC_56KE_BIT_7_UNUSED,
  IX_HSSACC_56KE_BIT_0_UNUSED,
  IX_HSSACC_56KE_MAX
}
 56k data endianness when using the 56k type More...

enum  IxHssAcc56kSel {
  IX_HSSACC_56KS_32_8_DATA,
  IX_HSSACC_56KS_56K_DATA,
  IX_HSSACC_56KS_MAX
}
 56k data transmission type when using the 56k type More...

enum  IxHssAccClkSpeed {
  IX_HSSACC_CLK_SPEED_512KHZ,
  IX_HSSACC_CLK_SPEED_1536KHZ,
  IX_HSSACC_CLK_SPEED_1544KHZ,
  IX_HSSACC_CLK_SPEED_1568KHZ,
  IX_HSSACC_CLK_SPEED_2048KHZ,
  IX_HSSACC_CLK_SPEED_4096KHZ,
  IX_HSSACC_CLK_SPEED_8192KHZ,
  IX_HSSACC_CLK_SPEED_MAX
}
 IxHssAccClkSpeed represents the HSS clock speeds available. More...

enum  IxHssAccPktStatus {
  IX_HSSACC_PKT_OK,
  IX_HSSACC_STOP_SHUTDOWN_ERROR,
  IX_HSSACC_HDLC_ALN_ERROR,
  IX_HSSACC_HDLC_FCS_ERROR,
  IX_HSSACC_RXFREE_Q_EMPTY_ERROR,
  IX_HSSACC_HDLC_MAX_FRAME_SIZE_EXCEEDED,
  IX_HSSACC_HDLC_ABORT_ERROR,
  IX_HSSACC_DISCONNECT_IN_PROGRESS
}
 Indicates the status of packets passed to the client. More...

enum  IxHssAccPktCrcType {
  IX_HSSACC_PKT_16_BIT_CRC,
  IX_HSSACC_PKT_32_BIT_CRC
}
 HDLC CRC type. More...

enum  IxHssAccPktHdlcIdleType {
  IX_HSSACC_HDLC_IDLE_ONES,
  IX_HSSACC_HDLC_IDLE_FLAGS
}
 HDLC idle transmission type. More...


Functions

PUBLIC IX_STATUS ixHssAccPortInit (IxHssAccHssPort hssPortId, IxHssAccConfigParams *configParams, IxHssAccTdmSlotUsage *tdmMap, IxHssAccLastErrorCallback lastHssErrorCallback)
 Initialise a HSS port. No channelised or packetised connections should exist in the HssAccess layer while this interface is being called.

PUBLIC IX_STATUS ixHssAccLastErrorRetrievalInitiate (IxHssAccHssPort hssPortId)
 Initiate the retrieval of the last HSS error. The HSS port should be configured before attempting to call this interface.

PUBLIC IX_STATUS ixHssAccInit (void)
 This function is responsible for initialising resources for use by the packetised and channelised clients. It should be called before any other HssAccess interface is called. No other HssAccPacketised interface should be called while this interface is being processed.

PUBLIC IX_STATUS ixHssAccPktPortConnect (IxHssAccHssPort hssPortId, IxHssAccHdlcPort hdlcPortId, BOOL hdlcFraming, IxHssAccHdlcMode hdlcMode, BOOL hdlcBitInvert, unsigned blockSizeInWords, UINT32 rawIdleBlockPattern, IxHssAccPktHdlcFraming hdlcTxFraming, IxHssAccPktHdlcFraming hdlcRxFraming, unsigned frmFlagStart, IxHssAccPktRxCallback rxCallback, IxHssAccPktUserId rxUserId, IxHssAccPktRxFreeLowCallback rxFreeLowCallback, IxHssAccPktUserId rxFreeLowUserId, IxHssAccPktTxDoneCallback txDoneCallback, IxHssAccPktUserId txDoneUserId)
 This function is responsible for connecting a client to one of the 4 available HDLC ports. The HSS port should be configured before attempting a connect. No other HssAccPacketised interface should be called while this connect is being processed.

PUBLIC IX_STATUS ixHssAccPktPortEnable (IxHssAccHssPort hssPortId, IxHssAccHdlcPort hdlcPortId)
 This function is responsible for enabling a packetised service for the specified HSS/HDLC port combination. It enables the RX flow. The client must have already connected to a packetised service and is responsible for ensuring an adequate amount of RX mbufs have been supplied to the access component before enabling the packetised service. This function must be called on a given port before any call to ixHssAccPktPortTx on the same port. No other HssAccPacketised interface should be called while this interface is being processed.

PUBLIC IX_STATUS ixHssAccPktPortDisable (IxHssAccHssPort hssPortId, IxHssAccHdlcPort hdlcPortId)
 This function is responsible for disabling a packetised service for the specified HSS/HDLC port combination. It disables the RX flow. The client must have already connected to and enabled a packetised service for the specified HDLC port. This disable interface can be called before a disconnect, but is not required to.

PUBLIC IX_STATUS ixHssAccPktPortDisconnect (IxHssAccHssPort hssPortId, IxHssAccHdlcPort hdlcPortId)
 This function is responsible for disconnecting a client from one of the 4 available HDLC ports. It is not required that the Rx Flow has been disabled before calling this function. If the RX Flow has not been disabled, the disconnect will disable it before proceeding with the disconnect. No other HssAccPacketised interface should be called while this interface is being processed.

PUBLIC BOOL ixHssAccPktPortIsDisconnectComplete (IxHssAccHssPort hssPortId, IxHssAccHdlcPort hdlcPortId)
 This function is called to check if a given HSS/HDLC port combination is in a connected state or not. This function may be called at any time to determine a ports state. No other HssAccPacketised interface should be called while this interface is being processed.

PUBLIC IX_STATUS ixHssAccPktPortRxFreeReplenish (IxHssAccHssPort hssPortId, IxHssAccHdlcPort hdlcPortId, IX_MBUF *buffer)
 Function which the client calls at regular intervals to provide mbufs to the access component for RX. A connection should exist for the specified hssPortId/hdlcPortId combination before attempting to call this interface. Also, the connection should not be in a disconnecting state.

PUBLIC IX_STATUS ixHssAccPktPortTx (IxHssAccHssPort hssPortId, IxHssAccHdlcPort hdlcPortId, IX_MBUF *buffer)
 Function which the client calls when it wants to transmit packetised data. An enabled connection should exist on the specified hssPortId/hdlcPortId combination before attempting to call this interface. No other HssAccPacketised interface should be called while this interface is being processed.

PUBLIC IX_STATUS ixHssAccChanConnect (IxHssAccHssPort hssPortId, unsigned bytesPerTSTrigger, UINT8 *rxCircular, unsigned numRxBytesPerTS, UINT32 *txPtrList, unsigned numTxPtrLists, unsigned numTxBytesPerBlk, IxHssAccChanRxCallback rxCallback)
 This function allows the client to connect to the Tx/Rx NPE Channelised Service. There can only be one client per HSS port. The client is responsible for ensuring that the HSS port is configured appropriately before its connect request. No other HssAccChannelised interface should be called while this interface is being processed.

PUBLIC IX_STATUS ixHssAccChanPortEnable (IxHssAccHssPort hssPortId)
 This function is responsible for enabling a channelised service for the specified HSS port. It enables the NPE RX flow. The client must have already connected to a channelised service before enabling the channelised service. No other HssAccChannelised interface should be called while this interface is being processed.

PUBLIC IX_STATUS ixHssAccChanPortDisable (IxHssAccHssPort hssPortId)
 This function is responsible for disabling a channelised service for the specified HSS port. It disables the NPE RX flow. The client must have already connected to and enabled a channelised service for the specified HSS port. This disable interface can be called before a disconnect, but is not required to. No other HssAccChannelised interface should be called while this interface is being processed.

PUBLIC IX_STATUS ixHssAccChanDisconnect (IxHssAccHssPort hssPortId)
 This function allows the client to Disconnect from a channelised service. If the NPE RX Flow has not been disabled, the disconnect will disable it before proceeding with other disconnect functionality. No other HssAccChannelised interface should be called while this interface is being processed.

PUBLIC IX_STATUS ixHssAccChanStatusQuery (IxHssAccHssPort hssPortId, BOOL *dataRecvd, unsigned *rxOffset, unsigned *txOffset, unsigned *numHssErrs)
 This function is called by the client to query whether or not channelised data has been received. If there is, hssChanAcc will return the details in the output parameters. An enabled connection should exist on the specified hssPortId before attempting to call this interface. No other HssAccChannelised interface should be called while this interface is being processed.

PUBLIC void ixHssAccShow (void)
 This function will display the current state of the IxHssAcc component. The output is sent to stdout.

PUBLIC void ixHssAccStatsInit (void)
 This function will reset the IxHssAcc statistics.


Detailed Description

The public API for the IXP425 HssAccess component.

IxHssAcc is the access layer to the HSS packetised and channelised services

Design Notes

  • The mbuf address is to be specified in the least significant 28-bit location [0:27]. The most significant 4-bit [31:29] are for interal use only.
  • When a packet-pipe is configured for 56Kbps RAW mode, byte alignment of the transmitted data is not preserved. All raw data that is transmitted will be received in proper order by the receiver, but the first bit of the packet may be seen at any offset within a byte; all subsequent bytes will have the same offset for the duration of the packet. The same offset also applies to all subsequent packets received on the packet-pipe too. (Similar results will occur for data received from remote end.) While this behavior will also occur for 56Kbps HDLC mode, the HDLC encoding/decoding will preserve the original byte alignment at the receiver end.

56Kbps Packetised Service Bandwidth Limitation

  • IxHssAcc supports 56Kbps packetised service at a maximum aggregate rate for all HSS ports/HDLC channels of 12.288Mbps[1] in each direction, i.e. it supports 56Kbps packetised service on up to 8 T1 trunks. It does not support 56Kbps packetised service on 8 E1 trunks (i.e. 4 trunks per HSS port) unless those trunks are running 'fractional E1' with maximum aggregate rate of 12.288 Mbps in each direction.
    [1] 12.288Mbps = 1.536Mbp * 8 T1

Define Documentation

#define IX_HSSACC_CHANNELISED_SW_RX_ERR
 

NPE software error in channelised RX.

Definition at line 200 of file IxHssAcc.h.

#define IX_HSSACC_CHANNELISED_SW_TX_ERR
 

NPE software error in channelised TX.

Definition at line 172 of file IxHssAcc.h.

#define IX_HSSACC_NO_ERROR
 

HSS port no error present.

Definition at line 151 of file IxHssAcc.h.

#define IX_HSSACC_PACKETISED_SW_RX_ERR
 

NPE software error in packetised TX.

Definition at line 207 of file IxHssAcc.h.

#define IX_HSSACC_PACKETISED_SW_TX_ERR
 

NPE software error in packetised TX.

Definition at line 179 of file IxHssAcc.h.

#define IX_HSSACC_PARAM_ERR
 

HssAccess function return value for a parameter error.

Definition at line 118 of file IxHssAcc.h.

#define IX_HSSACC_PKT_DISCONNECTING
 

Indicates that a disconnect call is progressing and will disconnect soon.

Definition at line 133 of file IxHssAcc.h.

#define IX_HSSACC_PKT_MIN_RX_MBUF_SIZE
 

Minimum size of the Rx mbuf in bytes which the client must supply to the component.

Definition at line 219 of file IxHssAcc.h.

#define IX_HSSACC_Q_WRITE_OVERFLOW
 

Indicates that an attempt to Tx or to replenish an RxFree Q failed due to Q overflow.

Definition at line 141 of file IxHssAcc.h.

#define IX_HSSACC_RESOURCE_ERR
 

HssAccess function return value for a resource error.

Definition at line 125 of file IxHssAcc.h.

#define IX_HSSACC_RX_FRM_SYNC_ERR
 

HSS port RX Frame Sync error.

Definition at line 186 of file IxHssAcc.h.

#define IX_HSSACC_RX_OVER_RUN_ERR
 

HSS port RX over-run error.

Definition at line 193 of file IxHssAcc.h.

#define IX_HSSACC_TSLOTS_PER_HSS_PORT
 

The max number of TDM timeslots supported per HSS port - 4E1's = 32x4 = 128.

Definition at line 106 of file IxHssAcc.h.

#define IX_HSSACC_TX_FRM_SYNC_ERR
 

HSS port TX Frame Sync error.

Definition at line 158 of file IxHssAcc.h.

#define IX_HSSACC_TX_OVER_RUN_ERR
 

HSS port TX over-run error.

Definition at line 165 of file IxHssAcc.h.


Typedef Documentation

IxHssAccChanRxCallback
 

Prototype of the clients function to accept notification of channelised rx.

This callback, if defined by the client in the connect, will get called in the context of an IRQ. The IRQ will be triggered when the hssSyncQMQ is not empty. The queued entry will be dequeued and this function will be executed.

Parameters:
IxHssAccHssPort hssPortId - The HSS port Id. There are two identical ports (0-1).
unsigned txOffset (in) - an offset indicating from where within the txPtrList the NPE is currently transmitting from.
unsigned rxOffset (in) - an offset indicating where within the receive buffers the NPE has just written the received data to.
unsigned numHssErrs (in) - This is the number of hssErrors the Npe has received
Returns:
void

Definition at line 737 of file IxHssAcc.h.

IxHssAccLastErrorCallback
 

Prototype of the clients function to accept notification of the last error.

This function is registered through the config. The client will initiate the last error retrieval. The HssAccess component will send a message to the NPE through the NPE Message Handler. When a response to the read is received, the NPE Message Handler will callback the HssAccess component which will execute this function in the same IxNpeMh context. The client will be passed the last error and the related service port (packetised 0-3, channelised 0)

Parameters:
unsigned lastHssError (in) - The last Hss error registered that has been registered.
unsigned servicePort (in) - This is the service port number. (packetised 0-3, channelised 0)
Returns:
void

Definition at line 646 of file IxHssAcc.h.

IxHssAccPktRxCallback
 

Prototype of the clients function to accept notification of packetised rx.

This function is registered through the ixHssAccPktPortConnect. hssPktAcc will pass received data in the form of mbufs to the client. The mbuf passed back to the client could contain a chain of buffers, depending on the packet size received.

Parameters:
IX_MBUF *buffer (in) - This is the mbuf which contains the payload received.
unsigned numHssErrs (in) - This is the number of hssErrors the Npe has received
IxHssAccPktStatus pktStatus (in) - This is the status of the mbuf that has been received.
IxHssAccPktUserId rxUserId (in) - This is the client supplied value passed in at ixHssAccPktPortConnect time which is now returned to the client.
Returns:
void

Definition at line 670 of file IxHssAcc.h.

IxHssAccPktRxFreeLowCallback
 

Prototype of the clients function to accept notification of requirement of more Rx Free buffers.

The client can choose to register a callback of this type when calling a connecting. This function is registered through the ixHssAccPktPortConnect. If defined, the access layer will provide the trigger for this callback. The callback will be responsible for supplying mbufs to the access layer for use on the receive path from the HSS using ixHssPktAccFreeBufReplenish.

Returns:
void

Definition at line 689 of file IxHssAcc.h.

IxHssAccPktTxDoneCallback
 

Prototype of the clients function to accept notification of completion with Tx buffers.

This function is registered through the ixHssAccPktPortConnect. It enables the hssPktAcc to pass buffers back to the client when transmission is complete.

Parameters:
IX_MBUF *buffer (in) - This is the mbuf which contained the payload that was for Tx.
unsigned numHssErrs (in) - This is the number of hssErrors the Npe has received
IxHssAccPktStatus pktStatus (in) - This is the status of the mbuf that has been transmitted.
IxHssAccPktUserId txDoneUserId (in) - This is the client supplied value passed in at ixHssAccPktPortConnect time which is now returned to the client.
Returns:
void

Definition at line 711 of file IxHssAcc.h.

UINT32 IxHssAccPktUserId
 

The client supplied value which will be supplied as a parameter with a given callback.

This value will be passed into the ixHssAccPktPortConnect function once each with given callbacks. This value will then be passed back to the client as one of the parameters to each of these callbacks, when these callbacks are called.

Definition at line 623 of file IxHssAcc.h.


Enumeration Type Documentation

enum IxHssAcc56kEndianness
 

56k data endianness when using the 56k type

Enumeration values:
IX_HSSACC_56KE_BIT_7_UNUSED  High bit is unused.
IX_HSSACC_56KE_BIT_0_UNUSED  Low bit is unused.
IX_HSSACC_56KE_MAX  Delimiter for error checks.

Definition at line 441 of file IxHssAcc.h.

enum IxHssAcc56kSel
 

56k data transmission type when using the 56k type

Enumeration values:
IX_HSSACC_56KS_32_8_DATA  32/8 bit data
IX_HSSACC_56KS_56K_DATA  56K data
IX_HSSACC_56KS_MAX  Delimiter for error checks.

Definition at line 453 of file IxHssAcc.h.

enum IxHssAccBitEndian
 

HSS Data endianness.

Enumeration values:
IX_HSSACC_LSB_ENDIAN  TX/RX Least Significant Bit first.
IX_HSSACC_MSB_ENDIAN  TX/RX Most Significant Bit first.
IX_HSSACC_ENDIAN_MAX  Delimiter for the purposes of error checks.

Definition at line 364 of file IxHssAcc.h.

enum IxHssAccClkDir
 

The HSS clock direction.

Enumeration values:
IX_HSSACC_SYNC_CLK_DIR_INPUT  Clock is an input.
IX_HSSACC_SYNC_CLK_DIR_OUTPUT  Clock is an output.
IX_HSSACC_SYNC_CLK_DIR_MAX  Delimiter for error checks.

Definition at line 314 of file IxHssAcc.h.

enum IxHssAccClkEdge
 

IxHssAccClkEdge is used to determine the clk edge to use for framing and data.

Enumeration values:
IX_HSSACC_CLK_EDGE_FALLING  Clock sampled off a falling edge.
IX_HSSACC_CLK_EDGE_RISING  Clock sampled off a rising edge.
IX_HSSACC_CLK_EDGE_MAX  Delimiter for error checks.

Definition at line 302 of file IxHssAcc.h.

enum IxHssAccClkSpeed
 

IxHssAccClkSpeed represents the HSS clock speeds available.

Enumeration values:
IX_HSSACC_CLK_SPEED_512KHZ  512KHz
IX_HSSACC_CLK_SPEED_1536KHZ  1.536MHz
IX_HSSACC_CLK_SPEED_1544KHZ  1.544MHz
IX_HSSACC_CLK_SPEED_1568KHZ  1.568MHz
IX_HSSACC_CLK_SPEED_2048KHZ  2.048MHz
IX_HSSACC_CLK_SPEED_4096KHZ  4.096MHz
IX_HSSACC_CLK_SPEED_8192KHZ  8.192MHz
IX_HSSACC_CLK_SPEED_MAX  Delimiter for error checking.

Definition at line 466 of file IxHssAcc.h.

enum IxHssAccDataEnable
 

IxHssAccDataEnable is used to determine whether or not to drive the data pins.

Enumeration values:
IX_HSSACC_DE_TRI_STATE  TRI-State the data pins.
IX_HSSACC_DE_DATA  Push data out the data pins.
IX_HSSACC_DE_MAX  Delimiter for error checks.

Definition at line 402 of file IxHssAcc.h.

enum IxHssAccDataPolarity
 

The HSS data polarity type.

Enumeration values:
IX_HSSACC_DATA_POLARITY_SAME  Don't invert data between NPE and HSS FIFOs.
IX_HSSACC_DATA_POLARITY_INVERT  Invert data between NPE and HSS FIFOs.
IX_HSSACC_DATA_POLARITY_MAX  Delimiter for error checks.

Definition at line 350 of file IxHssAcc.h.

enum IxHssAccDataRate
 

The HSS Data rate in relation to the clock.

Enumeration values:
IX_HSSACC_CLK_RATE  Data rate is at the configured clk speed.
IX_HSSACC_HALF_CLK_RATE  Data rate is half the configured clk speed.
IX_HSSACC_DATA_RATE_MAX  Delimiter for error checks.

Definition at line 338 of file IxHssAcc.h.

enum IxHssAccDrainMode
 

Tx pin open drain mode.

Enumeration values:
IX_HSSACC_TX_PINS_NORMAL  Normal mode.
IX_HSSACC_TX_PINS_OPEN_DRAIN  Open Drain mode.
IX_HSSACC_TX_PINS_MAX  Delimiter for error checks.

Definition at line 377 of file IxHssAcc.h.

enum IxHssAccFbType
 

IxHssAccFbType determines how to drive the Fbit.

Warning:
This will only be used for T1 @ 1.544MHz
Enumeration values:
IX_HSSACC_FB_FIFO  Fbit is dictated in FIFO.
IX_HSSACC_FB_HIGH_IMP  Fbit is high impedance.
IX_HSSACC_FB_MAX  Delimiter for error checks.

Definition at line 429 of file IxHssAcc.h.

enum IxHssAccFrmPulseUsage
 

The HSS frame pulse usage.

Enumeration values:
IX_HSSACC_FRM_PULSE_ENABLED  Generate/Receive frame pulses.
IX_HSSACC_FRM_PULSE_DISABLED  Disregard frame pulses.
IX_HSSACC_FRM_PULSE_MAX  Delimiter for error checks.

Definition at line 326 of file IxHssAcc.h.

enum IxHssAccFrmSyncEnable
 

The IxHssAccFrmSyncEnable determines how the frame sync pulse is used.

Enumeration values:
IX_HSSACC_FRM_SYNC_INPUT  Frame sync is sampled as an input.
IX_HSSACC_FRM_SYNC_INVALID_VALUE  1 is not used
IX_HSSACC_FRM_SYNC_OUTPUT_FALLING  Frame sync is an output generated off a falling clock edge.
IX_HSSACC_FRM_SYNC_OUTPUT_RISING  Frame sync is an output generated off a rising clock edge.
IX_HSSACC_FRM_SYNC_ENABLE_MAX  Delimiter for error checks.

Definition at line 285 of file IxHssAcc.h.

enum IxHssAccFrmSyncType
 

The HSS frame sync pulse type.

Enumeration values:
IX_HSSACC_FRM_SYNC_ACTIVE_LOW  Frame sync is sampled low.
IX_HSSACC_FRM_SYNC_ACTIVE_HIGH  sampled high
IX_HSSACC_FRM_SYNC_FALLINGEDGE  sampled on a falling edge
IX_HSSACC_FRM_SYNC_RISINGEDGE  sampled on a rising edge
IX_HSSACC_FRM_SYNC_TYPE_MAX  Delimiter for error checks.

Definition at line 271 of file IxHssAcc.h.

enum IxHssAccHdlcPort
 

The HDLC port ID - There are four identical HDLC ports (0-3) per HSS port and they correspond to the 4 E1/T1 trunks.

Enumeration values:
IX_HSSACC_HDLC_PORT_0  HDLC Port 0.
IX_HSSACC_HDLC_PORT_1  HDLC Port 1.
IX_HSSACC_HDLC_PORT_2  HDLC Port 2.
IX_HSSACC_HDLC_PORT_3  HDLC Port 3.
IX_HSSACC_HDLC_PORT_MAX  Delimiter for error checks.

Definition at line 243 of file IxHssAcc.h.

enum IxHssAccHssPort
 

The HSS port ID - There are two identical ports (0-1).

Enumeration values:
IX_HSSACC_HSS_PORT_0  HSS Port 0.
IX_HSSACC_HSS_PORT_1  HSS Port 1.
IX_HSSACC_HSS_PORT_MAX  Delimiter for error checks.

Definition at line 230 of file IxHssAcc.h.

enum IxHssAccPktCrcType
 

HDLC CRC type.

Enumeration values:
IX_HSSACC_PKT_16_BIT_CRC  16 bit CRC is being used
IX_HSSACC_PKT_32_BIT_CRC  32 bit CRC is being used

Definition at line 507 of file IxHssAcc.h.

enum IxHssAccPktHdlcIdleType
 

HDLC idle transmission type.

Enumeration values:
IX_HSSACC_HDLC_IDLE_ONES  idle tx/rx will be a succession of ones
IX_HSSACC_HDLC_IDLE_FLAGS  idle tx/rx will be repeated flags

Definition at line 518 of file IxHssAcc.h.

enum IxHssAccPktStatus
 

Indicates the status of packets passed to the client.

Enumeration values:
IX_HSSACC_PKT_OK  Error free.
IX_HSSACC_STOP_SHUTDOWN_ERROR  Errored due to stop or shutdown occurrance.
IX_HSSACC_HDLC_ALN_ERROR  HDLC alignment error.
IX_HSSACC_HDLC_FCS_ERROR  HDLC Frame Check Sum error.
IX_HSSACC_RXFREE_Q_EMPTY_ERROR  RxFree Q became empty while receiving this packet.
IX_HSSACC_HDLC_MAX_FRAME_SIZE_EXCEEDED  HDLC frame size received is greater than max specified at connect.
IX_HSSACC_HDLC_ABORT_ERROR  HDLC frame received is invalid due to an abort sequence received.
IX_HSSACC_DISCONNECT_IN_PROGRESS  Packet returned because a disconnect is in progress.

Definition at line 483 of file IxHssAcc.h.

enum IxHssAccSOFType
 

HSS start of frame types.

Enumeration values:
IX_HSSACC_SOF_FBIT  Framing bit transmitted and expected on rx.
IX_HSSACC_SOF_DATA  Framing bit not transmitted nor expected on rx.
IX_HSSACC_SOF_MAX  Delimiter for error checks.

Definition at line 389 of file IxHssAcc.h.

enum IxHssAccTdmSlotUsage
 

The HSS TDM stream timeslot assignment types.

Enumeration values:
IX_HSSACC_TDMMAP_UNASSIGNED  Unassigned.
IX_HSSACC_TDMMAP_HDLC  HDLC - packetised.
IX_HSSACC_TDMMAP_VOICE56K  Voice56K - channelised.
IX_HSSACC_TDMMAP_VOICE64K  Voice64K - channelised.
IX_HSSACC_TDMMAP_MAX  Delimiter for error checks.

Definition at line 257 of file IxHssAcc.h.

enum IxHssAccTxSigType
 

IxHssAccTxSigType is used to determine how to drive the data pins.

Enumeration values:
IX_HSSACC_TXSIG_LOW  Drive the data pins low.
IX_HSSACC_TXSIG_HIGH  Drive the data pins high.
IX_HSSACC_TXSIG_HIGH_IMP  Drive the data pins with high impedance.
IX_HSSACC_TXSIG_MAX  Delimiter for error checks.

Definition at line 414 of file IxHssAcc.h.


Function Documentation

IX_STATUS ixHssAccChanConnect IxHssAccHssPort  hssPortId,
unsigned  bytesPerTSTrigger,
UINT8 *  rxCircular,
unsigned  numRxBytesPerTS,
UINT32 *  txPtrList,
unsigned  numTxPtrLists,
unsigned  numTxBytesPerBlk,
IxHssAccChanRxCallback  rxCallback
 

This function allows the client to connect to the Tx/Rx NPE Channelised Service. There can only be one client per HSS port. The client is responsible for ensuring that the HSS port is configured appropriately before its connect request. No other HssAccChannelised interface should be called while this interface is being processed.

Parameters:
IxHssAccHssPort hssPortId (in) - The HSS port Id. There are two identical ports (0-1).
unsigned bytesPerTSTrigger (in) - The NPE will trigger the access component after bytesPerTSTrigger have been received for all trunk timeslots. This figure is a multiple of 8 e.g. 8 for 1ms trigger, 16 for 2ms trigger.
UINT8 *rxCircular (in) - A pointer to memory allocated by the client to be filled by data received. The buffer at this address is part of a pool of buffers to be accessed in a circular fashion. This address will be written to by the NPE. Therefore, it needs to be a physical address.
unsigned numRxBytesPerTS (in) - The number of bytes allocated per timeslot within the receive memory. This figure will depend on the latency of the system. It needs to be deep enough for data to be read by the client before the NPE re-writes over that memory e.g. if the client samples at a rate of 40bytes per timeslot, numRxBytesPerTS may need to be 40bytes * 3. This would give the client 3 * 5ms of time before received data is over-written.
UINT32 *txPtrList (in) - The address of an area of contiguous memory allocated by the client to be populated with pointers to data for transmission. Each pointer list contains a pointer per active channel. The txPtrs will point to data to be transmitted by the NPE. Therefore, they must point to physical addresses.
unsigned numTxPtrLists (in) - The number of pointer lists in txPtrList. This figure is dependent on jitter.
unsigned numTxBytesPerBlk (in) - The size of the Tx data, in bytes, that each pointer within the PtrList points to.
IxHssAccChanRxCallback rxCallback (in) - A client function pointer to be called back to handle the actual tx/rx of channelised data. If this is not NULL, an ISR will call this function. If this pointer is NULL, it implies that the client will use a polling mechanism to detect when the tx and rx of channelised data is to occur. The client will use hssChanAccStatus for this.
Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_PARAM_ERR The function did not execute successfully due to a parameter error

IX_STATUS ixHssAccChanDisconnect IxHssAccHssPort  hssPortId  ) 
 

This function allows the client to Disconnect from a channelised service. If the NPE RX Flow has not been disabled, the disconnect will disable it before proceeding with other disconnect functionality. No other HssAccChannelised interface should be called while this interface is being processed.

Parameters:
IxHssAccHssPort hssPortId(in) - The HSS port Id. There are two identical ports (0-1).
Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_PARAM_ERR The function did not execute successfully due to a parameter error

IX_STATUS ixHssAccChanPortDisable IxHssAccHssPort  hssPortId  ) 
 

This function is responsible for disabling a channelised service for the specified HSS port. It disables the NPE RX flow. The client must have already connected to and enabled a channelised service for the specified HSS port. This disable interface can be called before a disconnect, but is not required to. No other HssAccChannelised interface should be called while this interface is being processed.

Parameters:
IxHssAccHssPort hssPortId (in) - The HSS port Id. There are two identical ports (0-1).
Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_PARAM_ERR The function did not execute successfully due to a parameter error

IX_STATUS ixHssAccChanPortEnable IxHssAccHssPort  hssPortId  ) 
 

This function is responsible for enabling a channelised service for the specified HSS port. It enables the NPE RX flow. The client must have already connected to a channelised service before enabling the channelised service. No other HssAccChannelised interface should be called while this interface is being processed.

Parameters:
IxHssAccHssPort hssPortId (in) - The HSS port Id. There are two identical ports (0-1).
Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_PARAM_ERR The function did not execute successfully due to a parameter error

IX_STATUS ixHssAccChanStatusQuery IxHssAccHssPort  hssPortId,
BOOL *  dataRecvd,
unsigned *  rxOffset,
unsigned *  txOffset,
unsigned *  numHssErrs
 

This function is called by the client to query whether or not channelised data has been received. If there is, hssChanAcc will return the details in the output parameters. An enabled connection should exist on the specified hssPortId before attempting to call this interface. No other HssAccChannelised interface should be called while this interface is being processed.

Parameters:
IxHssAccHssPort hssPortId (in) - The HSS port Id. There are two identical ports (0-1).
BOOL *dataRecvd (out) - This BOOL indicates to the client whether or not the access component has read any data for the client. If FALSE, the other output parameters will not have been written to.
unsigned *rxOffset (out) - An offset to indicate to the client where within the receive buffers the NPE has just written the received data to.
unsigned *txOffset (out) - An offset to indicate to the client from where within the txPtrList the NPE is currently transmitting from
unsigned *numHssErrs (out) - The total number of HSS port errors since initial port configuration
Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_PARAM_ERR The function did not execute successfully due to a parameter error

IX_STATUS ixHssAccInit void   ) 
 

This function is responsible for initialising resources for use by the packetised and channelised clients. It should be called before any other HssAccess interface is called. No other HssAccPacketised interface should be called while this interface is being processed.

Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_RESOURCE_ERR The function did not execute successfully due to a resource error

IX_STATUS ixHssAccLastErrorRetrievalInitiate IxHssAccHssPort  hssPortId  ) 
 

Initiate the retrieval of the last HSS error. The HSS port should be configured before attempting to call this interface.

Parameters:
IxHssAccHssPort hssPortId (in) - the HSS port ID
Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_PARAM_ERR The function did not execute successfully due to a parameter error

ixHssAccPktPortConnect IxHssAccHssPort  hssPortId,
IxHssAccHdlcPort  hdlcPortId,
BOOL  hdlcFraming,
IxHssAccHdlcMode  hdlcMode,
BOOL  hdlcBitInvert,
unsigned  blockSizeInWords,
UINT32  rawIdleBlockPattern,
IxHssAccPktHdlcFraming  hdlcTxFraming,
IxHssAccPktHdlcFraming  hdlcRxFraming,
unsigned  frmFlagStart,
IxHssAccPktRxCallback  rxCallback,
IxHssAccPktUserId  rxUserId,
IxHssAccPktRxFreeLowCallback  rxFreeLowCallback,
IxHssAccPktUserId  rxFreeLowUserId,
IxHssAccPktTxDoneCallback  txDoneCallback,
IxHssAccPktUserId  txDoneUserId
 

This function is responsible for connecting a client to one of the 4 available HDLC ports. The HSS port should be configured before attempting a connect. No other HssAccPacketised interface should be called while this connect is being processed.

Parameters:
IxHssAccHssPort hssPortId (in) - The HSS port Id. There are two identical ports (0-1).
IxHssAccHdlcPort hdlcPortId (in) - This is the number of the HDLC port and it corresponds to the physical E1/T1 trunk i.e. 0, 1, 2, 3
BOOL hdlcFraming (in) - This value determines whether the service will use HDLC data or the debug, raw data type i.e. no HDLC processing
IxHssAccHdlcMode hdlcMode (in) - This structure contains 56Kbps, HDLC-mode configuration parameters
BOOL hdlcBitInvert (in) - This value determines whether bit inversion will occur between HDLC and HSS co-processors i.e. post-HDLC processing for transmit and pre-HDLC processing for receive, for the specified HDLC Termination Point
unsigned blockSizeInWords (in) - The max tx/rx block size
UINT32 rawIdleBlockPattern (in) - Tx idle pattern in raw mode
IxHssAccHdlcFraming hdlcTxFraming (in) - This structure contains the following information required by the NPE to configure the HDLC co-processor for TX
IxHssAccHdlcFraming hdlcRxFraming (in) - This structure contains the following information required by the NPE to configure the HDLC co-processor for RX
unsigned frmFlagStart - Number of flags to precede to transmitted flags (0-2).
IxHssAccPktRxCallback rxCallback (in) - Pointer to the clients packet receive function.
IxHssAccPktUserId rxUserId (in) - The client supplied rx value to be passed back as an argument to the supplied rxCallback
IxHssAccPktRxFreeLowCallback rxFreeLowCallback (in) - Pointer to the clients Rx free buffer request function. If NULL, assume client will trigger independently.
IxHssAccPktUserId rxFreeLowUserId (in) - The client supplied RxFreeLow value to be passed back as an argument to the supplied rxFreeLowCallback
IxHssAccPktTxDoneCallback txDoneCallback (in) - Pointer to the clients Tx done callback function
IxHssAccPktUserId txDoneUserId (in) - The client supplied txDone value to be passed back as an argument to the supplied txDoneCallback
Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_PARAM_ERR The function did not execute successfully due to a parameter error
  • IX_HSSACC_RESOURCE_ERR The function did not execute successfully due to a resource error

IX_STATUS ixHssAccPktPortDisable IxHssAccHssPort  hssPortId,
IxHssAccHdlcPort  hdlcPortId
 

This function is responsible for disabling a packetised service for the specified HSS/HDLC port combination. It disables the RX flow. The client must have already connected to and enabled a packetised service for the specified HDLC port. This disable interface can be called before a disconnect, but is not required to.

Parameters:
IxHssAccHssPort hssPortId (in) - The HSS port Id. There are two identical ports (0-1).
IxHssAccHdlcPort hdlcPortId (in) - The port id (0,1,2,3) to disable the service on.
Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_PARAM_ERR The function did not execute successfully due to a parameter error

IX_STATUS ixHssAccPktPortDisconnect IxHssAccHssPort  hssPortId,
IxHssAccHdlcPort  hdlcPortId
 

This function is responsible for disconnecting a client from one of the 4 available HDLC ports. It is not required that the Rx Flow has been disabled before calling this function. If the RX Flow has not been disabled, the disconnect will disable it before proceeding with the disconnect. No other HssAccPacketised interface should be called while this interface is being processed.

Parameters:
IxHssAccHssPort hssPortId (in) - The HSS port Id. There are two identical ports (0-1).
IxHssAccHdlcPort hdlcPortId (in) - This is the number of the HDLC port to disconnect and it corresponds to the physical E1/T1 trunk i.e. 0, 1, 2, 3
Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_PKT_DISCONNECTING The function has initiated the disconnecting procedure but it has not completed yet.

IX_STATUS ixHssAccPktPortEnable IxHssAccHssPort  hssPortId,
IxHssAccHdlcPort  hdlcPortId
 

This function is responsible for enabling a packetised service for the specified HSS/HDLC port combination. It enables the RX flow. The client must have already connected to a packetised service and is responsible for ensuring an adequate amount of RX mbufs have been supplied to the access component before enabling the packetised service. This function must be called on a given port before any call to ixHssAccPktPortTx on the same port. No other HssAccPacketised interface should be called while this interface is being processed.

Parameters:
IxHssAccHssPort hssPortId (in) - The HSS port Id. There are two identical ports (0-1).
IxHssAccHdlcPort hdlcPortId (in) - The port id (0,1,2,3) to enable the service on.
Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_PARAM_ERR The function did not execute successfully due to a parameter error

BOOL ixHssAccPktPortIsDisconnectComplete IxHssAccHssPort  hssPortId,
IxHssAccHdlcPort  hdlcPortId
 

This function is called to check if a given HSS/HDLC port combination is in a connected state or not. This function may be called at any time to determine a ports state. No other HssAccPacketised interface should be called while this interface is being processed.

Parameters:
IxHssAccHssPort hssPortId (in) - The HSS port Id. There are two identical ports (0-1).
IxHssAccHdlcPort hdlcPortId (in) - This is the number of the HDLC port to disconnect and it corresponds to the physical E1/T1 trunk i.e. 0, 1, 2, 3
Returns:
  • TRUE The state of this HSS/HDLC port combination is disconnected, so if a disconnect was called, it is now completed.
  • FALSE The state of this HSS/HDLC port combination is connected, so if a disconnect was called, it is not yet completed.

IX_STATUS ixHssAccPktPortRxFreeReplenish IxHssAccHssPort  hssPortId,
IxHssAccHdlcPort  hdlcPortId,
IX_MBUF *  buffer
 

Function which the client calls at regular intervals to provide mbufs to the access component for RX. A connection should exist for the specified hssPortId/hdlcPortId combination before attempting to call this interface. Also, the connection should not be in a disconnecting state.

Parameters:
IxHssAccHssPort hssPortId (in) - The HSS port Id. There are two identical ports (0-1).
IxHssAccHdlcPort hdlcPortId (in) - This is the number of the HDLC port and it corresponds to the physical E1/T1 trunk i.e. 0, 1, 2, 3
IX_MBUF *buffer (in) - A pointer to a free mbuf to filled with payload.
Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_PARAM_ERR The function did not execute successfully due to a parameter error
  • IX_HSSACC_RESOURCE_ERR The function did not execute successfully due to a resource error
  • IX_HSSACC_Q_WRITE_OVERFLOW The function did not succeed due to a Q overflow

IX_STATUS ixHssAccPktPortTx IxHssAccHssPort  hssPortId,
IxHssAccHdlcPort  hdlcPortId,
IX_MBUF *  buffer
 

Function which the client calls when it wants to transmit packetised data. An enabled connection should exist on the specified hssPortId/hdlcPortId combination before attempting to call this interface. No other HssAccPacketised interface should be called while this interface is being processed.

Parameters:
IxHssAccHssPort hssPortId (in) - The HSS port Id. There are two identical ports (0-1).
IxHssAccHdlcPort hdlcPortId (in) - This is the number of the HDLC port and it corresponds to the physical E1/T1 trunk i.e. 0, 1, 2, 3
IX_MBUF *buffer (in) - A pointer to a chain of mbufs which the client has filled with the payload
Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_PARAM_ERR The function did not execute successfully due to a parameter error
  • IX_HSSACC_RESOURCE_ERR The function did not execute successfully due to a resource error. See note.
  • IX_HSSACC_Q_WRITE_OVERFLOW The function did not succeed due to a Q overflow
Note:
IX_HSSACC_RESOURCE_ERR is returned when a free descriptor cannot be obtained to send the chain of mbufs to the NPE. This is a normal scenario. HssAcc has a pool of descriptors and this error means that they are currently all in use. The recommended approach to this is to retry until a descriptor becomes free and the packet is successfully transmitted. Alternatively, the user could wait until the next IxHssAccPktTxDoneCallback callback is triggered, and then retry, as it is this event that causes a transmit descriptor to be freed.

IX_STATUS ixHssAccPortInit IxHssAccHssPort  hssPortId,
IxHssAccConfigParams configParams,
IxHssAccTdmSlotUsage tdmMap,
IxHssAccLastErrorCallback  lastHssErrorCallback
 

Initialise a HSS port. No channelised or packetised connections should exist in the HssAccess layer while this interface is being called.

Parameters:
IxHssAccHssPort hssPortId (in) - The HSS port Id. There are two identical ports (0-1).
IxHssAccConfigParams *configParams (in) - A pointer to the HSS configuration structure
IxHssAccTdmSlotUsage *tdmMap (in) - A pointer to an array of size IX_HSSACC_TSLOTS_PER_HSS_PORT, defining the slot usage over the HSS port
IxHssAccLastErrorCallback lastHssErrorCallback (in) - Client callback to report last error
Returns:
  • IX_SUCCESS The function executed successfully
  • IX_FAIL The function did not execute successfully
  • IX_HSSACC_PARAM_ERR The function did not execute successfully due to a parameter error

void ixHssAccShow void   ) 
 

This function will display the current state of the IxHssAcc component. The output is sent to stdout.

Returns:
void

void ixHssAccStatsInit void   ) 
 

This function will reset the IxHssAcc statistics.

Returns:
void

Automatically generated from sources. © Intel Corp. 2003