snmperrs.h
上传用户:czjinwang
上传日期:2007-01-12
资源大小:2484k
文件大小:9k
源码类别:

SNMP编程

开发平台:

Visual C++

  1. /*===================================================================
  2.   Copyright (c) 1999
  3.   Hewlett-Packard Company
  4.   ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS.
  5.   Permission to use, copy, modify, distribute and/or sell this software 
  6.   and/or its documentation is hereby granted without fee. User agrees 
  7.   to display the above copyright notice and this license notice in all 
  8.   copies of the software and any documentation of the software. User 
  9.   agrees to assume all liability for the use of the software; Hewlett-Packard 
  10.   makes no representations about the suitability of this software for any 
  11.   purpose. It is provided "AS-IS without warranty of any kind,either express 
  12.   or implied. User hereby grants a royalty-free license to any and all 
  13.   derivatives based upon this software code base. 
  14.   SNMP++ S N M P E R R S. H
  15.   SNMP++ ERROR CODE AND STRING DEFINITIONS
  16.   VERSION
  17.   2.8
  18.   RCS INFO:
  19.   $Header: snmperrs.h,v 1.13 96/09/05 18:33:51 hmgr Exp $
  20.   DESCRIPTION:
  21.   Definition of error macros and error strings
  22.   DESIGN:
  23.   Jeff Meyer
  24.   AUTHOR:
  25.   Jeff Meyer
  26.   LANGUAGE:
  27.   ANSI C++
  28.   OPERATING SYSTEMS:
  29.   WIN32
  30.   BSD UNIX
  31. ============================================================================*/
  32. #ifndef _SNMPERRS_H
  33. #define _SNMPERRS_H
  34. //-------[ Positive SNMP ++ Error Return Codes ]------------------------------
  35. // These values are error status values from RFC 1905
  36. //
  37. // The values can be returned via Pdu::get_error_status()
  38. //
  39. #define SNMP_ERROR_SUCCESS          0   // Success Status
  40. #define SNMP_ERROR_TOO_BIG          1   // Pdu encoding too big
  41. #define SNMP_ERROR_NO_SUCH_NAME      2   // No such VB name, see error index
  42. #define SNMP_ERROR_BAD_VALUE         3   // Bad Vb
  43. #define SNMP_ERROR_READ_ONLY      4   // VB is read only, see error index
  44. #define SNMP_ERROR_GENERAL_VB_ERR    5   // General VB error, see error index
  45. #define SNMP_ERROR_NO_ACCESS         6   // No access to MIBs data
  46. #define SNMP_ERROR_WRONG_TYPE        7   // Requested type was incorrect
  47. #define SNMP_ERROR_WRONG_LENGTH      8   // Request Pdu has inccorect length
  48. #define SNMP_ERROR_WRONG_ENCODING    9   // Request Pdu has wrong encoding
  49. #define SNMP_ERROR_WRONG_VALUE      10   // Request Pdu has wrong value
  50. #define SNMP_ERROR_NO_CREATION      11   // Unable to create object specified
  51. #define SNMP_ERROR_INCONSIST_VAL    12   // Inconsistent value in request
  52. #define SNMP_ERROR_RESOURCE_UNAVAIL 13   // Resources unavailable 
  53. #define SNMP_ERROR_COMITFAIL        14   // Unable to comit 
  54. #define SNMP_ERROR_UNDO_FAIL        15   // Unable to undo
  55. #define SNMP_ERROR_AUTH_ERR         16   // Authentication failure
  56. #define SNMP_ERROR_NOT_WRITEABLE    17   // Mib Object not writeable
  57. #define SNMP_ERROR_INCONSIS_NAME    18   // Inconsistent naming used
  58. //-------[ Negative SNMP ++ Result/Error Return Codes ]-------------------
  59. // General
  60. #define SNMP_CLASS_SUCCESS                 0  // success
  61. #define SNMP_CLASS_ERROR                  -1  // general error
  62. #define SNMP_CLASS_RESOURCE_UNAVAIL       -2  // e.g., malloc failed 
  63. #define SNMP_CLASS_INTERNAL_ERROR         -3  // unexpected / internal error
  64. #define SNMP_CLASS_UNSUPPORTED            -4  // unsupported function
  65. // Callback reasons:
  66. #define SNMP_CLASS_TIMEOUT                -5  // outstanding request timed out
  67. #define SNMP_CLASS_ASYNC_RESPONSE         -6  // received response for outstd request
  68. #define SNMP_CLASS_NOTIFICATION           -7  // received notification (trap/inform)
  69. #define SNMP_CLASS_SESSION_DESTROYED      -8  // snmp::destroyed with oustanding reqs pending
  70. // Snmp Class:
  71. #define SNMP_CLASS_INVALID                -10 // snmp::mf called on invalid instance
  72. #define SNMP_CLASS_INVALID_PDU            -11 // invalid pdu passed to mf
  73. #define SNMP_CLASS_INVALID_TARGET         -12 // invalid target passed to mf
  74. #define SNMP_CLASS_INVALID_CALLBACK       -13 // invalid callback to mf
  75. #define SNMP_CLASS_INVALID_REQID          -14 // invalid request id to cancel
  76. #define SNMP_CLASS_INVALID_NOTIFYID       -15 // missing trap/inform oid
  77. #define SNMP_CLASS_INVALID_OPERATION      -16 // snmp operation not allowed for specified target 
  78. #define SNMP_CLASS_INVALID_OID           -17 // invalid oid passed to mf
  79. #define SNMP_CLASS_INVALID_ADDRESS        -18 // invalid address passed to mf
  80. #define SNMP_CLASS_ERR_STATUS_SET         -19 // agent returned response pdu with error_status set
  81. // Transport Errors:
  82. #define SNMP_CLASS_TL_UNSUPPORTED         -20 // transport unsupported 
  83. #define SNMP_CLASS_TL_IN_USE              -21 // transport in use 
  84. #define SNMP_CLASS_TL_FAILED              -22 // transport operation failed
  85. // extras
  86. #define SNMP_CLASS_SHUTDOWN               -23 // used for back door shutdown
  87. #ifdef _INCLUDE_SNMP_ERR_STRINGS
  88. // ASCII strings returned through Snmp::error() function.  NOTE: altering
  89. // the strings in this header file will not affect the return values of
  90. // Snmp::error(), unless you rebuild the SNMP++ library from source.
  91. #define MAX_POS_ERROR                    SNMP_ERROR_INCONSIS_NAME
  92. #define MAX_NEG_ERROR                    SNMP_CLASS_SHUTDOWN
  93. static char * pErrs[] = {
  94.   (char*) "Success",                       // 0
  95.   (char*) "SNMP: Response PDU Too Big",                               // 1
  96.   (char*) "SNMP: Variable does not exist",                // 2
  97.   (char*) "SNMP: Cannot modify variable: Bad Value",            // 3
  98.   (char*) "SNMP: Cannot modify object, Read Only",         // 4
  99.   (char*) "SNMP: Cannot perform operation, General Error",       // 5
  100.   (char*) "SNMP: Cannot access variable, No Access",                  // 6
  101.   (char*) "SNMP: Cannot create/modify variable, Wrong Type",          // 7
  102.   (char*) "SNMP: Cannot create/set variable, Wrong Length",           // 8
  103.   (char*) "SNMP: Cannot create/set variable, Wrong Encoding",         // 9
  104.   (char*) "SNMP: Cannot create/set variable, Wrong Value",            // 10
  105.   (char*) "SNMP: Cannot create variable, Creation Not Allowed",       // 11
  106.   (char*) "SNMP: Cannot create/set variable, Inconsistent Value",     // 12
  107.   (char*) "SNMP: Cannot create/set variable, Resource Unavailable",   // 13
  108.   (char*) "SNMP: Cannot create/set variable, Commit Failed",          // 14
  109.   (char*) "SNMP: Cannot create/set variable, Undo Failed",            // 15
  110.   (char*) "SNMP: Cannot perform operation, Authorization Error",      // 16
  111.   (char*) "SNMP: Cannot create/set variable, Not Writable",           // 17
  112.   (char*) "SNMP: Cannot create variable, Inconsistent Name",          // 18
  113.   (char*) "SNMP: Unknown Error Status"                                // 19
  114. };
  115. static char * nErrs[] = {
  116.   // General:
  117.   // 0  SNMP_CLASS_SUCCESS
  118.   (char*) "SNMP++: Success",
  119.   // 1  SNMP_CLASS_ERROR
  120.   (char*) "SNMP++: Operation failed",
  121.   // 2  SNMP_CLASS_RESOURCE_UNAVAIL
  122.   (char*) "SNMP++: Resource unavailable",
  123.   // 3  SNMP_CLASS_INTERNAL_ERROR
  124.   (char*) "SNMP++: Internal error",
  125.   // 4  SNMP_CLASS_UNSUPPORTED
  126.   (char*) "SNMP++: Unsupported function",
  127.   // Callback reasons:
  128.   // 5  SNMP_CLASS_TIMEOUT 
  129.   (char*) "SNMP++: SNMP request timed out",
  130.   // 6  SNMP_CLASS_ASYNC_RESPONSE 
  131.   (char*) "SNMP++: Received SNMP Response", 
  132.   // 7  SNMP_CLASS_NOTIFICATION  
  133.   (char*) "SNMP++: Received SNMP Notification (trap or inform)",
  134.   // 8  SNMP_CLASS_SESSION_DESTROYED 
  135.   (char*) "SNMP++: Closing session with outstanding requests",
  136.   // 9  reserved for future
  137.   (char*) "Unknown error code", 
  138.   // Snmp Class errors:
  139.   // 10 SNMP_CLASS_INVALID
  140.   (char*) "SNMP++: Class not valid", 
  141.   // 11 SNMP_CLASS_INVALID_PDU
  142.   (char*) "SNMP++: Invalid Pdu",
  143.   // 12 SNMP_CLASS_INVALID_TARGET
  144.   (char*) "SNMP++: Invalid Target",
  145.   // 13 SNMP_CLASS_INVALID_CALLBACK
  146.   (char*) "SNMP++: Invalid (null) Callback Function",
  147.   // 14 SNMP_CLASS_INVALID_REQID
  148.   (char*) "SNMP++: Invalid Request Id",
  149.   // 15 SNMP_CLASS_INVALID_NOTIFYID
  150.   (char*) "SNMP++: Invalid Notification Id",
  151.   // 16 SNMP_CLASS_INVALID_OPERATION
  152.   (char*) "SNMP++: SNMP Operation not supported on specified Target", 
  153.   // 17 SNMP_CLASS_INVALID_OID 
  154.   (char*) "SNMP++: Invalid Object Identifier",
  155.   // 18 SNMP_CLASS_INVALID_ADDRESS 
  156.   (char*) "SNMP++: Invalid Address",
  157.   // 19 SNMP_CLASS_ERR_STATUS_SET 
  158.   (char*) "SNMP++: Agent indicates error in SNMP request",
  159.   // Transport Errors:
  160.   // 20 SNMP_CLASS_TL_UNSUPPORTED 
  161.   (char*) "SNMP++: Transport is not supported",
  162.   // 21 SNMP_CLASS_TL_IN_USE 
  163.   (char*) "SNMP++: Transport is in use",
  164.   // 22 SNMP_CLASS_TL_FAILED 
  165.   (char*) "SNMP++: Transport operation failed",
  166.   // 23 SNMP_CLASS_SHUTDOWN
  167.   (char*) "SNMP++: Blocked Mode Shutdown",
  168.   
  169.   // unknown error code
  170.   (char*) "Unknown error code",
  171. };
  172. #endif //_INCLUDE_SNMP_ERR_STRINGS
  173. #endif //_SNMPERRS_H