home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1995 April / Internet Tools.iso / dos_win / winsnmp / apps / OLD / winsnmp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-09-12  |  17.0 KB  |  416 lines

  1. /* WinSNMP.h */
  2.  
  3. /* WinSNMP API v1.0g, 9/13/93 */
  4.  
  5. /* Author's Contact Information:
  6.  
  7.     Bob Natale
  8.     Director, Network Management Products
  9.     American Computer & Electronics Corp
  10.     209 Perry Parkway
  11.     Gaithersburg MD  20877
  12.     301-258-9850 (tel)
  13.     301-921-0434 (fax)
  14.     natale@acec.com (e-mail)
  15. */
  16.  
  17. #ifndef   _INC_WINSNMP
  18. #define   _INC_WINSNMP        /* Make sure we only do this once! */
  19.  
  20. #include <windows.h>        /* Include Windows Declarations */
  21.  
  22. /* Windows-related types */
  23. typedef  HANDLE    HSNMP_SESSION,    FAR *LPHSNMP_SESSION;
  24. typedef  HANDLE HSNMP_ENTITY,    FAR *LPHSNMP_ENTITY;
  25. typedef  HANDLE HSNMP_CONTEXT,     FAR *LPHSNMP_CONTEXT;
  26. typedef  HANDLE HSNMP_PDU,      FAR *LPHSNMP_PDU;
  27. typedef  HANDLE HSNMP_VBL,      FAR *LPHSNMP_VBL;
  28.  
  29. /* The smiBYTE types are included to define smiOCTETS correctly */
  30. typedef unsigned char    smiBYTE,        FAR *smiLPBYTE;
  31. /* SNMP-related types from RFC1442 (SMI) */
  32. typedef signed long     smiINT,         FAR *smiLPINT;
  33. typedef smiINT          smiINT32,       FAR *smiLPINT32;
  34. typedef unsigned long   smiUINT32,      FAR *smiLPUINT32;
  35. typedef struct {
  36.      smiUINT32 len;
  37.      smiLPBYTE ptr;}    smiOCTETS,      FAR *smiLPOCTETS;
  38. typedef smiOCTETS       smiBITS,        FAR *smiLPBITS;
  39. typedef struct {
  40.      smiUINT32   len;
  41.      smiLPUINT32 ptr;}  smiOID,         FAR *smiLPOID;
  42. typedef smiOCTETS       smiIPADDR,      FAR *smiLPIPADDR;
  43. typedef smiUINT32       smiCNTR32,      FAR *smiLPCNTR32;
  44. typedef smiUINT32       smiGAUGE32,     FAR *smiLPGAUGE32;
  45. typedef smiUINT32       smiTIMETICKS,    FAR *smiLPTIMETICKS;
  46. typedef smiOCTETS       smiOPAQUE,      FAR *smiLPOPAQUE;
  47. typedef smiOCTETS       smiNSAPADDR,       FAR *smiLPNSAPADDR;
  48. typedef struct {
  49.         smiUINT32 hipart;
  50.         smiUINT32 lopart;} smiCNTR64,   FAR *smiLPCNTR64;
  51. /* ASN/BER Base Types */
  52. /* (used in forming SYNTAXes and certain SNMP types/values) */
  53. #define ASN_UNIVERSAL    (0x00)
  54. #define ASN_APPLICATION  (0x40)
  55. #define ASN_CONTEXT      (0x80)
  56. #define ASN_PRIVATE      (0xC0)
  57. #define ASN_PRIMITIVE    (0x00)
  58. #define ASN_CONSTRUCTOR  (0x20)
  59.  
  60. /* SNMP ObjectSyntax Values */
  61. /* (used in the "syntax" member of the smiVALUE structure below) */
  62. #define SNMP_SYNTAX_INT       (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x02)
  63. #define SNMP_SYNTAX_BITS      (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03)
  64. #define SNMP_SYNTAX_OCTETS    (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x04)
  65. #define SNMP_SYNTAX_NULL      (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x05)
  66. #define SNMP_SYNTAX_OID       (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x06)
  67. #define SNMP_SYNTAX_INT32      SNMP_SYNTAX_INT
  68. #define SNMP_SYNTAX_IPADDR    (ASN_APPLICATION | ASN_PRIMITIVE | 0x00)
  69. #define SNMP_SYNTAX_CNTR32    (ASN_APPLICATION | ASN_PRIMITIVE | 0x01)
  70. #define SNMP_SYNTAX_GAUGE32   (ASN_APPLICATION | ASN_PRIMITIVE | 0x02)
  71. #define SNMP_SYNTAX_TIMETICKS (ASN_APPLICATION | ASN_PRIMITIVE | 0x03)
  72. #define SNMP_SYNTAX_OPAQUE    (ASN_APPLICATION | ASN_PRIMITIVE | 0x04)
  73. #define SNMP_SYNTAX_NSAPADDR  (ASN_APPLICATION | ASN_PRIMITIVE | 0x05)
  74. #define SNMP_SYNTAX_CNTR64    (ASN_APPLICATION | ASN_PRIMITIVE | 0x06)
  75. #define SNMP_SYNTAX_UINT32    (ASN_APPLICATION | ASN_PRIMITIVE | 0x07)
  76. #define SNMP_SYNTAX_NOSUCHOBJECT    SNMP_SYNTAX_NULL
  77. #define SNMP_SYNTAX_NOSUCHINSTANCE  SNMP_SYNTAX_NULL
  78. #define SNMP_SYNTAX_ENDOFMIBVIEW    SNMP_SYNTAX_NULL
  79.  
  80. typedef struct {                    /* smiVALUE portion of VarBind */
  81.      short   type;                  /* Insert SNMP_SYNTAX_<type> */
  82.      union {
  83.           smiINT    sNumber;        /* SNMP_SYNTAX_INT
  84.                                        SNMP_SYNTAX_INT32 */
  85.           smiUINT32 uNumber;        /* SNMP_SYNTAX_UINT32
  86.                                        SNMP_SYNTAX_CNTR32
  87.                                        SNMP_SYNTAX_GAUGE32
  88.                                        SNMP_SYNTAX_TIMETICKS */
  89.           smiCNTR64 hNumber;        /* SNMP_SYNTAX_CNTR64 */
  90.           smiOCTETS string;         /* SNMP_SYNTAX_OCTETS
  91.                                        SNMP_SYNTAX_BITS
  92.                                        SNMP_SYNTAX_OPAQUE
  93.                                        SNMP_SYNTAX_IPADDR
  94.                                        SNMP_SYNTAX_NSAPADDR */
  95.           smiOID    oid;            /* SNMP_SYNTAX_OID */
  96.           smiBYTE   empty;          /* SNMP_SYNTAX_NULL
  97.                                        SNMP_SYNTAX_NOSUCHOBJECT
  98.                                        SNMP_SYNTAX_NOSUCHINSTANCE
  99.                                        SNMP_SYNTAX_ENDOFMIBVIEW */
  100.            } value;
  101.                }    smiVALUE, FAR *smiLPVALUE;
  102.  
  103. /* SNMP Limits   */
  104. #define MAXOBJIDSIZE     128  /* Max # of components in an OID */
  105. #define MAXOBJIDSTRSIZE  1408 /* Max # of bytes in decoded OID */
  106.  
  107. /* PDU Type Values */
  108. #define SNMP_PDU_GET        (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x0)
  109. #define SNMP_PDU_GETNEXT    (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x1)
  110. #define SNMP_PDU_RESPONSE   (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x2)
  111. #define SNMP_PDU_SET        (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x3)
  112. /* This one is obsolete:    (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x4) */
  113. #define SNMP_PDU_GETBULK    (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x5)
  114. #define SNMP_PDU_INFORM     (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x6)
  115. #define SNMP_PDU_TRAP       (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x7)
  116.  
  117. /* SNMP Trap Values */
  118. #define SNMP_TRAP_COLDSTART                  0
  119. #define SNMP_TRAP_WARMSTART                  1
  120. #define SNMP_TRAP_LINKDOWN                   2
  121. #define SNMP_TRAP_LINKUP                     3
  122. #define SNMP_TRAP_AUTHFAIL                   4
  123. #define SNMP_TRAP_EGPNEIGHBORLOSS            5
  124. #define SNMP_TRAP_ENTERPRISESPECIFIC         6
  125.  
  126. /* Exception Values for Response Varbinds */
  127. #define SNMP_VALUE_NOSUCHOBJECT    (ASN_CONTEXT | ASN_PRIMITIVE | 0x0)
  128. #define SNMP_VALUE_NOSUCHINSTANCE  (ASN_CONTEXT | ASN_PRIMITIVE | 0x1)
  129. #define SNMP_VALUE_ENDOFMIBVIEW    (ASN_CONTEXT | ASN_PRIMITIVE | 0x2)
  130.  
  131. /* SNMP error codes returned in error_status field of PDU */
  132. /* These are NOT WinSNMP API error codes for SnmpGetLastError */
  133. /* Error codes common to SNMPv1 and SNMPv2 */
  134. #define SNMP_ERROR_NOERROR                   0
  135. #define SNMP_ERROR_TOOBIG                    1
  136. #define SNMP_ERROR_NOSUCHNAME                2
  137. #define SNMP_ERROR_BADVALUE                  3
  138. #define SNMP_ERROR_READONLY                  4
  139. #define SNMP_ERROR_GENERR                    5
  140. /* Error codes added for SNMPv2 */
  141. #define SNMP_ERROR_NOACCESS                  6
  142. #define SNMP_ERROR_WRONGTYPE                 7
  143. #define SNMP_ERROR_WRONGLENGTH               8
  144. #define SNMP_ERROR_WRONGENCODING             9
  145. #define SNMP_ERROR_WRONGVALUE                10
  146. #define SNMP_ERROR_NOCREATION                11
  147. #define SNMP_ERROR_INCONSISTENTVALUE         12
  148. #define SNMP_ERROR_RESOURCEUNAVAILABLE       13
  149. #define SNMP_ERROR_COMMITFAILED              14
  150. #define SNMP_ERROR_UNDOFAILED                15
  151. #define SNMP_ERROR_AUTHORIZATIONERROR        16
  152. #define SNMP_ERROR_NOTWRITABLE               17
  153. #define SNMP_ERROR_INCONSISTENTNAME          18
  154.  
  155. /* WinSNMP API values */
  156. /* Values used to indicate entity/context translation modes */
  157. #define SNMPAPI_NORMAL             0    /* Local Database look-up */
  158. #define SNMPAPI_UNTRANSLATED_V1    1    /* Raw v1 addressing */
  159. #define SNMPAPI_UNTRANSLATED_V2    2    /* Raw v2 addressing */
  160.  
  161. /* Values used to indicate SNMP "communications level" */
  162. #define SNMPAPI_NO_SUPPORT         0    /* Encode/Decode msg */
  163. #define SNMPAPI_V1_SUPPORT         1    /* v1 agents too */
  164. #define SNMPAPI_V2_SUPPORT         2    /* v2 agents too */
  165. #define SNMPAPI_M2M_SUPPORT        3    /* Manager-to-Manager too */
  166.  
  167. /* Values used to indicate retransmit mode */
  168. #define SNMPAPI_OFF                0    /* Refuse support */
  169. #define SNMPAPI_ON                 1    /* Request support */
  170.  
  171. /*WinSNMP API Function Return Codes */
  172. typedef smiUINT32   SNMPAPI_STATUS;     /* Function return values */
  173. #define SNMPAPI_FAILURE            0    /* Generic error code */
  174. #define SNMPAPI_SUCCESS            1    /* Generic success code */
  175.  
  176. /*WinSNMP API Error Codes (for SnmpGetLastError) */
  177. /* Error conditions reported by the API, other than SNMP Response-
  178. PDU error_status codes. */
  179. #define SNMPAPI_ALLOC_ERROR        2    /* Error allocating memory */
  180. #define SNMPAPI_CONTEXT_INVALID    3    /* Invalid context parameter */
  181. #define SNMPAPI_CONTEXT_UNKNOWN    4    /* Unknown context parameter */
  182. #define SNMPAPI_ENTITY_INVALID     5    /* Invalid entity parameter */
  183. #define SNMPAPI_ENTITY_UNKNOWN     6    /* Unknown entity parameter */
  184. #define SNMPAPI_INDEX_INVALID      7    /* Invalid index parameter */
  185. #define SNMPAPI_NOOP               8    /* No operation performed */
  186. #define SNMPAPI_OID_INVALID        9    /* Invalid OID parameter */
  187. #define SNMPAPI_OPERATION_INVALID  10   /* Invalid/unsupported operation */
  188. #define SNMPAPI_OUTPUT_TRUNCATED   11   /* Insufficient output buf size */
  189. #define SNMPAPI_PDU_INVALID        12   /* Invalid PDU parameter */
  190. #define SNMPAPI_SESSION_INVALID    13   /* Invalid session parameter */
  191. #define SNMPAPI_SYNTAX_INVALID     14   /* Invalid syntax in smiVALUE */
  192. #define SNMPAPI_VBL_INVALID        15   /* Invalid VBL parameter */
  193. #define SNMPAPI_MODE_INVALID       16   /* Invalid mode parameter */
  194. #define SNMPAPI_SIZE_INVALID       17   /* Invalid size/length parameter */
  195. #define SNMPAPI_NOT_INITIALIZED    18   /* SnmpStartup missing/failed */
  196. #define SNMPAPI_MESSAGE_INVALID    19   /* Invalid SNMP message format */
  197. #define SNMPAPI_OTHER_ERROR        99   /* Internal/undefined error */
  198. /* Others will be added as needed */
  199.  
  200. /* WinSNMP API Function Prototypes */
  201. #define IN                              /* Documentation only */
  202. #define OUT                             /* Documentation only */
  203. #define SNMPAPI_CALL     WINAPI         /* FAR PASCAL calling conventions */
  204.  
  205. /* Local Database Functions */
  206.  
  207. SNMPAPI_STATUS SNMPAPI_CALL SnmpGetTranslateMode
  208.                          (OUT smiLPUINT32 nTranslateMode);
  209.  
  210. SNMPAPI_STATUS SNMPAPI_CALL SnmpSetTranslateMode
  211.                          (IN smiUINT32 nTranslateMode);
  212.  
  213. SNMPAPI_STATUS SNMPAPI_CALL SnmpGetRetransmitMode
  214.                          (OUT smiLPUINT32 nRetransmitMode);
  215.  
  216. SNMPAPI_STATUS SNMPAPI_CALL SnmpSetRetransmitMode
  217.                          (IN smiUINT32 nRetransmitMode);
  218.  
  219. SNMPAPI_STATUS SNMPAPI_CALL SnmpGetTimeout
  220.                          (IN HSNMP_ENTITY hEntity,
  221.                          OUT smiLPTIMETICKS nPolicyTimeout,
  222.                          OUT smiLPTIMETICKS nActualTimeout);
  223.  
  224. SNMPAPI_STATUS SNMPAPI_CALL SnmpSetTimeout
  225.                          (IN HSNMP_ENTITY hEntity,
  226.                          IN smiTIMETICKS nPolicyTimeout);
  227.  
  228. SNMPAPI_STATUS SNMPAPI_CALL SnmpGetRetry
  229.                          (IN HSNMP_ENTITY hEntity,
  230.                          OUT smiLPUINT32 nPolicyRetry,
  231.                          OUT smiLPUINT32 nActualRetry);
  232.  
  233. SNMPAPI_STATUS SNMPAPI_CALL SnmpSetRetry
  234.                          (IN HSNMP_ENTITY hEntity,
  235.                          IN smiUINT32 nPolicyRetry);
  236.  
  237. /* Communications Functions */
  238.  
  239. SNMPAPI_STATUS SNMPAPI_CALL SnmpStartup
  240.                          (OUT smiLPUINT32 nMajorVersion,
  241.                          OUT smiLPUINT32 nMinorVersion,
  242.                          OUT smiLPUINT32 nLevel,
  243.                          OUT smiLPUINT32 nTranslateMode,
  244.                          OUT smiLPUINT32 nRetransmitMode);
  245.  
  246. SNMPAPI_STATUS SNMPAPI_CALL SnmpCleanup
  247.                          (void);
  248.  
  249. HSNMP_SESSION  SNMPAPI_CALL SnmpOpen
  250.                          (IN HWND hWnd,
  251.                          IN UINT wMsg);
  252.  
  253. SNMPAPI_STATUS SNMPAPI_CALL SnmpClose
  254.                          (IN HSNMP_SESSION session);
  255.  
  256. SNMPAPI_STATUS SNMPAPI_CALL SnmpSendMsg
  257.                          (IN HSNMP_SESSION session,
  258.                          IN HSNMP_ENTITY srcEntity,
  259.                          IN HSNMP_ENTITY dstEntity,
  260.                          IN HSNMP_CONTEXT context,
  261.                          IN HSNMP_PDU PDU);
  262.  
  263. HSNMP_PDU      SNMPAPI_CALL SnmpRecvMsg
  264.                          (IN HSNMP_SESSION session,
  265.                          OUT LPHSNMP_ENTITY srcEntity,
  266.                          OUT LPHSNMP_CONTEXT  context);
  267.  
  268. SNMPAPI_STATUS SNMPAPI_CALL SnmpRegister
  269.                          (IN HSNMP_SESSION session,
  270.                          IN HSNMP_ENTITY srcEntity,
  271.                          IN HSNMP_ENTITY dstEntity,
  272.                          IN HSNMP_CONTEXT context,
  273.                          IN smiLPOID notification,
  274.                          IN BOOL enabled);
  275.  
  276. /* Entity/Context Functions */
  277.  
  278. HSNMP_ENTITY   SNMPAPI_CALL SnmpStrToEntity
  279.                          (IN HSNMP_SESSION session,
  280.                          IN LPSTR  entity);
  281.  
  282. SNMPAPI_STATUS SNMPAPI_CALL SnmpEntityToStr
  283.                          (IN HSNMP_ENTITY entity,
  284.                          IN smiUINT32 size,
  285.                          OUT LPSTR string);
  286.  
  287. SNMPAPI_STATUS SNMPAPI_CALL SnmpFreeEntity
  288.                          (IN HSNMP_ENTITY entity);
  289.  
  290. HSNMP_CONTEXT  SNMPAPI_CALL SnmpStrToContext
  291.                          (IN HSNMP_SESSION session,
  292.                          IN HSNMP_ENTITY entity,
  293.                          IN LPSTR context);
  294.  
  295. SNMPAPI_STATUS SNMPAPI_CALL SnmpContextToStr
  296.                          (IN HSNMP_CONTEXT context,
  297.                          IN smiUINT32 size,
  298.                          OUT LPSTR string);
  299.  
  300. SNMPAPI_STATUS SNMPAPI_CALL SnmpFreeContext
  301.                          (IN HSNMP_CONTEXT context);
  302.  
  303. /* PDU Functions */
  304.  
  305. /*
  306. Note that in the SnmpCreatePdu, SnmpGetPduData, and SnmpSetPduData
  307. functions the error_status and error_index parameters can also be
  308. used as non_repeaters and max_repetitions parameters when
  309. appropriate, and vice versa.
  310. */
  311.  
  312. HSNMP_PDU      SNMPAPI_CALL SnmpCreatePdu
  313.                          (IN HSNMP_SESSION session,
  314.                          IN smiINT PDU_type,
  315.                          IN smiINT32 request_id,
  316.                          IN smiINT error_status,
  317.                          IN smiINT error_index,
  318.                          IN HSNMP_VBL varbindlist);
  319.  
  320. SNMPAPI_STATUS SNMPAPI_CALL SnmpGetPduData
  321.                          (IN HSNMP_PDU PDU,
  322.                          OUT smiLPINT PDU_type,
  323.                          OUT smiLPINT32 request_id,
  324.                          OUT smiLPINT error_status,
  325.                          OUT smiLPINT error_index,
  326.                          OUT LPHSNMP_VBL varbindlist);
  327.  
  328. SNMPAPI_STATUS SNMPAPI_CALL SnmpSetPduData
  329.                          (IN HSNMP_PDU PDU,
  330.                          IN smiLPINT PDU_type,
  331.                          IN smiLPINT32 request_id,
  332.                          IN smiLPINT non_repeaters,
  333.                          IN smiLPINT max_repetitions,
  334.                          IN LPHSNMP_VBL varbindlist);
  335.  
  336. HSNMP_PDU      SNMPAPI_CALL SnmpDuplicatePdu
  337.                          (IN HSNMP_SESSION session,
  338.                          IN HSNMP_PDU PDU);
  339.  
  340. SNMPAPI_STATUS SNMPAPI_CALL SnmpFreePdu
  341.                          (IN HSNMP_PDU PDU);
  342.  
  343. /* Variable-Binding Functions */
  344.  
  345. HSNMP_VBL      SNMPAPI_CALL SnmpCreateVbl
  346.                          (IN HSNMP_SESSION session,
  347.                          IN smiLPOID name,
  348.                          IN smiLPVALUE value);
  349.  
  350. HSNMP_VBL      SNMPAPI_CALL SnmpDuplicateVbl
  351.                          (IN HSNMP_SESSION session,
  352.                          IN HSNMP_VBL vbl);
  353.  
  354. SNMPAPI_STATUS SNMPAPI_CALL SnmpFreeVbl
  355.                          (IN HSNMP_VBL vbl);
  356.  
  357. SNMPAPI_STATUS SNMPAPI_CALL SnmpCountVbl
  358.                          (IN HSNMP_VBL vbl);
  359.  
  360. SNMPAPI_STATUS SNMPAPI_CALL SnmpGetVb
  361.                          (IN HSNMP_VBL vbl,
  362.                          IN smiUINT32 index,
  363.                          OUT smiLPOID name,
  364.                          OUT smiLPVALUE value);
  365.  
  366. SNMPAPI_STATUS SNMPAPI_CALL SnmpSetVb
  367.                          (IN HSNMP_VBL vbl,
  368.                          IN smiLPOID name,
  369.                          IN smiLPVALUE value);
  370.  
  371. SNMPAPI_STATUS SNMPAPI_CALL SnmpDeleteVb
  372.                          (IN HSNMP_VBL vbl,
  373.                          IN smiLPOID name);
  374.  
  375. /* Utility Functions */
  376.  
  377. SNMPAPI_STATUS SNMPAPI_CALL SnmpGetLastError
  378.                          (IN HSNMP_SESSION session);
  379.  
  380. SNMPAPI_STATUS SNMPAPI_CALL SnmpStrToOid
  381.                          (IN LPSTR string,
  382.                          IN OUT smiLPOID dstOID);
  383.  
  384. SNMPAPI_STATUS SNMPAPI_CALL SnmpOidToStr
  385.                          (IN smiLPOID srcOID,
  386.                          IN smiUINT32 size,
  387.                          OUT LPSTR string);
  388.  
  389. SNMPAPI_STATUS SNMPAPI_CALL SnmpOidCopy
  390.                          (IN smiLPOID srcOID,
  391.                          IN OUT smiLPOID dstOID);
  392.  
  393. SNMPAPI_STATUS SNMPAPI_CALL SnmpOidCompare
  394.                          (IN smiLPOID xOID,
  395.                          IN smiLPOID yOID,
  396.                          IN smiUINT32 maxlen,
  397.                          OUT smiLPINT result);
  398.  
  399. SNMPAPI_STATUS SNMPAPI_CALL SnmpEncodeMsg
  400.                          (IN HSNMP_SESSION session,
  401.                          IN HSNMP_ENTITY srcEntity,
  402.                          IN HSNMP_ENTITY dstEntity,
  403.                          IN HSNMP_CONTEXT context,
  404.                          IN HSNMP_PDU pdu,
  405.                          IN OUT smiLPOCTETS msgBufDesc);
  406.  
  407. SNMPAPI_STATUS SNMPAPI_CALL SnmpDecodeMsg
  408.                          (IN HSNMP_SESSION session,
  409.                          OUT LPHSNMP_ENTITY srcEntity,
  410.                          OUT LPHSNMP_ENTITY dstEntity,
  411.                          OUT LPHSNMP_CONTEXT context,
  412.                          OUT LPHSNMP_PDU pdu,
  413.                          IN smiLPOCTETS msgBufDesc);
  414.  
  415. #endif    /* _INC_WINSNMP */
  416.