|
Defines |
#define | IX_ATMDACC_WARNING |
| Warning return code.
|
#define | IX_ATMDACC_BUSY |
| Busy return code.
|
#define | IX_ATMDACC_RESOURCES_STILL_ALLOCATED |
| Disconnect return code.
|
#define | IX_ATMDACC_DEFAULT_REPLENISH_COUNT |
| Default resources usage for RxVcFree replenish mechanism.
|
#define | IX_ATMDACC_OAM_TX_VPI |
| The reserved value used for the dedicated OAM Tx connection. This "well known" value is used by atmdAcc and its clients to dsicriminate the OAM channel, and should be chosen so that it does not coencide with the VPI value used in an AAL0/AAL5 connection. Any attempt to connect a service type other than OAM on this VPI will fail.
|
#define | IX_ATMDACC_OAM_TX_VCI |
| The reserved value used for the dedicated OAM Tx connection. This "well known" value is used by atmdAcc and its clients to dsicriminate the OAM channel, and should be chosen so that it does not coencide with the VCI value used in an AAL0/AAL5 connection. Any attempt to connect a service type other than OAM on this VCI will fail.
|
#define | IX_ATMDACC_OAM_RX_PORT |
| The reserved dummy PORT used for all dedicated OAM Rx connections. Note that this is not a real port but must have a value that lies within the valid range of port values.
|
#define | IX_ATMDACC_OAM_RX_VPI |
| The reserved value value used for the dedicated OAM Rx connection. This value should be chosen so that it does not coencide with the VPI value used in an AAL0/AAL5 connection. Any attempt to connect a service type other than OAM on this VPI will fail.
|
#define | IX_ATMDACC_OAM_RX_VCI |
| The reserved value value used for the dedicated OAM Rx connection. This value should be chosen so that it does not coencide with the VCI value used in an AAL0/AAL5 connection. Any attempt to connect a service type other than OAM on this VCI will fail.
|
Typedefs |
typedef unsigned int | IxAtmdAccUserId |
| User-supplied Id.
|
typedef void(* | IxAtmdAccRxVcRxCallback )(IxAtmLogicalPort port, IxAtmdAccUserId userId, IxAtmdAccPduStatus status, IxAtmdAccClpStatus clp, IX_MBUF *mbufPtr) |
| Rx callback prototype.
|
typedef void(* | IxAtmdAccRxVcFreeLowCallback )(IxAtmdAccUserId userId) |
| Callback prototype for free buffer level is low.
|
typedef void(* | IxAtmdAccTxVcBufferReturnCallback )(IxAtmdAccUserId userId, IX_MBUF *mbufPtr) |
| Buffer callback prototype.
|
Enumerations |
enum | IxAtmdAccPduStatus {
IX_ATMDACC_AAL0_VALID,
IX_ATMDACC_OAM_VALID,
IX_ATMDACC_AAL2_VALID,
IX_ATMDACC_AAL5_VALID,
IX_ATMDACC_AAL5_PARTIAL,
IX_ATMDACC_AAL5_CRC_ERROR,
IX_ATMDACC_MBUF_RETURN
} |
| IxAtmdAcc Pdu status :. More...
|
enum | IxAtmdAccAalType {
IX_ATMDACC_AAL5,
IX_ATMDACC_AAL2,
IX_ATMDACC_AAL0_48,
IX_ATMDACC_AAL0_52,
IX_ATMDACC_OAM,
IX_ATMDACC_MAX_SERVICE_TYPE
} |
| IxAtmdAcc AAL Service Type :. More...
|
enum | IxAtmdAccClpStatus {
IX_ATMDACC_CLP_NOT_SET,
IX_ATMDACC_CLP_SET
} |
| IxAtmdAcc CLP indication. More...
|
Functions |
PUBLIC IX_STATUS | ixAtmdAccInit (void) |
| Initialise the IxAtmdAcc Component.
|
PUBLIC void | ixAtmdAccShow (void) |
| Show IxAtmdAcc configuration on a per port basis.
|
PUBLIC void | ixAtmdAccStatsShow (void) |
| Show all IxAtmdAcc stats.
|
PUBLIC void | ixAtmdAccStatsReset (void) |
| Reset all IxAtmdAcc stats.
|
PUBLIC IX_STATUS | ixAtmdAccRxVcConnect (IxAtmLogicalPort port, unsigned int vpi, unsigned int vci, IxAtmdAccAalType aalServiceType, IxAtmRxQueueId rxQueueId, IxAtmdAccUserId userCallbackId, IxAtmdAccRxVcRxCallback rxCallback, unsigned int minimumReplenishCount, IxAtmConnId *connIdPtr, IxAtmNpeRxVcId *npeVcIdPtr) |
| Connect to a Aal Pdu receive service for a particular port/vpi/vci, and service type.
|
PUBLIC IX_STATUS | ixAtmdAccRxVcFreeReplenish (IxAtmConnId connId, IX_MBUF *mbufPtr) |
| Provide free mbufs for data reception on a connection.
|
PUBLIC IX_STATUS | ixAtmdAccRxVcFreeLowCallbackRegister (IxAtmConnId connId, unsigned int numberOfMbufs, IxAtmdAccRxVcFreeLowCallback callback) |
| Configure the RX Free threshold value and register a callback to handle threshold notifications.
|
PUBLIC IX_STATUS | ixAtmdAccRxVcFreeEntriesQuery (IxAtmConnId connId, unsigned int *numberOfMbufsPtr) |
| Get the number of rx mbufs the system can accept to replenish the the rx reception mechanism on a particular channel.
|
PUBLIC IX_STATUS | ixAtmdAccRxVcEnable (IxAtmConnId connId) |
| Start the RX service on a VC.
|
PUBLIC IX_STATUS | ixAtmdAccRxVcDisable (IxAtmConnId connId) |
| Stop the RX service on a VC.
|
PUBLIC IX_STATUS | ixAtmdAccRxVcTryDisconnect (IxAtmConnId connId) |
| Disconnect a VC from the RX service.
|
PUBLIC IX_STATUS | ixAtmdAccTxVcConnect (IxAtmLogicalPort port, unsigned int vpi, unsigned int vci, IxAtmdAccAalType aalServiceType, IxAtmdAccUserId userId, IxAtmdAccTxVcBufferReturnCallback bufferFreeCallback, IxAtmConnId *connIdPtr) |
| Connect to a Aal Pdu transmit service for a particular port/vpi/vci and service type.
|
PUBLIC IX_STATUS | ixAtmdAccTxVcPduSubmit (IxAtmConnId connId, IX_MBUF *mbufPtr, IxAtmdAccClpStatus clp, unsigned int numberOfCells) |
| Submit a Pdu for transmission on connection.
|
PUBLIC IX_STATUS | ixAtmdAccTxVcTryDisconnect (IxAtmConnId connId) |
| Disconnect from a Aal Pdu transmit service for a particular port/vpi/vci.
|
This file contains the public API of IxAtmdAcc, related to the data functions of the component
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.