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