Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
2.7 KiB

  1. /*++
  2. Copyright (c) 1992-1997 Microsoft Corporation
  3. Module Name:
  4. subagnts.h
  5. Abstract:
  6. Contains definitions for manipulating subagent structures.
  7. Environment:
  8. User Mode - Win32
  9. Revision History:
  10. 10-Feb-1997 DonRyan
  11. Rewrote to implement SNMPv2 support.
  12. --*/
  13. #ifndef _SUBAGNTS_H_
  14. #define _SUBAGNTS_H_
  15. ///////////////////////////////////////////////////////////////////////////////
  16. // //
  17. // Public definitions //
  18. // //
  19. ///////////////////////////////////////////////////////////////////////////////
  20. // flag values to be used in _SUBAGENT_LIST_ENTRY:uchFlags
  21. #define FLG_SLE_KEEP 0x01
  22. typedef struct _SUBAGENT_LIST_ENTRY {
  23. LIST_ENTRY Link;
  24. LIST_ENTRY SupportedRegions;
  25. PFNSNMPEXTENSIONINIT pfnSnmpExtensionInit;
  26. PFNSNMPEXTENSIONINITEX pfnSnmpExtensionInitEx;
  27. PFNSNMPEXTENSIONCLOSE pfnSnmpExtensionClose;
  28. PFNSNMPEXTENSIONMONITOR pfnSnmpExtensionMonitor;
  29. PFNSNMPEXTENSIONQUERY pfnSnmpExtensionQuery;
  30. PFNSNMPEXTENSIONQUERYEX pfnSnmpExtensionQueryEx;
  31. PFNSNMPEXTENSIONTRAP pfnSnmpExtensionTrap;
  32. HANDLE hSubagentTrapEvent;
  33. HANDLE hSubagentDll;
  34. UCHAR uchFlags;
  35. LPSTR pPathname;
  36. } SUBAGENT_LIST_ENTRY, *PSUBAGENT_LIST_ENTRY;
  37. #define SNMP_EXTENSION_INIT "SnmpExtensionInit"
  38. #define SNMP_EXTENSION_INIT_EX "SnmpExtensionInitEx"
  39. #define SNMP_EXTENSION_CLOSE "SnmpExtensionClose"
  40. #define SNMP_EXTENSION_MONITOR "SnmpExtensionMonitor"
  41. #define SNMP_EXTENSION_QUERY "SnmpExtensionQuery"
  42. #define SNMP_EXTENSION_QUERY_EX "SnmpExtensionQueryEx"
  43. #define SNMP_EXTENSION_TRAP "SnmpExtensionTrap"
  44. ///////////////////////////////////////////////////////////////////////////////
  45. // //
  46. // Public prototypes //
  47. // //
  48. ///////////////////////////////////////////////////////////////////////////////
  49. BOOL
  50. FindSubagent(
  51. PSUBAGENT_LIST_ENTRY * ppSLE,
  52. LPSTR pPathname
  53. );
  54. BOOL
  55. AddSubagentByDll(
  56. LPSTR pPathname,
  57. UCHAR uchInitFlags
  58. );
  59. BOOL
  60. AllocSLE(
  61. PSUBAGENT_LIST_ENTRY * ppSLE,
  62. LPSTR pPathname,
  63. UCHAR uchInitFlags
  64. );
  65. BOOL
  66. FreeSLE(
  67. PSUBAGENT_LIST_ENTRY pSLE
  68. );
  69. BOOL
  70. LoadSubagents(
  71. );
  72. BOOL
  73. UnloadSubagents(
  74. );
  75. #endif // _SUBAGNTS_H_