authen.h
上传用户:lvjun8202
上传日期:2013-04-30
资源大小:797k
文件大小:3k
源码类别:

SNMP编程

开发平台:

C/C++

  1. #ifndef _AUTHEN_H_
  2. #define _AUTHEN_H_
  3. /* new auth/trap stuff for TMS */
  4. /* change the following if Oem/Snmp MIB change */
  5. #define AUTH_MAX_HOSTS          1     /* max hosts allowed for snmp authentication       */
  6. #define AUTH_MAX_COMMS          1     /* max communities allowed for snmp authentication */
  7. #define TRAP_MAX_HOSTS          1     /* max hosts allowed in trap table                 */
  8. #define TRAP_MAX_COMMS          1     /* max communities recognized by trap table        */
  9. #define COMM_NAME_SIZE          10   
  10. #define HOST_NAME_SIZE          10
  11. #define AGENT_VAL_ENABLE        1
  12. #define AGENT_VAL_DISABLE       2
  13. #define AGENT_VAL_DELETE        3
  14. #define AGENT_VAL_INVALID       4
  15. /* use these defines for turning on/off snmp security */
  16. #define AGENT_AUTH_ENABLE       AGENT_VAL_ENABLE  /* enable snmp authentication                      */
  17. #define AGENT_AUTH_DISABLE      AGENT_VAL_DISABLE /* disable snmp authentication (means no security) */
  18. #define AGENT_READ_ONLY         1
  19. #define AGENT_READ_WRITE        2
  20. /* Type defines to be used by idbSnmp() module when it needs to access a host/community/trap item */
  21. /* Traps that can be turned on/off in the trap table for different communities */
  22. #define AGENT_COLD_START        1
  23. #define AGENT_LINK_DOWN         2
  24. #define AGENT_LINK_UP           4
  25. #define AGENT_AUTHEN            8
  26. #define AGENT_BRIDGE            16
  27. #define AGENT_RMON              32
  28. #define AGENT_OEM_SPEC          64
  29. /* Communities */
  30. #define AGENT_COMM_NAME         200
  31. #define AGENT_COMM_PERM         201
  32. #define AGENT_COMM_STATE        202
  33. /* Hosts */
  34. #define AGENT_HOST_NAME         203
  35. #define AGENT_HOST_COMM_NAME    204
  36. #define AGENT_HOST_IP_ADDR      205
  37. #define AGENT_HOST_IP_MASK      206
  38. #define AGENT_HOST_STATE        207
  39. /* New structures for SNMP authentication and Traps */
  40. struct snmpComm_t {
  41.     u32             index;
  42. u8 name[COMM_NAME_SIZE+1];
  43. u32 access;         /* 1=read-only, 2=read-write                   */
  44. u32 traps; /* 1=coldstart, 2=linkdown, 4=linkup, 8=auth, 
  45.                                        16=Bridge, 32=RMON, 64=ent-spec             */
  46.     u32             state;          /* 1=enable, 2=disable                         */
  47. };
  48. struct snmpHost_t {
  49.     u32             index;
  50. u8 name[HOST_NAME_SIZE+1];
  51. u8 commName[COMM_NAME_SIZE+1];
  52. ul32 addr;
  53. ul32            mask;
  54.     u32             state;
  55. };
  56. /* function prototypes to be used by idbSnmp() module */
  57. /* NOTE:  idbSnmp() must use the above defines starting with AGENT_ to get/set items */
  58. /*        The meanings of the defines should be obvious hopefully */
  59. STATUS setAuthEnable(u32 val);      /* enable/disable snmp authentication */
  60. STATUS getAuthEnable(u32* val);     /* get snmp authentication status     */
  61. #endif