1 #ifndef NETSNMP_LIBRARY_OID_H
2 #define NETSNMP_LIBRARY_OID_H
3 
4 #if defined(__CYGWIN__) && defined(__LP64__)
5 /*
6  * The winExtDLL implementation assumes that the size of an OID component is
7  * 32 bits. Since on the 64-bit Cygwin environment unsigned long is 64 bits
8  * wide, use unsigned int instead for oids. See also the definition of
9  * SnmpVarBindList on MSDN
10  * (https://msdn.microsoft.com/en-us/library/windows/desktop/aa378929.aspx).
11  */
12 typedef unsigned int oid;
13 #define MAX_SUBID   0xFFFFFFFFUL
14 #define NETSNMP_PRIo ""
15 #else
16 #ifndef EIGHTBIT_SUBIDS
17 typedef unsigned long oid;
18 #define MAX_SUBID   0xFFFFFFFFUL
19 #define NETSNMP_PRIo "l"
20 #else
21 typedef unsigned char oid;
22 #define MAX_SUBID   0xFF
23 #define NETSNMP_PRIo ""
24 #endif
25 #endif /* __CYGWIN64__ */
26 
27 #endif /* NETSNMP_LIBRARY_OID_H */
28