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