#ifndef AMAZON_ATM_MIB_H #define AMAZON_ATM_MIB_H #ifdef CONFIG_IFX_ATM_MIB #include #ifdef __KERNEL__ #include #endif #endif /* CONFIG_IFX_ATM_MIB */ #ifndef __KERNEL__ #include typedef unsigned int __u32; #endif typedef struct{ __u32 ifHCInOctets_h; __u32 ifHCInOctets_l; __u32 ifHCOutOctets_h; __u32 ifHCOutOctets_l; __u32 ifInErrors; __u32 ifInUnknownProtos; __u32 ifOutErrors; }atm_cell_ifEntry_t; typedef struct{ __u32 ifHCInOctets_h; __u32 ifHCInOctets_l; __u32 ifHCOutOctets_h; __u32 ifHCOutOctets_l; __u32 ifInUcastPkts; __u32 ifOutUcastPkts; __u32 ifInErrors; __u32 ifInDiscards; __u32 ifOutErros; __u32 ifOutDiscards; }atm_aal5_ifEntry_t; typedef struct{ __u32 aal5VccCrcErrors; __u32 aal5VccSarTimeOuts;//no timer support yet __u32 aal5VccOverSizedSDUs; }atm_aal5_vcc_t; #if defined(CONFIG_IFX_ATM_MIB) || defined(IFX_CONFIG_SNMP_ATM_MIB) /* ATM-MIB data structures */ typedef struct atmIfConfEntry { int ifIndex; int atmInterfaceMaxVpcs; int atmInterfaceMaxVccs; int atmInterfaceConfVpcs; int atmInterfaceConfVccs; int atmInterfaceMaxActiveVpiBits; int atmInterfaceMaxActiveVciBits; int atmInterfaceIlmiVpi; int atmInterfaceIlmiVci; int atmInterfaceAddressType; char atmInterfaceAdminAddress[40]; unsigned long atmInterfaceMyNeighborIpAddress; char atmInterfaceMyNeighborIfName[20]; int atmInterfaceCurrentMaxVpiBits; int atmInterfaceCurrentMaxVciBits; char atmInterfaceSubscrAddress[40]; int flags; }atmIfConfEntry; typedef struct atmTrafficDescParamEntry { /* Following three parameters are used to update VCC QoS values */ int ifIndex; short atmVclvpi; int atmVclvci; unsigned int atmTrafficParamIndex; unsigned char traffic_class; int max_pcr; /* Subramani: Added min_pcr */ int min_pcr; int cdv; int scr; int mbs; int atmTrafficRowStatus; int atmTrafficFrameDiscard; struct list_head vpivci_head; struct list_head list; }atmTrafficDescParamEntry; typedef struct atmVclEntry { int ifIndex; short atmVclvpi; int atmVclvci; char vpivci[20]; int atmVclAdminStatus; int atmVclOperStatus; unsigned long atmVclLastChange; struct atmTrafficDescParamEntry *atmVclRxTrafficPtr; struct atmTrafficDescParamEntry *atmVclTxTrafficPtr; unsigned char atmVccAalType; unsigned int atmVccAal5TxSduSize; unsigned int atmVccAal5RxSduSize; int atmVccAal5Encap; int atmVclRowStatus; int atmVclCastType; int atmVclConnKind; struct list_head list; int flags; }atmVclEntry; typedef union union_atmptrs { struct atmIfConfEntry *atmIfConfEntry_ptr; struct atmTrafficDescParamEntry *atmTrafficDescParamEntry_ptr; struct atmVclEntry *atmVclEntry_ptr; }union_atmptrs; /* ATM Character device major number */ #define ATM_MEI_MAJOR 107 /* Protocol Constants */ #define IFX_PROTO_RAW 0 #define IFX_PROTO_BR2684 1 #define IFX_PROTO_PPPOATM 2 #define IFX_PROTO_CLIP 3 /* IOCTL Command Set for ATM-MIB */ #define GET_ATM_IF_CONF_DATA 0x0AB0 #define SET_ATM_IF_CONF_DATA 0x0AB1 #define SET_ATM_QOS_DATA 0x0BC0 #define GET_ATM_VCL_DATA 0x0CD0 #define SET_ATM_VCL_DATA 0x0CD1 #define FIND_VCC_IN_KERNEL 0x0DE0 /* User defined flags for VCL Table */ #define ATMVCCAAL5CPCSTRANSMITSDUSIZE 9 #define ATMVCCAAL5CPCSRECEIVESDUSIZE 10 #endif /* CONFIG_IFX_ATM_MIB || IFX_CONFIG_SNMP_ATM_MIB */ #endif //AMAZON_ATM_MIB_H