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

IxEthDB.h

Go to the documentation of this file.
00001 
00047 #ifndef IxEthDB_H
00048 #define IxEthDB_H
00049 
00050 #include <IxOsBuffMgt.h>
00051 #include <IxTypes.h>
00052 
00061 #define INLINE __inline__
00062 
00063 #define IX_ETH_DB_PRIVATE PRIVATE /* imported from IxTypes.h */
00064 
00065 #define IX_ETH_DB_PUBLIC /* nothing */
00066 
00070 #define IX_ETH_DB_PORT_ID_TO_NPE(id) (id + 1)
00071 
00076 #define IX_ETH_DB_NPE_TO_PORT_ID(npe) (npe - 1)
00077 
00082 #define IX_IEEE803_MAC_ADDRESS_SIZE (6)
00083 
00088 typedef enum /* IxEthDBStatus */
00089 {
00090     IX_ETH_DB_SUCCESS = IX_SUCCESS,
00091     IX_ETH_DB_FAIL = IX_FAIL,
00092     IX_ETH_DB_INVALID_PORT,
00093     IX_ETH_DB_PORT_UNINITIALIZED, 
00094     IX_ETH_DB_MAC_UNINITIALIZED, 
00095     IX_ETH_DB_INVALID_ARG, 
00096   IX_ETH_DB_NO_SUCH_ADDR, 
00097   IX_ETH_DB_NOMEM,        
00098   IX_ETH_DB_BUSY,         
00099   IX_ETH_DB_END           
00100 } IxEthDBStatus;
00101     
00110 typedef struct  
00111 {
00112    UINT8 macAddress[IX_IEEE803_MAC_ADDRESS_SIZE];
00113 } IxEthDBMacAddr;
00114 
00120 typedef UINT32 IxEthDBPortId;
00121 
00127 typedef UINT32 IxEthDBPortMap;
00128     
00139 IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBInit(void);
00140 
00159 IX_ETH_DB_PUBLIC void ixEthDBPortInit(IxEthDBPortId portID);
00160 
00188 IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBPortEnable(IxEthDBPortId portID);
00189 
00219 IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBPortDisable(IxEthDBPortId portID);
00220 
00241 IX_ETH_DB_PUBLIC IxEthDBStatus ixEthDBPortAddressSet(IxEthDBPortId portID, IxEthDBMacAddr *macAddr);
00242 
00268 IxEthDBStatus ixEthDBFilteringPortMaximumFrameSizeSet(IxEthDBPortId portID, UINT32 maximumFrameSize);
00269 
00292 IxEthDBStatus ixEthDBFilteringStaticEntryProvision(IxEthDBPortId portID, IxEthDBMacAddr *macAddr);
00293 
00317 IxEthDBStatus ixEthDBFilteringDynamicEntryProvision(IxEthDBPortId portID, IxEthDBMacAddr *macAddr);
00318 
00334 IxEthDBStatus ixEthDBFilteringEntryDelete(IxEthDBMacAddr *macAddr);
00335 
00357 IxEthDBStatus ixEthDBFilteringPortSearch(IxEthDBPortId portID, IxEthDBMacAddr *macAddr);
00358 
00379 IxEthDBStatus ixEthDBFilteringDatabaseSearch(IxEthDBPortId *portID, IxEthDBMacAddr *macAddr);
00380 
00399 IxEthDBStatus ixEthDBFilteringPortUpdatingSearch(IxEthDBPortId *portID, IxEthDBMacAddr *macAddr);
00400 
00410 #define IX_ETH_DB_MAINTENANCE_TIME (1 * 60) /* 1 Minute */
00411 
00421 #define IX_ETH_DB_LEARNING_ENTRY_AGE_TIME (15 * 60 ) /* 15 Mins */
00422 
00439 IxEthDBStatus ixEthDBPortAgingDisable(IxEthDBPortId port);
00440 
00462 IxEthDBStatus ixEthDBPortAgingEnable(IxEthDBPortId portID);
00463 
00480 void ixEthDBDatabaseMaintenance(void);
00481 
00501 IxEthDBStatus ixEthDBFilteringDatabaseShow(IxEthDBPortId portID);
00502 
00516 void ixEthDBFilteringDatabaseShowAll(void);
00517 
00522 #endif /* IxEthDB_H */
Automatically generated from sources. © Intel Corp. 2003