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

IxAtmdAcc.h

Go to the documentation of this file.
00001 
00058 /* ------------------------------------------------------
00059    Doxygen group definitions
00060    ------------------------------------------------------ */
00061 
00113 #ifndef IXATMDACC_H
00114 #define IXATMDACC_H
00115 
00116 #include "IxAtmTypes.h"
00117 
00118 /* ------------------------------------------------------
00119    AtmdAcc Data Types definition
00120    ------------------------------------------------------ */
00121 
00133 #define IX_ATMDACC_WARNING 2
00134 
00148 #define IX_ATMDACC_BUSY 3
00149 
00164 #define IX_ATMDACC_RESOURCES_STILL_ALLOCATED 4
00165 
00179 #define IX_ATMDACC_DEFAULT_REPLENISH_COUNT 0
00180 
00181 
00195 #define IX_ATMDACC_OAM_TX_VPI 0
00196 
00208 #define IX_ATMDACC_OAM_TX_VCI 0
00209 
00210 
00220 #define IX_ATMDACC_OAM_RX_PORT IX_UTOPIA_PORT_0
00221 
00232 #define IX_ATMDACC_OAM_RX_VPI 0
00233 
00244 #define IX_ATMDACC_OAM_RX_VCI 0
00245 
00246 
00259 typedef enum
00260 {
00261     IX_ATMDACC_AAL0_VALID = 0,    
00262     IX_ATMDACC_OAM_VALID,         
00263     IX_ATMDACC_AAL2_VALID,        
00264     IX_ATMDACC_AAL5_VALID,        
00265     IX_ATMDACC_AAL5_PARTIAL,      
00266     IX_ATMDACC_AAL5_CRC_ERROR,    
00267     IX_ATMDACC_MBUF_RETURN        
00268 } IxAtmdAccPduStatus;
00269 
00270 
00282 typedef enum
00283 {
00284     IX_ATMDACC_AAL5,                
00285     IX_ATMDACC_AAL2,                
00286     IX_ATMDACC_AAL0_48,             
00287     IX_ATMDACC_AAL0_52,             
00288     IX_ATMDACC_OAM,                 
00289     IX_ATMDACC_MAX_SERVICE_TYPE     
00290 } IxAtmdAccAalType;
00291 
00303 typedef enum
00304 {
00305     IX_ATMDACC_CLP_NOT_SET = 0,     
00306     IX_ATMDACC_CLP_SET = 1     
00307 } IxAtmdAccClpStatus;
00308 
00327 typedef unsigned int IxAtmdAccUserId;
00328 
00329 /* ------------------------------------------------------
00330    Part of the IxAtmdAcc interface related to RX traffic
00331    ------------------------------------------------------ */
00332 
00375 typedef void (*IxAtmdAccRxVcRxCallback) (IxAtmLogicalPort port,
00376                        IxAtmdAccUserId userId,
00377                        IxAtmdAccPduStatus status,
00378                        IxAtmdAccClpStatus clp,
00379                        IX_MBUF * mbufPtr);
00380 
00413 typedef void (*IxAtmdAccRxVcFreeLowCallback) (IxAtmdAccUserId userId);
00414 
00415 /* ------------------------------------------------------
00416    Part of the IxAtmdAcc interface related to TX traffic
00417    ------------------------------------------------------ */
00418 
00438 typedef void (*IxAtmdAccTxVcBufferReturnCallback) (IxAtmdAccUserId userId,
00439                         IX_MBUF * mbufPtr);
00440 
00441 /* ------------------------------------------------------
00442    Part of the IxAtmdAcc interface related to Initialisation
00443    ------------------------------------------------------ */
00444 
00474 PUBLIC IX_STATUS ixAtmdAccInit (void);
00475 
00490 PUBLIC void
00491 ixAtmdAccShow (void);
00492 
00507 PUBLIC void
00508 ixAtmdAccStatsShow (void);
00509 
00523 PUBLIC void
00524 ixAtmdAccStatsReset (void);
00525 
00526 /* ------------------------------------------------------
00527    Part of the IxAtmdAcc interface related to RX traffic
00528    ------------------------------------------------------ */
00529 
00652 PUBLIC IX_STATUS ixAtmdAccRxVcConnect (IxAtmLogicalPort port,
00653                       unsigned int vpi,
00654                       unsigned int vci,
00655                       IxAtmdAccAalType aalServiceType,
00656                       IxAtmRxQueueId rxQueueId,
00657                       IxAtmdAccUserId userCallbackId,
00658                       IxAtmdAccRxVcRxCallback rxCallback,
00659                       unsigned int minimumReplenishCount,
00660                       IxAtmConnId * connIdPtr,
00661                       IxAtmNpeRxVcId * npeVcIdPtr );
00662 
00746 PUBLIC IX_STATUS ixAtmdAccRxVcFreeReplenish (IxAtmConnId connId,
00747                         IX_MBUF * mbufPtr);
00748 
00793 PUBLIC IX_STATUS ixAtmdAccRxVcFreeLowCallbackRegister (IxAtmConnId connId,
00794     unsigned int numberOfMbufs,
00795     IxAtmdAccRxVcFreeLowCallback callback);
00796 
00830 PUBLIC IX_STATUS ixAtmdAccRxVcFreeEntriesQuery (IxAtmConnId connId,
00831                          unsigned int *numberOfMbufsPtr);
00832 
00878 PUBLIC IX_STATUS ixAtmdAccRxVcEnable (IxAtmConnId connId);
00879 
00918 PUBLIC IX_STATUS ixAtmdAccRxVcDisable (IxAtmConnId connId);
00919 
00949 PUBLIC IX_STATUS ixAtmdAccRxVcTryDisconnect (IxAtmConnId connId);
00950 
00951 /* ------------------------------------------------------
00952    Part of the IxAtmdAcc interface related to TX traffic
00953    ------------------------------------------------------ */
00954 
01050 PUBLIC IX_STATUS ixAtmdAccTxVcConnect (IxAtmLogicalPort port,
01051                       unsigned int vpi,
01052                       unsigned int vci,
01053                       IxAtmdAccAalType aalServiceType,
01054                       IxAtmdAccUserId userId,
01055                       IxAtmdAccTxVcBufferReturnCallback bufferFreeCallback,
01056                       IxAtmConnId * connIdPtr);
01057 
01146 PUBLIC IX_STATUS ixAtmdAccTxVcPduSubmit (IxAtmConnId connId,
01147                     IX_MBUF * mbufPtr,
01148                     IxAtmdAccClpStatus clp,
01149                     unsigned int numberOfCells);
01150 
01192 PUBLIC IX_STATUS ixAtmdAccTxVcTryDisconnect (IxAtmConnId connId);
01193 
01194 #endif /* IXATMDACC_H */
01195 
Automatically generated from sources. © Intel Corp. 2003