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.

669 lines
24 KiB

  1. /*++
  2. Copyright (C) 1992-1999 Microsoft Corporation
  3. Module Name:
  4. snmp.h
  5. Abstract:
  6. Definitions for SNMP development.
  7. --*/
  8. #ifndef _INC_SNMP
  9. #define _INC_SNMP
  10. #if _MSC_VER > 1000
  11. #pragma once
  12. #endif
  13. ///////////////////////////////////////////////////////////////////////////////
  14. // //
  15. // Additional Header Files //
  16. // //
  17. ///////////////////////////////////////////////////////////////////////////////
  18. #include <windows.h>
  19. #ifdef __cplusplus
  20. extern "C" {
  21. #endif
  22. ///////////////////////////////////////////////////////////////////////////////
  23. // //
  24. // SNMP Type Definitions //
  25. // //
  26. ///////////////////////////////////////////////////////////////////////////////
  27. #include <pshpack4.h>
  28. typedef struct {
  29. BYTE * stream;
  30. UINT length;
  31. BOOL dynamic;
  32. } AsnOctetString;
  33. typedef struct {
  34. UINT idLength;
  35. UINT * ids;
  36. } AsnObjectIdentifier;
  37. typedef LONG AsnInteger32;
  38. typedef ULONG AsnUnsigned32;
  39. typedef ULARGE_INTEGER AsnCounter64;
  40. typedef AsnUnsigned32 AsnCounter32;
  41. typedef AsnUnsigned32 AsnGauge32;
  42. typedef AsnUnsigned32 AsnTimeticks;
  43. typedef AsnOctetString AsnBits;
  44. typedef AsnOctetString AsnSequence;
  45. typedef AsnOctetString AsnImplicitSequence;
  46. typedef AsnOctetString AsnIPAddress;
  47. typedef AsnOctetString AsnNetworkAddress;
  48. typedef AsnOctetString AsnDisplayString;
  49. typedef AsnOctetString AsnOpaque;
  50. typedef struct {
  51. BYTE asnType;
  52. union {
  53. AsnInteger32 number; // ASN_INTEGER
  54. // ASN_INTEGER32
  55. AsnUnsigned32 unsigned32; // ASN_UNSIGNED32
  56. AsnCounter64 counter64; // ASN_COUNTER64
  57. AsnOctetString string; // ASN_OCTETSTRING
  58. AsnBits bits; // ASN_BITS
  59. AsnObjectIdentifier object; // ASN_OBJECTIDENTIFIER
  60. AsnSequence sequence; // ASN_SEQUENCE
  61. AsnIPAddress address; // ASN_IPADDRESS
  62. AsnCounter32 counter; // ASN_COUNTER32
  63. AsnGauge32 gauge; // ASN_GAUGE32
  64. AsnTimeticks ticks; // ASN_TIMETICKS
  65. AsnOpaque arbitrary; // ASN_OPAQUE
  66. } asnValue;
  67. } AsnAny;
  68. typedef AsnObjectIdentifier AsnObjectName;
  69. typedef AsnAny AsnObjectSyntax;
  70. typedef struct {
  71. AsnObjectName name;
  72. AsnObjectSyntax value;
  73. } SnmpVarBind;
  74. typedef struct {
  75. SnmpVarBind * list;
  76. UINT len;
  77. } SnmpVarBindList;
  78. #include <poppack.h>
  79. #ifndef _INC_WINSNMP
  80. ///////////////////////////////////////////////////////////////////////////////
  81. // //
  82. // ASN/BER Base Types //
  83. // //
  84. ///////////////////////////////////////////////////////////////////////////////
  85. #define ASN_UNIVERSAL 0x00
  86. #define ASN_APPLICATION 0x40
  87. #define ASN_CONTEXT 0x80
  88. #define ASN_PRIVATE 0xC0
  89. #define ASN_PRIMITIVE 0x00
  90. #define ASN_CONSTRUCTOR 0x20
  91. ///////////////////////////////////////////////////////////////////////////////
  92. // //
  93. // PDU Type Values //
  94. // //
  95. ///////////////////////////////////////////////////////////////////////////////
  96. #define SNMP_PDU_GET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x0)
  97. #define SNMP_PDU_GETNEXT (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x1)
  98. #define SNMP_PDU_RESPONSE (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x2)
  99. #define SNMP_PDU_SET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x3)
  100. #define SNMP_PDU_V1TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x4)
  101. #define SNMP_PDU_GETBULK (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x5)
  102. #define SNMP_PDU_INFORM (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x6)
  103. #define SNMP_PDU_TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x7)
  104. #endif // _INC_WINSNMP
  105. ///////////////////////////////////////////////////////////////////////////////
  106. // //
  107. // SNMP Simple Syntax Values //
  108. // //
  109. ///////////////////////////////////////////////////////////////////////////////
  110. #define ASN_INTEGER (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x02)
  111. #define ASN_BITS (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03)
  112. #define ASN_OCTETSTRING (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x04)
  113. #define ASN_NULL (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x05)
  114. #define ASN_OBJECTIDENTIFIER (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x06)
  115. #define ASN_INTEGER32 ASN_INTEGER
  116. ///////////////////////////////////////////////////////////////////////////////
  117. // //
  118. // SNMP Constructor Syntax Values //
  119. // //
  120. ///////////////////////////////////////////////////////////////////////////////
  121. #define ASN_SEQUENCE (ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10)
  122. #define ASN_SEQUENCEOF ASN_SEQUENCE
  123. ///////////////////////////////////////////////////////////////////////////////
  124. // //
  125. // SNMP Application Syntax Values //
  126. // //
  127. ///////////////////////////////////////////////////////////////////////////////
  128. #define ASN_IPADDRESS (ASN_APPLICATION | ASN_PRIMITIVE | 0x00)
  129. #define ASN_COUNTER32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x01)
  130. #define ASN_GAUGE32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x02)
  131. #define ASN_TIMETICKS (ASN_APPLICATION | ASN_PRIMITIVE | 0x03)
  132. #define ASN_OPAQUE (ASN_APPLICATION | ASN_PRIMITIVE | 0x04)
  133. #define ASN_COUNTER64 (ASN_APPLICATION | ASN_PRIMITIVE | 0x06)
  134. #define ASN_UINTEGER32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x07)
  135. #define ASN_RFC2578_UNSIGNED32 ASN_GAUGE32
  136. ///////////////////////////////////////////////////////////////////////////////
  137. // //
  138. // SNMP Exception Conditions //
  139. // //
  140. ///////////////////////////////////////////////////////////////////////////////
  141. #define SNMP_EXCEPTION_NOSUCHOBJECT (ASN_CONTEXT | ASN_PRIMITIVE | 0x00)
  142. #define SNMP_EXCEPTION_NOSUCHINSTANCE (ASN_CONTEXT | ASN_PRIMITIVE | 0x01)
  143. #define SNMP_EXCEPTION_ENDOFMIBVIEW (ASN_CONTEXT | ASN_PRIMITIVE | 0x02)
  144. ///////////////////////////////////////////////////////////////////////////////
  145. // //
  146. // SNMP Request Types (used in SnmpExtensionQueryEx) //
  147. // //
  148. ///////////////////////////////////////////////////////////////////////////////
  149. #define SNMP_EXTENSION_GET SNMP_PDU_GET
  150. #define SNMP_EXTENSION_GET_NEXT SNMP_PDU_GETNEXT
  151. #define SNMP_EXTENSION_GET_BULK SNMP_PDU_GETBULK
  152. #define SNMP_EXTENSION_SET_TEST (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x0)
  153. #define SNMP_EXTENSION_SET_COMMIT SNMP_PDU_SET
  154. #define SNMP_EXTENSION_SET_UNDO (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x1)
  155. #define SNMP_EXTENSION_SET_CLEANUP (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x2)
  156. ///////////////////////////////////////////////////////////////////////////////
  157. // //
  158. // SNMP Error Codes //
  159. // //
  160. ///////////////////////////////////////////////////////////////////////////////
  161. #define SNMP_ERRORSTATUS_NOERROR 0
  162. #define SNMP_ERRORSTATUS_TOOBIG 1
  163. #define SNMP_ERRORSTATUS_NOSUCHNAME 2
  164. #define SNMP_ERRORSTATUS_BADVALUE 3
  165. #define SNMP_ERRORSTATUS_READONLY 4
  166. #define SNMP_ERRORSTATUS_GENERR 5
  167. #define SNMP_ERRORSTATUS_NOACCESS 6
  168. #define SNMP_ERRORSTATUS_WRONGTYPE 7
  169. #define SNMP_ERRORSTATUS_WRONGLENGTH 8
  170. #define SNMP_ERRORSTATUS_WRONGENCODING 9
  171. #define SNMP_ERRORSTATUS_WRONGVALUE 10
  172. #define SNMP_ERRORSTATUS_NOCREATION 11
  173. #define SNMP_ERRORSTATUS_INCONSISTENTVALUE 12
  174. #define SNMP_ERRORSTATUS_RESOURCEUNAVAILABLE 13
  175. #define SNMP_ERRORSTATUS_COMMITFAILED 14
  176. #define SNMP_ERRORSTATUS_UNDOFAILED 15
  177. #define SNMP_ERRORSTATUS_AUTHORIZATIONERROR 16
  178. #define SNMP_ERRORSTATUS_NOTWRITABLE 17
  179. #define SNMP_ERRORSTATUS_INCONSISTENTNAME 18
  180. ///////////////////////////////////////////////////////////////////////////////
  181. // //
  182. // SNMPv1 Trap Types //
  183. // //
  184. ///////////////////////////////////////////////////////////////////////////////
  185. #define SNMP_GENERICTRAP_COLDSTART 0
  186. #define SNMP_GENERICTRAP_WARMSTART 1
  187. #define SNMP_GENERICTRAP_LINKDOWN 2
  188. #define SNMP_GENERICTRAP_LINKUP 3
  189. #define SNMP_GENERICTRAP_AUTHFAILURE 4
  190. #define SNMP_GENERICTRAP_EGPNEIGHLOSS 5
  191. #define SNMP_GENERICTRAP_ENTERSPECIFIC 6
  192. ///////////////////////////////////////////////////////////////////////////////
  193. // //
  194. // SNMP Access Types //
  195. // //
  196. ///////////////////////////////////////////////////////////////////////////////
  197. #define SNMP_ACCESS_NONE 0
  198. #define SNMP_ACCESS_NOTIFY 1
  199. #define SNMP_ACCESS_READ_ONLY 2
  200. #define SNMP_ACCESS_READ_WRITE 3
  201. #define SNMP_ACCESS_READ_CREATE 4
  202. ///////////////////////////////////////////////////////////////////////////////
  203. // //
  204. // SNMP API Return Code Definitions //
  205. // //
  206. ///////////////////////////////////////////////////////////////////////////////
  207. #define SNMPAPI INT
  208. #define SNMP_FUNC_TYPE WINAPI
  209. #define SNMPAPI_NOERROR TRUE
  210. #define SNMPAPI_ERROR FALSE
  211. ///////////////////////////////////////////////////////////////////////////////
  212. // //
  213. // SNMP Extension API Prototypes //
  214. // //
  215. ///////////////////////////////////////////////////////////////////////////////
  216. BOOL
  217. SNMP_FUNC_TYPE
  218. SnmpExtensionInit(
  219. DWORD dwUptimeReference,
  220. HANDLE * phSubagentTrapEvent,
  221. AsnObjectIdentifier * pFirstSupportedRegion
  222. );
  223. BOOL
  224. SNMP_FUNC_TYPE
  225. SnmpExtensionInitEx(
  226. AsnObjectIdentifier * pNextSupportedRegion
  227. );
  228. BOOL
  229. SNMP_FUNC_TYPE
  230. SnmpExtensionMonitor(
  231. LPVOID pAgentMgmtData
  232. );
  233. BOOL
  234. SNMP_FUNC_TYPE
  235. SnmpExtensionQuery(
  236. BYTE bPduType,
  237. SnmpVarBindList * pVarBindList,
  238. AsnInteger32 * pErrorStatus,
  239. AsnInteger32 * pErrorIndex
  240. );
  241. BOOL
  242. SNMP_FUNC_TYPE
  243. SnmpExtensionQueryEx(
  244. UINT nRequestType,
  245. UINT nTransactionId,
  246. SnmpVarBindList * pVarBindList,
  247. AsnOctetString * pContextInfo,
  248. AsnInteger32 * pErrorStatus,
  249. AsnInteger32 * pErrorIndex
  250. );
  251. BOOL
  252. SNMP_FUNC_TYPE
  253. SnmpExtensionTrap(
  254. AsnObjectIdentifier * pEnterpriseOid,
  255. AsnInteger32 * pGenericTrapId,
  256. AsnInteger32 * pSpecificTrapId,
  257. AsnTimeticks * pTimeStamp,
  258. SnmpVarBindList * pVarBindList
  259. );
  260. VOID
  261. SNMP_FUNC_TYPE
  262. SnmpExtensionClose(
  263. );
  264. ///////////////////////////////////////////////////////////////////////////////
  265. // //
  266. // SNMP Extension API Type Definitions //
  267. // //
  268. ///////////////////////////////////////////////////////////////////////////////
  269. typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONINIT)(
  270. DWORD dwUpTimeReference,
  271. HANDLE * phSubagentTrapEvent,
  272. AsnObjectIdentifier * pFirstSupportedRegion
  273. );
  274. typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONINITEX)(
  275. AsnObjectIdentifier * pNextSupportedRegion
  276. );
  277. typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONMONITOR)(
  278. LPVOID pAgentMgmtData
  279. );
  280. typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONQUERY)(
  281. BYTE bPduType,
  282. SnmpVarBindList * pVarBindList,
  283. AsnInteger32 * pErrorStatus,
  284. AsnInteger32 * pErrorIndex
  285. );
  286. typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONQUERYEX)(
  287. UINT nRequestType,
  288. UINT nTransactionId,
  289. SnmpVarBindList * pVarBindList,
  290. AsnOctetString * pContextInfo,
  291. AsnInteger32 * pErrorStatus,
  292. AsnInteger32 * pErrorIndex
  293. );
  294. typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONTRAP)(
  295. AsnObjectIdentifier * pEnterpriseOid,
  296. AsnInteger32 * pGenericTrapId,
  297. AsnInteger32 * pSpecificTrapId,
  298. AsnTimeticks * pTimeStamp,
  299. SnmpVarBindList * pVarBindList
  300. );
  301. typedef VOID (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONCLOSE)(
  302. );
  303. ///////////////////////////////////////////////////////////////////////////////
  304. // //
  305. // SNMP API Prototypes //
  306. // //
  307. ///////////////////////////////////////////////////////////////////////////////
  308. SNMPAPI
  309. SNMP_FUNC_TYPE
  310. SnmpUtilOidCpy(
  311. AsnObjectIdentifier * pOidDst,
  312. AsnObjectIdentifier * pOidSrc
  313. );
  314. SNMPAPI
  315. SNMP_FUNC_TYPE
  316. SnmpUtilOidAppend(
  317. AsnObjectIdentifier * pOidDst,
  318. AsnObjectIdentifier * pOidSrc
  319. );
  320. SNMPAPI
  321. SNMP_FUNC_TYPE
  322. SnmpUtilOidNCmp(
  323. AsnObjectIdentifier * pOid1,
  324. AsnObjectIdentifier * pOid2,
  325. UINT nSubIds
  326. );
  327. SNMPAPI
  328. SNMP_FUNC_TYPE
  329. SnmpUtilOidCmp(
  330. AsnObjectIdentifier * pOid1,
  331. AsnObjectIdentifier * pOid2
  332. );
  333. VOID
  334. SNMP_FUNC_TYPE
  335. SnmpUtilOidFree(
  336. AsnObjectIdentifier * pOid
  337. );
  338. SNMPAPI
  339. SNMP_FUNC_TYPE
  340. SnmpUtilOctetsCmp(
  341. AsnOctetString * pOctets1,
  342. AsnOctetString * pOctets2
  343. );
  344. SNMPAPI
  345. SNMP_FUNC_TYPE
  346. SnmpUtilOctetsNCmp(
  347. AsnOctetString * pOctets1,
  348. AsnOctetString * pOctets2,
  349. UINT nChars
  350. );
  351. SNMPAPI
  352. SNMP_FUNC_TYPE
  353. SnmpUtilOctetsCpy(
  354. AsnOctetString * pOctetsDst,
  355. AsnOctetString * pOctetsSrc
  356. );
  357. VOID
  358. SNMP_FUNC_TYPE
  359. SnmpUtilOctetsFree(
  360. AsnOctetString * pOctets
  361. );
  362. SNMPAPI
  363. SNMP_FUNC_TYPE
  364. SnmpUtilAsnAnyCpy(
  365. AsnAny * pAnyDst,
  366. AsnAny * pAnySrc
  367. );
  368. VOID
  369. SNMP_FUNC_TYPE
  370. SnmpUtilAsnAnyFree(
  371. AsnAny * pAny
  372. );
  373. SNMPAPI
  374. SNMP_FUNC_TYPE
  375. SnmpUtilVarBindCpy(
  376. SnmpVarBind * pVbDst,
  377. SnmpVarBind * pVbSrc
  378. );
  379. VOID
  380. SNMP_FUNC_TYPE
  381. SnmpUtilVarBindFree(
  382. SnmpVarBind * pVb
  383. );
  384. SNMPAPI
  385. SNMP_FUNC_TYPE
  386. SnmpUtilVarBindListCpy(
  387. SnmpVarBindList * pVblDst,
  388. SnmpVarBindList * pVblSrc
  389. );
  390. VOID
  391. SNMP_FUNC_TYPE
  392. SnmpUtilVarBindListFree(
  393. SnmpVarBindList * pVbl
  394. );
  395. VOID
  396. SNMP_FUNC_TYPE
  397. SnmpUtilMemFree(
  398. LPVOID pMem
  399. );
  400. LPVOID
  401. SNMP_FUNC_TYPE
  402. SnmpUtilMemAlloc(
  403. UINT nBytes
  404. );
  405. LPVOID
  406. SNMP_FUNC_TYPE
  407. SnmpUtilMemReAlloc(
  408. LPVOID pMem,
  409. UINT nBytes
  410. );
  411. LPSTR
  412. SNMP_FUNC_TYPE
  413. SnmpUtilOidToA(
  414. IN AsnObjectIdentifier *Oid
  415. );
  416. LPSTR
  417. SNMP_FUNC_TYPE
  418. SnmpUtilIdsToA(
  419. IN UINT *Ids,
  420. IN UINT IdLength
  421. );
  422. VOID
  423. SNMP_FUNC_TYPE
  424. SnmpUtilPrintOid(
  425. IN AsnObjectIdentifier *Oid
  426. );
  427. VOID
  428. SNMP_FUNC_TYPE
  429. SnmpUtilPrintAsnAny(
  430. AsnAny * pAny
  431. );
  432. DWORD
  433. SNMP_FUNC_TYPE
  434. SnmpSvcGetUptime(
  435. );
  436. VOID
  437. SNMP_FUNC_TYPE
  438. SnmpSvcSetLogLevel(
  439. INT nLogLevel
  440. );
  441. VOID
  442. SNMP_FUNC_TYPE
  443. SnmpSvcSetLogType(
  444. INT nLogType
  445. );
  446. ///////////////////////////////////////////////////////////////////////////////
  447. // //
  448. // SNMP Debugging Definitions //
  449. // //
  450. ///////////////////////////////////////////////////////////////////////////////
  451. #define SNMP_LOG_SILENT 0x0
  452. #define SNMP_LOG_FATAL 0x1
  453. #define SNMP_LOG_ERROR 0x2
  454. #define SNMP_LOG_WARNING 0x3
  455. #define SNMP_LOG_TRACE 0x4
  456. #define SNMP_LOG_VERBOSE 0x5
  457. #define SNMP_OUTPUT_TO_CONSOLE 0x1
  458. #define SNMP_OUTPUT_TO_LOGFILE 0x2
  459. #define SNMP_OUTPUT_TO_EVENTLOG 0x4 // no longer supported
  460. #define SNMP_OUTPUT_TO_DEBUGGER 0x8
  461. ///////////////////////////////////////////////////////////////////////////////
  462. // //
  463. // SNMP Debugging Prototypes //
  464. // //
  465. ///////////////////////////////////////////////////////////////////////////////
  466. VOID
  467. SNMP_FUNC_TYPE
  468. SnmpUtilDbgPrint(
  469. IN INT nLogLevel, // see log levels above...
  470. IN LPSTR szFormat,
  471. IN ...
  472. );
  473. #if DBG
  474. #define SNMPDBG(_x_) SnmpUtilDbgPrint _x_
  475. #else
  476. #define SNMPDBG(_x_)
  477. #endif
  478. ///////////////////////////////////////////////////////////////////////////////
  479. // //
  480. // Miscellaneous definitions //
  481. // //
  482. ///////////////////////////////////////////////////////////////////////////////
  483. #define DEFINE_SIZEOF(Array) (sizeof(Array)/sizeof((Array)[0]))
  484. #define DEFINE_OID(SubIdArray) {DEFINE_SIZEOF(SubIdArray),(SubIdArray)}
  485. #define DEFINE_NULLOID() {0,NULL}
  486. #define DEFINE_NULLOCTETS() {NULL,0,FALSE}
  487. #define DEFAULT_SNMP_PORT_UDP 161
  488. #define DEFAULT_SNMP_PORT_IPX 36879
  489. #define DEFAULT_SNMPTRAP_PORT_UDP 162
  490. #define DEFAULT_SNMPTRAP_PORT_IPX 36880
  491. #define SNMP_MAX_OID_LEN 128
  492. ///////////////////////////////////////////////////////////////////////////////
  493. // //
  494. // API Error Code Definitions //
  495. // //
  496. ///////////////////////////////////////////////////////////////////////////////
  497. #define SNMP_MEM_ALLOC_ERROR 1
  498. #define SNMP_BERAPI_INVALID_LENGTH 10
  499. #define SNMP_BERAPI_INVALID_TAG 11
  500. #define SNMP_BERAPI_OVERFLOW 12
  501. #define SNMP_BERAPI_SHORT_BUFFER 13
  502. #define SNMP_BERAPI_INVALID_OBJELEM 14
  503. #define SNMP_PDUAPI_UNRECOGNIZED_PDU 20
  504. #define SNMP_PDUAPI_INVALID_ES 21
  505. #define SNMP_PDUAPI_INVALID_GT 22
  506. #define SNMP_AUTHAPI_INVALID_VERSION 30
  507. #define SNMP_AUTHAPI_INVALID_MSG_TYPE 31
  508. #define SNMP_AUTHAPI_TRIV_AUTH_FAILED 32
  509. ///////////////////////////////////////////////////////////////////////////////
  510. // //
  511. // Support for old definitions (support disabled via SNMPSTRICT) //
  512. // //
  513. ///////////////////////////////////////////////////////////////////////////////
  514. #ifndef SNMPSTRICT
  515. #define SNMP_oidcpy SnmpUtilOidCpy
  516. #define SNMP_oidappend SnmpUtilOidAppend
  517. #define SNMP_oidncmp SnmpUtilOidNCmp
  518. #define SNMP_oidcmp SnmpUtilOidCmp
  519. #define SNMP_oidfree SnmpUtilOidFree
  520. #define SNMP_CopyVarBindList SnmpUtilVarBindListCpy
  521. #define SNMP_FreeVarBindList SnmpUtilVarBindListFree
  522. #define SNMP_CopyVarBind SnmpUtilVarBindCpy
  523. #define SNMP_FreeVarBind SnmpUtilVarBindFree
  524. #define SNMP_printany SnmpUtilPrintAsnAny
  525. #define SNMP_free SnmpUtilMemFree
  526. #define SNMP_malloc SnmpUtilMemAlloc
  527. #define SNMP_realloc SnmpUtilMemReAlloc
  528. #define SNMP_DBG_free SnmpUtilMemFree
  529. #define SNMP_DBG_malloc SnmpUtilMemAlloc
  530. #define SNMP_DBG_realloc SnmpUtilMemReAlloc
  531. #define ASN_RFC1155_IPADDRESS ASN_IPADDRESS
  532. #define ASN_RFC1155_COUNTER ASN_COUNTER32
  533. #define ASN_RFC1155_GAUGE ASN_GAUGE32
  534. #define ASN_RFC1155_TIMETICKS ASN_TIMETICKS
  535. #define ASN_RFC1155_OPAQUE ASN_OPAQUE
  536. #define ASN_RFC1213_DISPSTRING ASN_OCTETSTRING
  537. #define ASN_RFC1157_GETREQUEST SNMP_PDU_GET
  538. #define ASN_RFC1157_GETNEXTREQUEST SNMP_PDU_GETNEXT
  539. #define ASN_RFC1157_GETRESPONSE SNMP_PDU_RESPONSE
  540. #define ASN_RFC1157_SETREQUEST SNMP_PDU_SET
  541. #define ASN_RFC1157_TRAP SNMP_PDU_V1TRAP
  542. #define ASN_CONTEXTSPECIFIC ASN_CONTEXT
  543. #define ASN_PRIMATIVE ASN_PRIMITIVE
  544. #define RFC1157VarBindList SnmpVarBindList
  545. #define RFC1157VarBind SnmpVarBind
  546. #define AsnInteger AsnInteger32
  547. #define AsnCounter AsnCounter32
  548. #define AsnGauge AsnGauge32
  549. #define ASN_UNSIGNED32 ASN_UINTEGER32
  550. #endif // SNMPSTRICT
  551. #ifdef __cplusplus
  552. }
  553. #endif
  554. #endif // _INC_SNMP