Main Page Modules Alphabetical List Data Structures File List Data Fields Globals # IxAtmm.h Go to the documentation of this file.
    00001
    00058 #ifndef IXATMM_H
    00059 #define IXATMM_H
    00060
    00061 /*
    00062  * Put the user defined include files required
    00063  */
    00064 #include "IxAtmSch.h"
    00065 #include "IxTypes.h"
    00066
    00067 /*
    00068  * #defines and macros used in this file.
    00069  */
    00070
    00076 #define IX_ATMM_RET_ALREADY_INITIALIZED 2
    00077
    00082 #define IX_ATMM_RET_INVALID_PORT 3
    00083
    00088 #define IX_ATMM_RET_INVALID_VC_DESCRIPTOR 4
    00089
    00095 #define IX_ATMM_RET_VC_CONFLICT 5
    00096
    00103 #define IX_ATMM_RET_PORT_CAPACITY_IS_FULL 6
    00104
    00110 #define IX_ATMM_RET_NO_SUCH_VC 7
    00111
    00116 #define IX_ATMM_RET_INVALID_VC_ID 8
    00117
    00122 #define IX_ATMM_RET_INVALID_PARAM_PTR 9
    00123
    00128 #define IX_ATMM_UTOPIA_SPHY_ADDR 31
    00129
    00130 /*
    00131  * Typedefs whose scope is limited to this file.
    00132  */
    00133
    00136 typedef enum
    00137 {
    00138     IX_ATMM_VC_DIRECTION_TX=0,
    00139     IX_ATMM_VC_DIRECTION_RX,
    00140     IX_ATMM_VC_DIRECTION_INVALID
    00141 } IxAtmmVcDirection;
    00142
    00146 typedef enum
    00147 {
    00148     IX_ATMM_VC_CHANGE_EVENT_REGISTER=0,
    00149     IX_ATMM_VC_CHANGE_EVENT_DEREGISTER,
    00150     IX_ATMM_VC_CHANGE_EVENT_INVALID
    00151 } IxAtmmVcChangeEvent;
    00152
    00156 typedef enum
    00157 {
    00158     IX_ATMM_UTOPIA_LOOPBACK_DISABLED=0,
    00159     IX_ATMM_UTOPIA_LOOPBACK_ENABLED,
    00160     IX_ATMM_UTOPIA_LOOPBACK_INVALID
    00161 } IxAtmmUtopiaLoopbackMode;
    00162
    00166 typedef struct {
    00167     unsigned vpi;
    00168     unsigned vci;
    00169     IxAtmmVcDirection direction;
    00173     IxAtmTrafficDescriptor trafficDesc;
    00174 } IxAtmmVc;
    00175
    00176
    00180 typedef enum
    00181 {
    00182     IX_ATMM_MPHY_MODE = 0,
    00183     IX_ATMM_SPHY_MODE,
    00184     IX_ATMM_PHY_MODE_INVALID
    00185 } IxAtmmPhyMode;
    00186
    00187
    00191 typedef struct {
    00192     unsigned reserved_1:11;
    00193     unsigned UtopiaTxPhyAddr:5;
    00197     unsigned reserved_2:11;
    00198     unsigned UtopiaRxPhyAddr:5;
    00202 } IxAtmmPortCfg;
    00203
    00219 typedef void (*IxAtmmVcChangeCallback) (IxAtmmVcChangeEvent eventType,
    00220                     IxAtmLogicalPort port,
    00221                     const IxAtmmVc* vcChanged);
    00222
    00223 /*
    00224  * Variable declarations global to this file only. Externs are followed by
    00225  * static variables.
    00226  */
    00227
    00228 /*
    00229  * Extern function prototypes
    00230  */
    00231
    00232 /*
    00233  * Function declarations
    00234  */
    00235
    00236
    00253 IX_STATUS
    00254 ixAtmmInit (void);
    00255
    00306 IX_STATUS
    00307 ixAtmmUtopiaInit (unsigned numPorts,
    00308           IxAtmmPhyMode phyMode,
    00309           IxAtmmPortCfg portCfgs[],
    00310           IxAtmmUtopiaLoopbackMode loopbackMode);
    00311
    00312
    00372 IX_STATUS
    00373 ixAtmmPortInitialize (IxAtmLogicalPort port,
    00374               unsigned txPortRate,
    00375               unsigned rxPortRate);
    00376
    00409 IX_STATUS
    00410 ixAtmmPortModify (IxAtmLogicalPort port,
    00411           unsigned txPortRate,
    00412           unsigned rxPortRate);
    00413
    00449 IX_STATUS
    00450 ixAtmmPortQuery (IxAtmLogicalPort port,
    00451          unsigned *txPortRate,
    00452          unsigned *rxPortRate);
    00453
    00475 IX_STATUS
    00476 ixAtmmPortEnable(IxAtmLogicalPort port);
    00477
    00507 IX_STATUS
    00508 ixAtmmPortDisable(IxAtmLogicalPort port);
    00509
    00577 IX_STATUS
    00578 ixAtmmVcRegister (IxAtmLogicalPort port,
    00579           IxAtmmVc *vcToAdd,
    00580           IxAtmSchedulerVcId *vcId);
    00581
    00613 IX_STATUS
    00614 ixAtmmVcDeregister (IxAtmLogicalPort port, IxAtmSchedulerVcId vcId);
    00615
    00662 IX_STATUS
    00663 ixAtmmVcQuery (IxAtmLogicalPort port,
    00664            unsigned vpi,
    00665            unsigned vci,
    00666            IxAtmmVcDirection direction,
    00667            IxAtmSchedulerVcId *vcId,
    00668            IxAtmmVc *vcDesc);
    00669
    00670
    00700 IX_STATUS
    00701 ixAtmmVcIdQuery (IxAtmLogicalPort port, IxAtmSchedulerVcId vcId, IxAtmmVc *vcDesc);
    00702
    00734 IX_STATUS ixAtmmVcChangeCallbackRegister (IxAtmmVcChangeCallback callback);
    00735
    00736
    00754 IX_STATUS
    00755 ixAtmmVcChangeCallbackDeregister (IxAtmmVcChangeCallback callback);
    00756
    00769 IX_STATUS
    00770 ixAtmmUtopiaStatusShow (void);
    00771
    00784 IX_STATUS
    00785 ixAtmmUtopiaCfgShow (void);
    00786
    00787 #endif
    00788 /* IXATMM_H */
    00789
Automatically generated from sources. © Intel Corp. 2003