Leaked source code of windows server 2003
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.

162 lines
6.4 KiB

  1. /*++
  2. Copyright (c) 1992-1997 Microsoft Corporation
  3. Module Name:
  4. service.h
  5. Abstract:
  6. Contains service definitions for SNMP master agent.
  7. Environment:
  8. User Mode - Win32
  9. Revision History:
  10. 10-Feb-1997 DonRyan
  11. Rewrote to implement SNMPv2 support.
  12. --*/
  13. #ifndef _SERVICE_H_
  14. #define _SERVICE_H_
  15. ///////////////////////////////////////////////////////////////////////////////
  16. // //
  17. // SNMP service name //
  18. // //
  19. ///////////////////////////////////////////////////////////////////////////////
  20. #define SNMP_SERVICE TEXT("SNMP")
  21. ///////////////////////////////////////////////////////////////////////////////
  22. // //
  23. // SNMP log level limits (must be consistent with SNMP_LOG_ contants) //
  24. // //
  25. ///////////////////////////////////////////////////////////////////////////////
  26. #define SNMP_LOGLEVEL_MINIMUM 0
  27. #define SNMP_LOGLEVEL_MAXIMUM 20
  28. ///////////////////////////////////////////////////////////////////////////////
  29. // //
  30. // SNMP log type limits (must be consistent with SNMP_OUTPUT_ contants) //
  31. // //
  32. ///////////////////////////////////////////////////////////////////////////////
  33. #define SNMP_LOGTYPE_MINIMUM 0
  34. #define SNMP_LOGTYPE_MAXIMUM 10
  35. ///////////////////////////////////////////////////////////////////////////////
  36. // //
  37. // SNMP service parameter offsets (used in control handler) //
  38. // //
  39. ///////////////////////////////////////////////////////////////////////////////
  40. #define SNMP_SERVICE_CONTROL_BASE 128
  41. #define SNMP_SERVICE_LOGLEVEL_BASE SNMP_SERVICE_CONTROL_BASE
  42. #define SNMP_SERVICE_LOGTYPE_BASE \
  43. (SNMP_SERVICE_LOGLEVEL_BASE + SNMP_LOGLEVEL_MAXIMUM + 1)
  44. ///////////////////////////////////////////////////////////////////////////////
  45. // //
  46. // SNMP service parameter macro definitions //
  47. // //
  48. ///////////////////////////////////////////////////////////////////////////////
  49. #define IS_LOGLEVEL(x) \
  50. (((x) >= (SNMP_SERVICE_LOGLEVEL_BASE + SNMP_LOGLEVEL_MINIMUM)) && \
  51. ((x) <= (SNMP_SERVICE_LOGLEVEL_BASE + SNMP_LOGLEVEL_MAXIMUM)))
  52. #define IS_LOGTYPE(x) \
  53. (((x) >= (SNMP_SERVICE_LOGTYPE_BASE + SNMP_LOGTYPE_MINIMUM)) && \
  54. ((x) <= (SNMP_SERVICE_LOGTYPE_BASE + SNMP_LOGTYPE_MAXIMUM)))
  55. #define IS_LOGLEVEL_VALID(x) \
  56. (((x) >= SNMP_LOGLEVEL_MINIMUM) && ((x) <= SNMP_LOGLEVEL_MAXIMUM))
  57. #define IS_LOGTYPE_VALID(x) \
  58. (((x) >= SNMP_LOGTYPE_MINIMUM) && ((x) <= SNMP_LOGTYPE_MAXIMUM))
  59. ///////////////////////////////////////////////////////////////////////////////
  60. // //
  61. // SNMP service status definitions //
  62. // //
  63. ///////////////////////////////////////////////////////////////////////////////
  64. #define NO_WAIT_HINT 0
  65. #define SNMP_WAIT_HINT 30000
  66. ///////////////////////////////////////////////////////////////////////////////
  67. // //
  68. // SNMP service debug string macro definitions //
  69. // //
  70. ///////////////////////////////////////////////////////////////////////////////
  71. #define SNMP_LOGLEVEL_STRING(x) \
  72. (((x) == SNMP_LOG_SILENT) \
  73. ? "SILENT" \
  74. : ((x) == SNMP_LOG_FATAL) \
  75. ? "FATAL" \
  76. : ((x) == SNMP_LOG_ERROR) \
  77. ? "ERROR" \
  78. : ((x) == SNMP_LOG_WARNING) \
  79. ? "WARNING" \
  80. : ((x) == SNMP_LOG_TRACE) \
  81. ? "TRACE" \
  82. : ((x) == SNMP_LOG_VERBOSE) \
  83. ? "VERBOSE" \
  84. : "UNKNOWN" \
  85. )
  86. #define SNMP_LOGTYPE_STRING(x) \
  87. (((x) == SNMP_OUTPUT_TO_CONSOLE) \
  88. ? "CONSOLE" \
  89. : ((x) == SNMP_OUTPUT_TO_LOGFILE) \
  90. ? "LOGFILE" \
  91. : ((x) == SNMP_OUTPUT_TO_EVENTLOG) \
  92. ? "EVENTLOG" \
  93. : ((x) == SNMP_OUTPUT_TO_DEBUGGER) \
  94. ? "DEBUGGER" \
  95. : "UNKNOWN" \
  96. )
  97. #define SERVICE_STATUS_STRING(x) \
  98. (((x) == SERVICE_STOPPED) \
  99. ? "STOPPED" \
  100. : ((x) == SERVICE_START_PENDING) \
  101. ? "START PENDING" \
  102. : ((x) == SERVICE_STOP_PENDING) \
  103. ? "STOP PENDING" \
  104. : ((x) == SERVICE_RUNNING) \
  105. ? "RUNNING" \
  106. : ((x) == SERVICE_CONTINUE_PENDING) \
  107. ? "CONTINUE PENDING" \
  108. : ((x) == SERVICE_PAUSE_PENDING) \
  109. ? "PAUSE PENDING" \
  110. : ((x) == SERVICE_PAUSED) \
  111. ? "PAUSED" \
  112. : "UNKNOWN" \
  113. )
  114. #define SERVICE_CONTROL_STRING(x) \
  115. (((x) == SERVICE_CONTROL_STOP) \
  116. ? "STOP" \
  117. : ((x) == SERVICE_CONTROL_PAUSE) \
  118. ? "PAUSE" \
  119. : ((x) == SERVICE_CONTROL_CONTINUE) \
  120. ? "CONTINUE" \
  121. : ((x) == SERVICE_CONTROL_INTERROGATE) \
  122. ? "INTERROGATE" \
  123. : ((x) == SERVICE_CONTROL_SHUTDOWN) \
  124. ? "SHUTDOWN" \
  125. : "CONFIGURE" \
  126. )
  127. #endif // _SERVICE_H_