Main Page Modules Alphabetical List Data Structures File List Data Fields Globals
IXP425 HSS Access (IxHssAcc) APIThe 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
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|