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

IxAtmdAcc.h File Reference

IxAtmdAcc Public API. More...

Go to the source code of this file.

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.


Detailed Description

IxAtmdAcc Public API.

Date:
07-Nov-2001

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.

Version:
Revision
1.48
-- Intel Copyright Notice --
Copyright 2001-2003 Intel Corporation All Rights Reserved.
The source code contained or described herein and all documents related to the source code ("Material") are owned by Intel Corporation or its suppliers or licensors. Title to the Material remains with Intel Corporation or its suppliers and licensors.
The Material is protected by worldwide copyright and trade secret laws and treaty provisions. No part of the Material may be used, copied, reproduced, modified, published, uploaded, posted, transmitted, distributed, or disclosed in any way except in accordance with the applicable license agreement .
No license under any patent, copyright, trade secret or other intellectual property right is granted to or conferred upon you by disclosure or delivery of the Materials, either expressly, by implication, inducement, estoppel, except in accordance with the applicable license agreement.
Unless otherwise agreed by Intel in writing, you may not remove or alter this notice or any other notice embedded in Materials by Intel or Intel's suppliers or licensors in any way.
For further details, please see the file README.TXT distributed with this software.
-- End Intel Copyright Notice --

Definition in file IxAtmdAcc.h.

Automatically generated from sources. © Intel Corp. 2003