holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/winsnmp.h
branchbug235_bringup_0
changeset 20 d2d6724aef32
equal deleted inserted replaced
19:da7c1a80df0d 20:d2d6724aef32
       
     1 /*
       
     2   winsnmp.h - Header file for the Windows SNMP API
       
     3 
       
     4   Written by Filip Navara <xnavara@volny.cz>
       
     5 
       
     6   References (2003-08-25):
       
     7     Windows SNMP
       
     8     http://www.winsnmp.com/docs/winsnmp.doc
       
     9 
       
    10     WinSNMP v2.0 Addendum
       
    11     http://www.winsnmp.com/docs/winsnmp2.txt
       
    12 
       
    13     WinSNMP v3.0 API Addendum
       
    14     http://www.winsnmp.com/docs/winsnmp3.htm
       
    15 
       
    16     WinSNMP Reference
       
    17     http://msdn.microsoft.com/library/en-us/snmp/snmp/winsnmp_api_reference.asp
       
    18 
       
    19   This library is distributed in the hope that it will be useful,
       
    20   but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    21   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
       
    22 */
       
    23 
       
    24 #ifndef _WINSNMP_H
       
    25 #define _WINSNMP_H
       
    26 #if __GNUC__ >= 3
       
    27 #pragma GCC system_header
       
    28 #endif
       
    29 
       
    30 #ifndef _WINDOWS_H
       
    31 #include <windows.h>
       
    32 #endif
       
    33 
       
    34 #include <pshpack4.h>
       
    35 
       
    36 #ifndef WINSNMPAPI
       
    37 #define WINSNMPAPI WINAPI
       
    38 #endif
       
    39 
       
    40 #ifdef __cplusplus
       
    41 extern "C" {
       
    42 #endif
       
    43 
       
    44 #define MAXOBJIDSIZE	128
       
    45 #define MAXOBJIDSTRSIZE	1408
       
    46 #define MAXVENDORINFO	32
       
    47 #ifndef _SNMP_ASN_DEFINED
       
    48 #define _SNMP_ASN_DEFINED
       
    49 #define ASN_UNIVERSAL	0x00
       
    50 #define ASN_PRIMITIVE	0x00
       
    51 #define ASN_CONSTRUCTOR	0x20
       
    52 #define ASN_APPLICATION	0x40
       
    53 #define ASN_CONTEXT	0x80
       
    54 #define ASN_PRIVATE	0xC0
       
    55 #define SNMP_PDU_GET	(ASN_CONTEXT | ASN_CONSTRUCTOR | 0)
       
    56 #define SNMP_PDU_GETNEXT	(ASN_CONTEXT | ASN_CONSTRUCTOR | 1)
       
    57 #define SNMP_PDU_RESPONSE	(ASN_CONTEXT | ASN_CONSTRUCTOR | 2)
       
    58 #define SNMP_PDU_SET	(ASN_CONTEXT | ASN_CONSTRUCTOR | 3)
       
    59 #define SNMP_PDU_GETBULK	(ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
       
    60 #define SNMP_PDU_V1TRAP	(ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
       
    61 #define SNMP_PDU_INFORM	(ASN_CONTEXT | ASN_CONSTRUCTOR | 6)
       
    62 #define SNMP_PDU_TRAP	(ASN_CONTEXT | ASN_CONSTRUCTOR | 7) 
       
    63 #define SNMP_PDU_REPORT	(ASN_CONTEXT | ASN_CONSTRUCTOR | 8)
       
    64 #endif /* _SNMP_ASN_DEFINED */
       
    65 #define SNMP_SYNTAX_SEQUENCE	(ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10)
       
    66 #define SNMP_SYNTAX_INT	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x02)
       
    67 #define SNMP_SYNTAX_BITS	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03)
       
    68 #define SNMP_SYNTAX_OCTETS	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x04)
       
    69 #define SNMP_SYNTAX_NULL	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x05)
       
    70 #define SNMP_SYNTAX_OID	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x06)
       
    71 #define SNMP_SYNTAX_IPADDR	(ASN_APPLICATION | ASN_PRIMITIVE | 0x00)
       
    72 #define SNMP_SYNTAX_CNTR32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x01)
       
    73 #define SNMP_SYNTAX_GAUGE32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x02)
       
    74 #define SNMP_SYNTAX_TIMETICKS	(ASN_APPLICATION | ASN_PRIMITIVE | 0x03)
       
    75 #define SNMP_SYNTAX_OPAQUE	(ASN_APPLICATION | ASN_PRIMITIVE | 0x04)
       
    76 #define SNMP_SYNTAX_NSAPADDR	(ASN_APPLICATION | ASN_PRIMITIVE | 0x05)
       
    77 #define SNMP_SYNTAX_CNTR64	(ASN_APPLICATION | ASN_PRIMITIVE | 0x06)
       
    78 #define SNMP_SYNTAX_UINT32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x07)
       
    79 #define SNMP_SYNTAX_NOSUCHOBJECT	(ASN_CONTEXT | ASN_PRIMITIVE | 0x00)
       
    80 #define SNMP_SYNTAX_NOSUCHINSTANCE	(ASN_CONTEXT | ASN_PRIMITIVE | 0x01)
       
    81 #define SNMP_SYNTAX_ENDOFMIBVIEW	(ASN_CONTEXT | ASN_PRIMITIVE | 0x02)
       
    82 #define SNMP_SYNTAX_INT32	SNMP_SYNTAX_INT
       
    83 #define SNMP_TRAP_COLDSTART	0
       
    84 #define SNMP_TRAP_WARMSTART	1
       
    85 #define SNMP_TRAP_LINKDOWN	2
       
    86 #define SNMP_TRAP_LINKUP	3
       
    87 #define SNMP_TRAP_AUTHFAIL	4
       
    88 #define SNMP_TRAP_EGPNEIGHBORLOSS	5
       
    89 #define SNMP_TRAP_ENTERPRISESPECIFIC	6
       
    90 #define SNMP_ERROR_NOERROR	0
       
    91 #define SNMP_ERROR_TOOBIG	1
       
    92 #define SNMP_ERROR_NOSUCHNAME	2
       
    93 #define SNMP_ERROR_BADVALUE	3
       
    94 #define SNMP_ERROR_READONLY	4
       
    95 #define SNMP_ERROR_GENERR	5
       
    96 #define SNMP_ERROR_NOACCESS	6
       
    97 #define SNMP_ERROR_WRONGTYPE	7
       
    98 #define SNMP_ERROR_WRONGLENGTH	8
       
    99 #define SNMP_ERROR_WRONGENCODING	9
       
   100 #define SNMP_ERROR_WRONGVALUE	10
       
   101 #define SNMP_ERROR_NOCREATION	11
       
   102 #define SNMP_ERROR_INCONSISTENTVALUE	12
       
   103 #define SNMP_ERROR_RESOURCEUNAVAILABLE	13
       
   104 #define SNMP_ERROR_COMMITFAILED	14
       
   105 #define SNMP_ERROR_UNDOFAILED	15
       
   106 #define SNMP_ERROR_AUTHORIZATIONERROR	16
       
   107 #define SNMP_ERROR_NOTWRITABLE	17
       
   108 #define SNMP_ERROR_INCONSISTENTNAME	18
       
   109 #define SNMP_SEC_MODEL_V1	1
       
   110 #define SNMP_SEC_MODEL_V2	2
       
   111 #define SNMP_SEC_MODEL_USM	3
       
   112 #define SNMP_NOAUTH_NOPRIV	0
       
   113 #define SNMP_AUTH_NOPRIV	1
       
   114 #define SNMP_AUTH_PRIV	3
       
   115 #define SNMP_USM_NO_AUTH_PROTOCOL	1
       
   116 #define SNMP_USM_HMACMD5_AUTH_PROTOCOL	2
       
   117 #define SNMP_USM_HMACSHA_AUTH_PROTOCOL	3
       
   118 #define SNMP_USM_NO_PRIV_PROTOCOL	1
       
   119 #define SNMP_USM_DES_PRIV_PROTOCOL	2
       
   120 #define SNMPAPI_TRANSLATED	0
       
   121 #define SNMPAPI_UNTRANSLATED_V1	1
       
   122 #define SNMPAPI_UNTRANSLATED_V2	2
       
   123 #define SNMPAPI_UNTRANSLATED_V3	3
       
   124 #define SNMPAPI_OFF 0
       
   125 #define SNMPAPI_ON 1
       
   126 #define SNMPAPI_FAILURE 0
       
   127 #define SNMPAPI_SUCCESS 1
       
   128 #define SNMPAPI_NO_SUPPORT	0
       
   129 #define SNMPAPI_V1_SUPPORT	1
       
   130 #define SNMPAPI_V2_SUPPORT	2
       
   131 #define SNMPAPI_M2M_SUPPORT	3
       
   132 #define SNMPAPI_V3_SUPPORT	3
       
   133 #define SNMPAPI_ALLOC_ERROR	2
       
   134 #define SNMPAPI_CONTEXT_INVALID	3
       
   135 #define SNMPAPI_CONTEXT_UNKNOWN	4
       
   136 #define SNMPAPI_ENTITY_INVALID	5
       
   137 #define SNMPAPI_ENTITY_UNKNOWN	6
       
   138 #define SNMPAPI_INDEX_INVALID	7
       
   139 #define SNMPAPI_NOOP	8
       
   140 #define SNMPAPI_OID_INVALID	9
       
   141 #define SNMPAPI_OPERATION_INVALID	10
       
   142 #define SNMPAPI_OUTPUT_TRUNCATED	11
       
   143 #define SNMPAPI_PDU_INVALID	12
       
   144 #define SNMPAPI_SESSION_INVALID	13
       
   145 #define SNMPAPI_SYNTAX_INVALID	14
       
   146 #define SNMPAPI_VBL_INVALID	15
       
   147 #define SNMPAPI_MODE_INVALID	16
       
   148 #define SNMPAPI_SIZE_INVALID	17
       
   149 #define SNMPAPI_NOT_INITIALIZED	18
       
   150 #define SNMPAPI_MESSAGE_INVALID	19
       
   151 #define SNMPAPI_HWND_INVALID	20
       
   152 #define SNMPAPI_ENGINE_INVALID	30
       
   153 #define SNMPAPI_ENGINE_DISCOVERY_FAILED	31
       
   154 #define SNMPAPI_OTHER_ERROR	99
       
   155 #define SNMPAPI_TL_NOT_INITIALIZED	100
       
   156 #define SNMPAPI_TL_NOT_SUPPORTED	101
       
   157 #define SNMPAPI_TL_NOT_AVAILABLE	102
       
   158 #define SNMPAPI_TL_RESOURCE_ERROR	103
       
   159 #define SNMPAPI_TL_UNDELIVERABLE	104
       
   160 #define SNMPAPI_TL_SRC_INVALID	105
       
   161 #define SNMPAPI_TL_INVALID_PARAM	106
       
   162 #define SNMPAPI_TL_IN_USE	107
       
   163 #define SNMPAPI_TL_TIMEOUT	108
       
   164 #define SNMPAPI_TL_PDU_TOO_BIG	109
       
   165 #define SNMPAPI_TL_OTHER	199
       
   166 #define SNMPAPI_RPT_INVALIDMSG	200
       
   167 #define SNMPAPI_RPT_INASNPARSEERR	201
       
   168 #define SNMPAPI_RPT_UNKNOWNSECMODEL	202
       
   169 #define SNMPAPI_RPT_UNKNOWNENGINEID	203
       
   170 #define SNMPAPI_RPT_UNSUPPSECLEVEL	204
       
   171 #define SNMPAPI_RPT_UNKNOWNUSERNAME	205
       
   172 #define SNMPAPI_RPT_WRONGDIGEST	206
       
   173 #define SNMPAPI_RPT_NOTINTIMEWINDOW	207
       
   174 #define SNMPAPI_RPT_DECRYPTIONERROR	208
       
   175 #define SNMPAPI_RPT_OTHER	299
       
   176 
       
   177 #ifndef RC_INVOKED
       
   178 
       
   179 typedef HANDLE HSNMP_SESSION, *LPHSNMP_SESSION;
       
   180 typedef HANDLE HSNMP_CONTEXT, *LPHSNMP_CONTEXT;
       
   181 typedef HANDLE HSNMP_VBL, *LPHSNMP_VBL;
       
   182 typedef HANDLE HSNMP_PDU, *LPHSNMP_PDU;
       
   183 typedef HANDLE HSNMP_ENTITY, *LPHSNMP_ENTITY;
       
   184 typedef unsigned char smiBYTE, *smiLPBYTE;
       
   185 typedef signed int smiINT, *smiLPINT;
       
   186 typedef signed int smiINT32, *smiLPINT32;
       
   187 typedef unsigned int smiUINT32, *smiLPUINT32;
       
   188 typedef smiUINT32 smiCNTR32, *smiLPCNTR32;
       
   189 typedef smiUINT32 smiGAUGE32, *smiLPGAUGE32;
       
   190 typedef smiUINT32 smiTIMETICKS, *smiLPTIMETICKS;
       
   191 typedef smiUINT32 SNMPAPI_STATUS;
       
   192 typedef struct {
       
   193 	smiUINT32 len;
       
   194 	smiLPBYTE ptr;
       
   195 } smiOCTETS, *smiLPOCTETS, smiOPAQUE, *smiLPOPAQUE, smiBITS, *smiLPBITS, smiIPADDR, *smiLPIPADDR, smiNSAPADDR, *smiLPNSAPADDR;
       
   196 typedef const smiLPOCTETS smiLPCOCTETS;
       
   197 typedef struct {
       
   198 	smiUINT32 len;
       
   199 	smiLPUINT32 ptr;
       
   200 } smiOID, *smiLPOID; 
       
   201 typedef const smiLPOID smiLPCOID;
       
   202 typedef struct {
       
   203 	smiUINT32 hipart;
       
   204 	smiUINT32 lopart;
       
   205 } smiCNTR64, *smiLPCNTR64; 
       
   206 typedef struct {
       
   207 	smiUINT32 syntax;
       
   208 	union {
       
   209 		smiINT sNumber;
       
   210 		smiUINT32 uNumber;
       
   211 		smiCNTR64 hNumber;
       
   212 		smiOCTETS string;
       
   213 		smiOID oid;
       
   214 		smiBYTE empty;
       
   215 	} value;
       
   216 } smiVALUE, *smiLPVALUE; 
       
   217 typedef const smiLPVALUE smiLPCVALUE;
       
   218 typedef struct {
       
   219 	CHAR vendorName[MAXVENDORINFO*2];
       
   220 	CHAR vendorContact[MAXVENDORINFO*2];
       
   221 	CHAR vendorVersionId[MAXVENDORINFO];
       
   222 	CHAR vendorVersionDate[MAXVENDORINFO];
       
   223 	smiUINT32 vendorEnterprise; 
       
   224 } smiVENDORINFO, FAR *smiLPVENDORINFO; 
       
   225 typedef SNMPAPI_STATUS (CALLBACK *SNMPAPI_CALLBACK)(HSNMP_SESSION,HWND,UINT,WPARAM,LPARAM,LPVOID);
       
   226 typedef struct
       
   227 {
       
   228 	HSNMP_ENTITY hEntity;
       
   229 	HSNMP_SESSION hSession;
       
   230 	smiUINT32 nTranslateMode;
       
   231 	smiUINT32 nSnmpVersion;
       
   232 	smiOCTETS dFriendlyName;
       
   233 	smiUINT32 nAddressFamily;
       
   234 	smiOCTETS dAddressString;
       
   235 	smiUINT32 nRequestPort;
       
   236 	smiUINT32 nNotificationPort;
       
   237 	smiUINT32 nMaxMsgSize;
       
   238 	smiOCTETS dEngineID;
       
   239 	smiUINT32 nEngineBoots;
       
   240 	smiUINT32 nEngineTime;
       
   241 	smiUINT32 nEngineSeconds;
       
   242 	smiUINT32 nRetransmitMode;
       
   243 	smiTIMETICKS nPolicyTimeout;
       
   244 	smiUINT32 nPolicyRetry;
       
   245 	smiTIMETICKS nActualTimeout;
       
   246 	smiUINT32 nActualRetry;
       
   247 } smiENTITYINFO, *smiLPENTITYINFO;
       
   248 typedef struct
       
   249 {
       
   250 	HSNMP_CONTEXT hContext;
       
   251 	HSNMP_SESSION hSession;
       
   252 	smiUINT32 nTranslateMode;
       
   253 	smiUINT32 nSnmpVersion;
       
   254 	smiOCTETS dFriendlyName;
       
   255 	smiOCTETS dContextEngineID;
       
   256 	smiOCTETS dContextName;
       
   257 	smiOCTETS dSecurityName;
       
   258 	smiUINT32 nSecurityModel;
       
   259 	smiUINT32 nSecurityLevel;
       
   260 	smiUINT32 nSecurityAuthProtocol;
       
   261 	smiOCTETS dSecurityAuthKey;
       
   262 	smiUINT32 nSecurityPrivProtocol;
       
   263 	smiOCTETS dSecurityPrivKey;
       
   264 } smiCONTEXTINFO, *smiLPCONTEXTINFO;
       
   265 
       
   266 SNMPAPI_STATUS WINSNMPAPI SnmpCancelMsg(HSNMP_SESSION,smiINT32);
       
   267 SNMPAPI_STATUS WINSNMPAPI SnmpCleanup(VOID);
       
   268 SNMPAPI_STATUS WINSNMPAPI SnmpClose(HSNMP_SESSION);
       
   269 SNMPAPI_STATUS WINSNMPAPI SnmpContextToStr(HSNMP_CONTEXT,smiLPOCTETS);
       
   270 SNMPAPI_STATUS WINSNMPAPI SnmpCountVbl(HSNMP_VBL);
       
   271 HSNMP_PDU WINSNMPAPI SnmpCreatePdu(HSNMP_SESSION,smiINT,smiINT32,smiINT,smiINT,HSNMP_VBL);
       
   272 HSNMP_SESSION WINSNMPAPI SnmpCreateSession(HWND,UINT,SNMPAPI_CALLBACK,LPVOID);
       
   273 HSNMP_VBL WINSNMPAPI SnmpCreateVbl(HSNMP_SESSION,smiLPCOID,smiLPCVALUE);
       
   274 SNMPAPI_STATUS WINSNMPAPI SnmpDecodeMsg(HSNMP_SESSION,LPHSNMP_ENTITY,LPHSNMP_ENTITY,LPHSNMP_CONTEXT,LPHSNMP_PDU,smiLPCOCTETS);
       
   275 SNMPAPI_STATUS WINSNMPAPI SnmpDeleteVb(HSNMP_VBL,smiUINT32);
       
   276 HSNMP_PDU WINSNMPAPI SnmpDuplicatePdu(HSNMP_SESSION,HSNMP_PDU);
       
   277 HSNMP_VBL WINSNMPAPI SnmpDuplicateVbl(HSNMP_SESSION,HSNMP_VBL);
       
   278 SNMPAPI_STATUS WINSNMPAPI SnmpEncodeMsg(HSNMP_SESSION,HSNMP_ENTITY,HSNMP_ENTITY,HSNMP_CONTEXT,HSNMP_PDU,smiLPOCTETS);
       
   279 SNMPAPI_STATUS WINSNMPAPI SnmpEntityToStr(HSNMP_ENTITY,smiUINT32,LPSTR);
       
   280 SNMPAPI_STATUS WINSNMPAPI SnmpFreeContext(HSNMP_CONTEXT);
       
   281 SNMPAPI_STATUS WINSNMPAPI SnmpFreeDescriptor(smiUINT32,smiLPOPAQUE);
       
   282 SNMPAPI_STATUS WINSNMPAPI SnmpFreeEntity(HSNMP_ENTITY);
       
   283 SNMPAPI_STATUS WINSNMPAPI SnmpFreePdu(HSNMP_PDU);
       
   284 SNMPAPI_STATUS WINSNMPAPI SnmpFreeVbl(HSNMP_VBL);
       
   285 SNMPAPI_STATUS WINSNMPAPI SnmpGetLastError(HSNMP_SESSION);
       
   286 SNMPAPI_STATUS WINSNMPAPI SnmpGetPduData(HSNMP_PDU,smiLPINT,smiLPINT32,smiLPINT,smiLPINT,LPHSNMP_VBL);
       
   287 SNMPAPI_STATUS WINSNMPAPI SnmpGetRetransmitMode(smiLPUINT32);
       
   288 SNMPAPI_STATUS WINSNMPAPI SnmpGetRetry(HSNMP_ENTITY,smiLPUINT32,smiLPUINT32);
       
   289 SNMPAPI_STATUS WINSNMPAPI SnmpGetTimeout(HSNMP_ENTITY,smiLPTIMETICKS,smiLPTIMETICKS);
       
   290 SNMPAPI_STATUS WINSNMPAPI SnmpGetTranslateMode(smiLPUINT32);
       
   291 SNMPAPI_STATUS WINSNMPAPI SnmpGetVb(HSNMP_VBL,smiUINT32,smiLPOID,smiLPVALUE);
       
   292 SNMPAPI_STATUS WINSNMPAPI SnmpGetVendorInfo(smiLPVENDORINFO);
       
   293 SNMPAPI_STATUS WINSNMPAPI SnmpListen(HSNMP_ENTITY,SNMPAPI_STATUS);
       
   294 SNMPAPI_STATUS WINSNMPAPI SnmpOidCompare(smiLPCOID,smiLPCOID,smiUINT32,smiLPINT);
       
   295 SNMPAPI_STATUS WINSNMPAPI SnmpOidCopy(smiLPCOID,smiLPOID);
       
   296 SNMPAPI_STATUS WINSNMPAPI SnmpOidToStr(smiLPCOID,smiUINT32,LPSTR);
       
   297 HSNMP_SESSION WINSNMPAPI SnmpOpen(HWND,UINT);
       
   298 SNMPAPI_STATUS WINSNMPAPI SnmpRecvMsg(HSNMP_SESSION,LPHSNMP_ENTITY,LPHSNMP_ENTITY,LPHSNMP_CONTEXT,LPHSNMP_PDU);
       
   299 SNMPAPI_STATUS WINSNMPAPI SnmpRegister(HSNMP_SESSION,HSNMP_ENTITY,HSNMP_ENTITY,HSNMP_CONTEXT,smiLPCOID,smiUINT32);
       
   300 SNMPAPI_STATUS WINSNMPAPI SnmpSendMsg(HSNMP_SESSION,HSNMP_ENTITY,HSNMP_ENTITY,HSNMP_CONTEXT,HSNMP_PDU);
       
   301 SNMPAPI_STATUS WINSNMPAPI SnmpSetPduData(HSNMP_PDU,const smiINT *,const smiINT32 *,const smiINT *,const smiINT *,const HSNMP_VBL *);
       
   302 SNMPAPI_STATUS WINSNMPAPI SnmpSetPort(HSNMP_ENTITY,UINT);
       
   303 SNMPAPI_STATUS WINSNMPAPI SnmpSetRetransmitMode(smiUINT32);
       
   304 SNMPAPI_STATUS WINSNMPAPI SnmpSetRetry(HSNMP_ENTITY,smiUINT32);
       
   305 SNMPAPI_STATUS WINSNMPAPI SnmpSetTimeout(HSNMP_ENTITY,smiTIMETICKS);
       
   306 SNMPAPI_STATUS WINSNMPAPI SnmpSetTranslateMode(smiUINT32);
       
   307 SNMPAPI_STATUS WINSNMPAPI SnmpSetVb(HSNMP_VBL,smiUINT32,smiLPCOID,smiLPCVALUE);
       
   308 SNMPAPI_STATUS WINSNMPAPI SnmpStartup(smiLPUINT32,smiLPUINT32,smiLPUINT32,smiLPUINT32,smiLPUINT32);
       
   309 HSNMP_CONTEXT WINSNMPAPI SnmpStrToContext(HSNMP_SESSION,smiLPCOCTETS);
       
   310 HSNMP_ENTITY WINSNMPAPI SnmpStrToEntity(HSNMP_SESSION,LPCSTR);
       
   311 SNMPAPI_STATUS WINSNMPAPI SnmpStrToOid(LPCSTR,smiLPOID);
       
   312 /* Added in WinSNMP v3.0, not present in some (all?) versions of MS wsnmp32.dll */
       
   313 HSNMP_ENTITY WINSNMPAPI SnmpCreateEntity(HSNMP_SESSION,smiLPENTITYINFO);
       
   314 SNMPAPI_STATUS WINSNMPAPI SnmpGetEntityInfo(HSNMP_ENTITY,smiLPENTITYINFO);
       
   315 SNMPAPI_STATUS WINSNMPAPI SnmpSetEntityInfo(HSNMP_ENTITY,smiLPENTITYINFO);
       
   316 SNMPAPI_STATUS WINSNMPAPI SnmpFreeEntityInfo(smiLPENTITYINFO);
       
   317 HSNMP_CONTEXT WINSNMPAPI SnmpCreateContext(HSNMP_SESSION,smiLPCONTEXTINFO);
       
   318 SNMPAPI_STATUS WINSNMPAPI SnmpGetContextInfo(HSNMP_CONTEXT,smiLPCONTEXTINFO);
       
   319 SNMPAPI_STATUS WINSNMPAPI SnmpSetContextInfo(HSNMP_CONTEXT,smiLPCONTEXTINFO);
       
   320 SNMPAPI_STATUS WINSNMPAPI SnmpFreeContextInfo(smiLPCONTEXTINFO);
       
   321 SNMPAPI_STATUS WINSNMPAPI SnmpPasswordToKey(smiLPOCTETS,smiINT32,smiLPOCTETS);
       
   322 
       
   323 #endif /* RC_INVOKED */
       
   324 
       
   325 #ifdef __cplusplus
       
   326 }
       
   327 #endif
       
   328 #include <poppack.h>
       
   329 #endif