~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/include/snmp.h

Version: ~ [ wine-1.5.30 ] ~ [ wine-1.5.29 ] ~ [ wine-1.5.28 ] ~ [ wine-1.5.27 ] ~ [ wine-1.5.26 ] ~ [ wine-1.5.25 ] ~ [ wine-1.5.24 ] ~ [ wine-1.5.23 ] ~ [ wine-1.5.22 ] ~ [ wine-1.5.21 ] ~ [ wine-1.5.20 ] ~ [ wine-1.5.19 ] ~ [ wine-1.5.18 ] ~ [ wine-1.5.17 ] ~ [ wine-1.5.16 ] ~ [ wine-1.5.15 ] ~ [ wine-1.5.14 ] ~ [ wine-1.5.13 ] ~ [ wine-1.5.12 ] ~ [ wine-1.5.11 ] ~ [ wine-1.5.10 ] ~ [ wine-1.5.9 ] ~ [ wine-1.5.8 ] ~ [ wine-1.5.7 ] ~ [ wine-1.4.1 ] ~ [ wine-1.5.6 ] ~ [ wine-1.5.5 ] ~ [ wine-1.5.4 ] ~ [ wine-1.5.3 ] ~ [ wine-1.5.2 ] ~ [ wine-1.5.1 ] ~ [ wine-1.5.0 ] ~ [ wine-1.4 ] ~ [ wine-1.4-rc6 ] ~ [ wine-1.4-rc5 ] ~ [ wine-1.4-rc4 ] ~ [ wine-1.4-rc3 ] ~ [ wine-1.4-rc2 ] ~ [ wine-1.4-rc1 ] ~ [ wine-1.3.37 ] ~ [ wine-1.3.36 ] ~ [ wine-1.3.35 ] ~ [ wine-1.3.34 ] ~ [ wine-1.3.33 ] ~ [ wine-1.3.32 ] ~ [ wine-1.3.31 ] ~ [ wine-1.3.30 ] ~ [ wine-1.3.29 ] ~ [ wine-1.3.28 ] ~ [ wine-1.3.27 ] ~ [ wine-1.3.26 ] ~ [ wine-1.3.25 ] ~ [ wine-1.3.24 ] ~ [ wine-1.3.23 ] ~ [ wine-1.3.22 ] ~ [ wine-1.3.21 ] ~ [ wine-1.3.20 ] ~ [ wine-1.3.19 ] ~ [ wine-1.3.18 ] ~ [ wine-1.2.3 ] ~ [ wine-1.3.17 ] ~ [ wine-1.3.16 ] ~ [ wine-1.3.15 ] ~ [ wine-1.3.14 ] ~ [ wine-1.3.13 ] ~ [ wine-1.3.12 ] ~ [ wine-1.3.11 ] ~ [ wine-1.3.10 ] ~ [ wine-1.3.9 ] ~ [ wine-1.2.2 ] ~ [ wine-1.3.8 ] ~ [ wine-1.3.7 ] ~ [ wine-1.3.6 ] ~ [ wine-1.3.5 ] ~ [ wine-1.2.1 ] ~ [ wine-1.3.4 ] ~ [ wine-1.3.3 ] ~ [ wine-1.3.2 ] ~ [ wine-1.3.1 ] ~ [ wine-1.3.0 ] ~ [ wine-1.2 ] ~ [ wine-1.2-rc7 ] ~ [ wine-1.2-rc6 ] ~ [ wine-1.2-rc5 ] ~ [ wine-1.2-rc4 ] ~ [ wine-1.2-rc3 ] ~ [ wine-1.2-rc2 ] ~ [ wine-1.2-rc1 ] ~ [ wine-1.1.44 ] ~ [ wine-1.1.43 ] ~ [ wine-1.1.42 ] ~ [ wine-1.1.41 ] ~ [ wine-1.1.40 ] ~ [ wine-1.1.39 ] ~ [ wine-1.1.38 ] ~ [ wine-1.1.37 ] ~ [ wine-1.1.36 ] ~ [ wine-1.1.35 ] ~ [ wine-1.1.34 ] ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * Copyright (C) 2005 Juan Lang
  3  *
  4  * This library is free software; you can redistribute it and/or
  5  * modify it under the terms of the GNU Lesser General Public
  6  * License as published by the Free Software Foundation; either
  7  * version 2.1 of the License, or (at your option) any later version.
  8  *
  9  * This library is distributed in the hope that it will be useful,
 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 12  * Lesser General Public License for more details.
 13  *
 14  * You should have received a copy of the GNU Lesser General Public
 15  * License along with this library; if not, write to the Free Software
 16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 17  */
 18 #ifndef _WINE_SNMP_H
 19 #define _WINE_SNMP_H
 20 
 21 #ifndef __WINESRC__
 22 # include <windows.h>
 23 #else
 24 # include <windef.h>
 25 #endif
 26 
 27 #include <pshpack4.h>
 28 
 29 typedef struct {
 30     BYTE *stream;
 31     UINT  length;
 32     BOOL  dynamic;
 33 } AsnOctetString;
 34 
 35 typedef struct {
 36     UINT  idLength;
 37     UINT *ids;
 38 } AsnObjectIdentifier;
 39 
 40 typedef LONG           AsnInteger32;
 41 typedef ULONG          AsnUnsigned32;
 42 typedef ULARGE_INTEGER AsnCounter64;
 43 typedef AsnUnsigned32  AsnCounter32;
 44 typedef AsnUnsigned32  AsnGauge32;
 45 typedef AsnUnsigned32  AsnTimeticks;
 46 typedef AsnOctetString AsnBits;
 47 typedef AsnOctetString AsnSequence;
 48 typedef AsnOctetString AsnImplicitSequence;
 49 typedef AsnOctetString AsnIPAddress;
 50 typedef AsnOctetString AsnNetworkAddress;
 51 typedef AsnOctetString AsnDisplayString;
 52 typedef AsnOctetString AsnOpaque;
 53 
 54 typedef struct {
 55     BYTE asnType;
 56     union {
 57         AsnInteger32        number;
 58         AsnUnsigned32       unsigned32;
 59         AsnCounter64        counter64;
 60         AsnOctetString      string;
 61         AsnBits             bits;
 62         AsnObjectIdentifier object;
 63         AsnSequence         sequence;
 64         AsnIPAddress        address;
 65         AsnCounter32        counter;
 66         AsnGauge32          gauge;
 67         AsnTimeticks        ticks;
 68         AsnOpaque           arbitrary;
 69     } asnValue;
 70 } AsnAny;
 71 
 72 typedef AsnObjectIdentifier AsnObjectName;
 73 typedef AsnAny              AsnObjectSyntax;
 74 
 75 typedef struct {
 76     AsnObjectName   name;
 77     AsnObjectSyntax value;
 78 } SnmpVarBind;
 79 
 80 typedef struct {
 81     SnmpVarBind *list;
 82     UINT         len;
 83 } SnmpVarBindList;
 84 
 85 #include <poppack.h>
 86 
 87 #define ASN_UNIVERSAL   0x00
 88 #define ASN_APPLICATION 0x40
 89 #define ASN_CONTEXT     0x80
 90 #define ASN_PRIVATE     0xc0
 91 #define ASN_PRIMITIVE   0x00
 92 #define ASN_CONSTRUCTOR 0x20
 93 
 94 #define SNMP_PDU_GET         (ASN_CONTEXT     | ASN_CONSTRUCTOR | 0x00)
 95 #define SNMP_PDU_GETNEXT     (ASN_CONTEXT     | ASN_CONSTRUCTOR | 0x01)
 96 #define SNMP_PDU_RESPONSE    (ASN_CONTEXT     | ASN_CONSTRUCTOR | 0x02)
 97 #define SNMP_PDU_SET         (ASN_CONTEXT     | ASN_CONSTRUCTOR | 0x03)
 98 #define SNMP_PDU_V1TRAP      (ASN_CONTEXT     | ASN_CONSTRUCTOR | 0x04)
 99 #define SNMP_PDU_GETBULK     (ASN_CONTEXT     | ASN_CONSTRUCTOR | 0x05)
100 #define SNMP_PDU_INFORM      (ASN_CONTEXT     | ASN_CONSTRUCTOR | 0x06)
101 #define SNMP_PDU_TRAP        (ASN_CONTEXT     | ASN_CONSTRUCTOR | 0x07)
102 
103 #define ASN_INTEGER          (ASN_UNIVERSAL   | ASN_PRIMITIVE   | 0x02)
104 #define ASN_BITS             (ASN_UNIVERSAL   | ASN_PRIMITIVE   | 0x03)
105 #define ASN_OCTETSTRING      (ASN_UNIVERSAL   | ASN_PRIMITIVE   | 0x04)
106 #define ASN_NULL             (ASN_UNIVERSAL   | ASN_PRIMITIVE   | 0x05)
107 #define ASN_OBJECTIDENTIFIER (ASN_UNIVERSAL   | ASN_PRIMITIVE   | 0x06)
108 #define ASN_INTEGER32        ASN_INTEGER
109 
110 #define ASN_SEQUENCE         (ASN_UNIVERSAL   | ASN_CONSTRUCTOR | 0x10)
111 #define ASN_SEQUENCEOF       ASN_SEQUENCE
112 
113 #define ASN_IPADDRESS        (ASN_APPLICATION | ASN_PRIMITIVE   | 0x00)
114 #define ASN_COUNTER32        (ASN_APPLICATION | ASN_PRIMITIVE   | 0x01)
115 #define ASN_GAUGE32          (ASN_APPLICATION | ASN_PRIMITIVE   | 0x02)
116 #define ASN_TIMETICKS        (ASN_APPLICATION | ASN_PRIMITIVE   | 0x03)
117 #define ASN_OPAQUE           (ASN_APPLICATION | ASN_PRIMITIVE   | 0x04)
118 #define ASN_COUNTER64        (ASN_APPLICATION | ASN_PRIMITIVE   | 0x06)
119 #define ASN_UNSIGNED32       (ASN_APPLICATION | ASN_PRIMITIVE   | 0x07)
120 
121 #define SNMP_EXCEPTION_NOSUCHOBJECT   (ASN_CONTEXT | ASN_PRIMITIVE | 0x00)
122 #define SNMP_EXCEPTION_NOSUCHINSTANCE (ASN_CONTEXT | ASN_PRIMITIVE | 0x01)
123 #define SNMP_EXCEPTION_ENDOFMIBVIEW   (ASN_CONTEXT | ASN_PRIMITIVE | 0x02)
124 
125 #define SNMP_EXTENSION_GET         SNMP_PDU_GET
126 #define SNMP_EXTENSION_GET_NEXT    SNMP_PDU_GETNEXT
127 #define SNMP_EXTENSION_GET_BULK    SNMP_PDU_GETBULK
128 #define SNMP_EXTENSION_SET_TEST    (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x0)
129 #define SNMP_EXTENSION_SET_COMMIT  SNMP_PDU_SET
130 #define SNMP_EXTENSION_SET_UNDO    (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x1)
131 #define SNMP_EXTENSION_SET_CLEANUP (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x2)
132 
133 #define SNMP_ERRORSTATUS_NOERROR             0
134 #define SNMP_ERRORSTATUS_TOOBIG              1
135 #define SNMP_ERRORSTATUS_NOSUCHNAME          2
136 #define SNMP_ERRORSTATUS_BADVALUE            3
137 #define SNMP_ERRORSTATUS_READONLY            4
138 #define SNMP_ERRORSTATUS_GENERR              5
139 #define SNMP_ERRORSTATUS_NOACCESS            6
140 #define SNMP_ERRORSTATUS_WRONGTYPE           7
141 #define SNMP_ERRORSTATUS_WRONGLENGTH         8
142 #define SNMP_ERRORSTATUS_WRONGENCODING       9
143 #define SNMP_ERRORSTATUS_WRONGVALUE          10
144 #define SNMP_ERRORSTATUS_NOCREATION          11
145 #define SNMP_ERRORSTATUS_INCONSISTENTVALUE   12
146 #define SNMP_ERRORSTATUS_RESOURCEUNAVAILABLE 13
147 #define SNMP_ERRORSTATUS_COMMITFAILED        14
148 #define SNMP_ERRORSTATUS_UNDOFAILED          15
149 #define SNMP_ERRORSTATUS_AUTHORIZATIONERROR  16
150 #define SNMP_ERRORSTATUS_NOTWRITABLE         17
151 #define SNMP_ERRORSTATUS_INCONSISTENTNAME    18
152 
153 #define SNMP_GENERICTRAP_COLDSTART           0
154 #define SNMP_GENERICTRAP_WARMSTART           1
155 #define SNMP_GENERICTRAP_LINKDOWN            2
156 #define SNMP_GENERICTRAP_LINKUP              3
157 #define SNMP_GENERICTRAP_AUTHFAILURE         4
158 #define SNMP_GENERICTRAP_EGPNEIGHLOSS        5
159 #define SNMP_GENERICTRAP_ENTERSPECIFIC       6
160 
161 #define SNMP_ACCESS_NONE        0
162 #define SNMP_ACCESS_NOTIFY      1
163 #define SNMP_ACCESS_READ_ONLY   2
164 #define SNMP_ACCESS_READ_WRITE  3
165 #define SNMP_ACCESS_READ_CREATE 4
166 
167 #define SNMP_LOG_SILENT  0
168 #define SNMP_LOG_FATAL   1
169 #define SNMP_LOG_ERROR   2
170 #define SNMP_LOG_WARNING 3
171 #define SNMP_LOG_TRACE   4
172 #define SNMP_LOG_VERBOSE 5
173 
174 #define SNMP_OUTPUT_TO_CONSOLE  1
175 #define SNMP_OUTPUT_TO_LOGFILE  2
176 #define SNMP_OUTPUT_TO_EVENTLOG 4
177 #define SNMP_OUTPUT_TO_DEBUGGER 8
178 
179 #define DEFINE_SIZEOF(x)     (sizeof(x)/sizeof((x)[0]))
180 #define DEFINE_OID(x)        { DEFINE_SIZEOF(x),(x) }
181 #define DEFINE_NULLOID()     { 0, NULL }
182 #define DEFINE_NULLOCTENTS() { NULL, 0, FALSE }
183 
184 #define DEFAULT_SNMP_PORT_UDP     161
185 #define DEFAULT_SNMP_PORT_IPX     36879
186 #define DEFAULT_SNMPTRAP_PORT_UDP 162
187 #define DEFAULT_SNMPTRAP_PORT_IPX 36880
188 
189 #define SNMP_MAX_OID_LEN 128
190 
191 #define SNMP_MEM_ALLOC_ERROR          0
192 #define SNMP_BERAPI_INVALID_LENGTH    10
193 #define SNMP_BERAPI_INVALID_TAG       11
194 #define SNMP_BERAPI_OVERFLOW          12
195 #define SNMP_BERAPI_SHORT_BUFFER      13
196 #define SNMP_BERAPI_INVALID_OBJELEM   14
197 #define SNMP_PDUAPI_UNRECOGNIZED_PDU  20
198 #define SNMP_PDUAPI_INVALID_ES        21
199 #define SNMP_PDUAPI_INVALID_GT        22
200 #define SNMP_AUTHAPI_INVALID_VERSION  30
201 #define SNMP_AUTHAPI_INVALID_MSG_TYPE 31
202 #define SNMP_AUTHAPI_TRIV_AUTH_FAILED 32
203 
204 #define SNMPAPI_NOERROR TRUE
205 #define SNMPAPI_ERROR   FALSE
206 
207 #ifdef __cplusplus
208 extern "C" {
209 #endif
210 
211 BOOL WINAPI SnmpExtensionInit(DWORD dwUptimeReference,
212  HANDLE *phSubagentTrapEvent, AsnObjectIdentifier *pFirstSupportedRegion);
213 BOOL WINAPI SnmpExtensionInitEx(AsnObjectIdentifier *pNextSupportedRegion);
214 
215 BOOL WINAPI SnmpExtensionMonitor(LPVOID pAgentMgmtData);
216 
217 BOOL WINAPI SnmpExtensionQuery(BYTE bPduType, SnmpVarBindList *pVarBindList,
218  AsnInteger32 *pErrorStatus, AsnInteger32 *pErrorIndex);
219 BOOL WINAPI SnmpExtensionQueryEx(UINT nRequestType, UINT nTransactionId,
220  SnmpVarBindList *pVarBindList, AsnOctetString *pContextInfo,
221  AsnInteger32 *pErrorStatus, AsnInteger32 *pErrorIndex);
222 
223 BOOL WINAPI SnmpExtensionTrap(AsnObjectIdentifier *pEnterpriseOid,
224  AsnInteger32 *pGenericTrapId, AsnInteger32 *pSpecificTrapId,
225  AsnTimeticks *pTimeStamp, SnmpVarBindList *pVarBindList);
226 
227 VOID WINAPI SnmpExtensionClose(VOID);
228 
229 typedef BOOL (WINAPI *PFNSNMPEXTENSIONINIT)(DWORD dwUptimeReference,
230  HANDLE *phSubagentTrapEvent, AsnObjectIdentifier *pFirstSupportedRegion);
231 typedef BOOL (WINAPI *PFNSNMPEXTENSIONINITEX)(
232  AsnObjectIdentifier *pNextSupportedRegion);
233 
234 typedef BOOL (WINAPI *PFNSNMPEXTENSIONMONITOR)(LPVOID pAgentMgmtData);
235 
236 typedef BOOL (WINAPI *PFNSNMPEXTENSIONQUERY)(BYTE bPduType,
237  SnmpVarBindList *pVarBindList, AsnInteger32 *pErrorStatus,
238  AsnInteger32 *pErrorIndex);
239 typedef BOOL (WINAPI *PFNSNMPEXTENSIONQUERYEX)(UINT nRequestType,
240  UINT nTransactionId, SnmpVarBindList *pVarBindList,
241  AsnOctetString *pContextInfo, AsnInteger32 *pErrorStatus,
242  AsnInteger32 *pErrorIndex);
243 
244 typedef BOOL (WINAPI *PFNSNMPEXTENSIONTRAP)(AsnObjectIdentifier *pEnterpriseOid,
245  AsnInteger32 *pGenericTrapId, AsnInteger32 *pSpecificTrapId,
246  AsnTimeticks *pTimeStamp, SnmpVarBindList *pVarBindList);
247 
248 typedef VOID (WINAPI *PFNSNMPEXTENSIONCLOSE)(VOID);
249 
250 INT WINAPI SnmpUtilOidCpy(AsnObjectIdentifier *pOidDst,
251  AsnObjectIdentifier *pOidSrc);
252 INT WINAPI SnmpUtilOidAppend(AsnObjectIdentifier *pOidDst,
253  AsnObjectIdentifier *pOidSrc);
254 INT WINAPI SnmpUtilOidCmp(AsnObjectIdentifier *pOid1,
255  AsnObjectIdentifier *pOid2);
256 INT WINAPI SnmpUtilOidNCmp(AsnObjectIdentifier *pOid1,
257  AsnObjectIdentifier *pOid2, UINT nSubIds);
258 VOID WINAPI SnmpUtilOidFree(AsnObjectIdentifier *pOid);
259 
260 INT WINAPI SnmpUtilOctetsCmp(AsnOctetString *pOctets1,
261  AsnOctetString *pOctets2);
262 INT WINAPI SnmpUtilOctetsNCmp(AsnOctetString *pOctets1,
263  AsnOctetString *pOctets2, UINT nChars);
264 INT WINAPI SnmpUtilOctetsCpy(AsnOctetString *pOctetsDst,
265  AsnOctetString *pOctetsSrc);
266 VOID WINAPI SnmpUtilOctetsFree(AsnOctetString *pOctets);
267 
268 INT WINAPI SnmpUtilAsnAnyCpy(AsnAny *pAnyDst, AsnAny *pAnySrc);
269 VOID WINAPI SnmpUtilAsnAnyFree(AsnAny *pAny);
270 
271 INT WINAPI SnmpUtilVarBindCpy(SnmpVarBind *pVbDst, SnmpVarBind *pVbSrc);
272 VOID WINAPI SnmpUtilVarBindFree(SnmpVarBind *pVb);
273 
274 INT WINAPI SnmpUtilVarBindListCpy(SnmpVarBindList *pVblDst,
275  SnmpVarBindList *pVblSrc);
276 VOID WINAPI SnmpUtilVarBindListFree(SnmpVarBindList *pVbl);
277 
278 LPVOID WINAPI SnmpUtilMemAlloc(UINT nBytes) __WINE_ALLOC_SIZE(1);
279 LPVOID WINAPI SnmpUtilMemReAlloc(LPVOID pMem, UINT nBytes) __WINE_ALLOC_SIZE(2);
280 VOID WINAPI SnmpUtilMemFree(LPVOID pMem);
281 
282 LPSTR WINAPI SnmpUtilOidToA(AsnObjectIdentifier *Oid);
283 LPSTR WINAPI SnmpUtilIdsToA(UINT *Ids, UINT IdLength);
284 
285 VOID WINAPI SnmpUtilPrintOid(AsnObjectIdentifier *Oid);
286 VOID WINAPI SnmpUtilPrintAsnAny(AsnAny *pAny);
287 
288 DWORD WINAPI SnmpSvcGetUptime(VOID);
289 VOID WINAPI SnmpSvcSetLogLevel(INT nLogLevel);
290 VOID WINAPI SnmpSvcSetLogType(INT nLogType);
291 
292 VOID WINAPIV SnmpUtilDbgPrint(INT nLogLevel, LPSTR szFormat, ...);
293 
294 #ifdef __cplusplus
295 }
296 #endif
297 
298 #endif /* _WINE_SNMP_H */
299 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.