IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Console flux de sortie


Sujet :

C++

  1. #61
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Citation Envoyé par atum25 Voir le message
    Tu peux m'envoyé le code source complet de ce programme stp, parceque cela marche
    Non

    .
    Fichiers attachés Fichiers attachés

  2. #62
    Membre du Club
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Points : 52
    Points
    52
    Par défaut
    Merci bien =)

    Lorceque j'execute tout ce passe bien mais la valeur de mon Data est = a 0 alors qu'avec ton prgramme compiler j'ai bien le bon Data

    je compren pas, sa me rend fou

  3. #63
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    ça viens de c++ builder alors, essais en mode release.

    le MP c'était pour t'éviter de faire 45000 rafraichissements sur la page 3

  4. #64
    Membre du Club
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Points : 52
    Points
    52
    Par défaut
    C'est quoi que tu appel le mode release ?

  5. #65
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    en compilant en mode release, par opposition au mode debug

  6. #66
    Membre du Club
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Points : 52
    Points
    52
    Par défaut
    c'est dans les options du compil? je crois que j'ai trouver mais sa ne change rien g toujours 0

  7. #67
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Sinon, il faut contrôler les entêtes snmp.h et mgmtapi.h, voir éventuellement s'il n'y pas une mise à jour pour ton edi.

  8. #68
    Membre du Club
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Points : 52
    Points
    52
    Par défaut
    autrement envoi moi tes 2 fichier snmp.h et mgmtapi.h comme toi sa marche

  9. #69
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Ils sont prévus pour gcc, ça ne passera peut-être pas avec les directives.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    /*
      snmp.h - Header file for the Windows SNMP API
     
      Written by Filip Navara <xnavara@volny.cz>
     
      References (2003-08-25):
        http://msdn.microsoft.com/library/en-us/snmp/snmp/snmp_reference.asp
     
      This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    */
     
    #ifndef _SNMP_H
    #define _SNMP_H
    #if __GNUC__ >= 3
    #pragma GCC system_header
    #endif
     
    #ifndef _WINDOWS_H
    #include <windows.h>
    #endif
     
    #include <pshpack4.h>
     
    #ifndef WINSNMPAPI
    #define WINSNMPAPI WINAPI
    #endif
     
    #ifdef __cplusplus
    extern "C" {
    #endif
     
    #define DEFAULT_SNMP_PORT_UDP	161
    #define DEFAULT_SNMP_PORT_IPX	36879
    #define DEFAULT_SNMPTRAP_PORT_UDP	162
    #define DEFAULT_SNMPTRAP_PORT_IPX	36880
    #ifndef _SNMP_ASN_DEFINED
    #define _SNMP_ASN_DEFINED
    #define ASN_UNIVERSAL	0x00
    #define ASN_PRIMITIVE	0x00
    #define ASN_CONSTRUCTOR	0x20
    #define ASN_APPLICATION	0x40
    #define ASN_CONTEXT	0x80
    #define ASN_PRIVATE	0xC0
    #define SNMP_PDU_GET	(ASN_CONTEXT | ASN_CONSTRUCTOR | 0)
    #define SNMP_PDU_GETNEXT	(ASN_CONTEXT | ASN_CONSTRUCTOR | 1)
    #define SNMP_PDU_RESPONSE	(ASN_CONTEXT | ASN_CONSTRUCTOR | 2)
    #define SNMP_PDU_SET	(ASN_CONTEXT | ASN_CONSTRUCTOR | 3)
    #define SNMP_PDU_GETBULK	(ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
    #define SNMP_PDU_V1TRAP	(ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
    #define SNMP_PDU_INFORM	(ASN_CONTEXT | ASN_CONSTRUCTOR | 6)
    #define SNMP_PDU_TRAP	(ASN_CONTEXT | ASN_CONSTRUCTOR | 7) 
    #define SNMP_PDU_REPORT	(ASN_CONTEXT | ASN_CONSTRUCTOR | 8)
    #endif /* _SNMP_ASN_DEFINED */
    #define ASN_INTEGER	(ASN_UNIVERSAL | ASN_PRIMITIVE | 2)
    #define ASN_BITS	(ASN_UNIVERSAL | ASN_PRIMITIVE | 3)
    #define ASN_OCTETSTRING	(ASN_UNIVERSAL | ASN_PRIMITIVE | 4)
    #define ASN_NULL	(ASN_UNIVERSAL | ASN_PRIMITIVE | 5)
    #define ASN_OBJECTIDENTIFIER	(ASN_UNIVERSAL | ASN_PRIMITIVE | 6)
    #define ASN_INTEGER32	ASN_INTEGER
    #define ASN_SEQUENCE	(ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10)
    #define ASN_SEQUENCEOF	ASN_SEQUENCE
    #define ASN_IPADDRESS	(ASN_APPLICATION | ASN_PRIMITIVE | 0x00)
    #define ASN_COUNTER32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x01)
    #define ASN_GAUGE32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x02)
    #define ASN_TIMETICKS	(ASN_APPLICATION | ASN_PRIMITIVE | 0x03)
    #define ASN_OPAQUE	(ASN_APPLICATION | ASN_PRIMITIVE | 0x04)
    #define ASN_COUNTER64	(ASN_APPLICATION | ASN_PRIMITIVE | 0x06)
    #define ASN_UNSIGNED32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x07)
    #define SNMP_EXCEPTION_NOSUCHOBJECT	(ASN_CONTEXT | ASN_PRIMITIVE | 0x00)
    #define SNMP_EXCEPTION_NOSUCHINSTANCE	(ASN_CONTEXT | ASN_PRIMITIVE | 0x01)
    #define SNMP_EXCEPTION_ENDOFMIBVIEW	(ASN_CONTEXT | ASN_PRIMITIVE | 0x02)
    #define SNMP_EXTENSION_GET	SNMP_PDU_GET
    #define SNMP_EXTENSION_GET_NEXT	SNMP_PDU_GETNEXT
    #define SNMP_EXTENSION_GET_BULK	SNMP_PDU_GETBULK
    #define SNMP_EXTENSION_SET_TEST	(ASN_PRIVATE | ASN_CONSTRUCTOR | 0x0)
    #define SNMP_EXTENSION_SET_COMMIT	SNMP_PDU_SET
    #define SNMP_EXTENSION_SET_UNDO	(ASN_PRIVATE | ASN_CONSTRUCTOR | 0x1)
    #define SNMP_EXTENSION_SET_CLEANUP	(ASN_PRIVATE | ASN_CONSTRUCTOR | 0x2)
    #define SNMP_ERRORSTATUS_NOERROR	0
    #define SNMP_ERRORSTATUS_TOOBIG	1
    #define SNMP_ERRORSTATUS_NOSUCHNAME	2
    #define SNMP_ERRORSTATUS_BADVALUE	3
    #define SNMP_ERRORSTATUS_READONLY	4
    #define SNMP_ERRORSTATUS_GENERR	5
    #define SNMP_ERRORSTATUS_NOACCESS	6
    #define SNMP_ERRORSTATUS_WRONGTYPE	7
    #define SNMP_ERRORSTATUS_WRONGLENGTH	8
    #define SNMP_ERRORSTATUS_WRONGENCODING	9
    #define SNMP_ERRORSTATUS_WRONGVALUE	10
    #define SNMP_ERRORSTATUS_NOCREATION	11
    #define SNMP_ERRORSTATUS_INCONSISTENTVALUE	12
    #define SNMP_ERRORSTATUS_RESOURCEUNAVAILABLE	13
    #define SNMP_ERRORSTATUS_COMMITFAILED	14
    #define SNMP_ERRORSTATUS_UNDOFAILED	15
    #define SNMP_ERRORSTATUS_AUTHORIZATIONERROR	16
    #define SNMP_ERRORSTATUS_NOTWRITABLE	17
    #define SNMP_ERRORSTATUS_INCONSISTENTNAME	18
    #define SNMP_GENERICTRAP_COLDSTART	0
    #define SNMP_GENERICTRAP_WARMSTART	1
    #define SNMP_GENERICTRAP_LINKDOWN	2
    #define SNMP_GENERICTRAP_LINKUP	3
    #define SNMP_GENERICTRAP_AUTHFAILURE	4
    #define SNMP_GENERICTRAP_EGPNEIGHLOSS	5
    #define SNMP_GENERICTRAP_ENTERSPECIFIC	6
    #define SNMP_ACCESS_NONE	0
    #define SNMP_ACCESS_NOTIFY	1
    #define SNMP_ACCESS_READ_ONLY	2
    #define SNMP_ACCESS_READ_WRITE	3
    #define SNMP_ACCESS_READ_CREATE	4
    #define SNMPAPI_ERROR	FALSE
    #define SNMPAPI_NOERROR	TRUE
    #define SNMP_LOG_SILENT	0
    #define SNMP_LOG_FATAL	1
    #define SNMP_LOG_ERROR	2
    #define SNMP_LOG_WARNING	3
    #define SNMP_LOG_TRACE	4
    #define SNMP_LOG_VERBOSE	5
    #define SNMP_OUTPUT_TO_CONSOLE	1
    #define SNMP_OUTPUT_TO_LOGFILE	2
    #define SNMP_OUTPUT_TO_EVENTLOG	4 
    #define SNMP_OUTPUT_TO_DEBUGGER	8
    #define SNMP_MAX_OID_LEN	128
    #define SNMP_MEM_ALLOC_ERROR	1
    #define SNMP_BERAPI_INVALID_LENGTH	10
    #define SNMP_BERAPI_INVALID_TAG	11
    #define SNMP_BERAPI_OVERFLOW	12
    #define SNMP_BERAPI_SHORT_BUFFER	13
    #define SNMP_BERAPI_INVALID_OBJELEM	14
    #define SNMP_PDUAPI_UNRECOGNIZED_PDU	20
    #define SNMP_PDUAPI_INVALID_ES	21
    #define SNMP_PDUAPI_INVALID_GT	22
    #define SNMP_AUTHAPI_INVALID_VERSION	30
    #define SNMP_AUTHAPI_INVALID_MSG_TYPE	31
    #define SNMP_AUTHAPI_TRIV_AUTH_FAILED	32
     
    #ifndef RC_INVOKED
     
    typedef INT SNMPAPI;
    typedef LONG AsnInteger32;
    typedef ULONG AsnUnsigned32;
    typedef ULARGE_INTEGER AsnCounter64;
    typedef AsnUnsigned32 AsnCounter32;
    typedef AsnUnsigned32 AsnGauge32;
    typedef AsnUnsigned32 AsnTimeticks;
    typedef struct {
    	BYTE *stream;
    	UINT length;
    	BOOL dynamic;
    } AsnOctetString, AsnBits, AsnSequence, AsnImplicitSequence, AsnIPAddress, AsnNetworkAddress, AsnDisplayString, AsnOpaque;
    typedef struct {
    	UINT idLength;
    	UINT *ids;
    } AsnObjectIdentifier, AsnObjectName;
    typedef struct {
    	BYTE asnType;
    	union {
    		AsnInteger32 number; 
    		AsnUnsigned32 unsigned32; 
    		AsnCounter64 counter64; 
    		AsnOctetString string; 
    		AsnBits bits; 
    		AsnObjectIdentifier object; 
    		AsnSequence sequence; 
    		AsnIPAddress address; 
    		AsnCounter32 counter; 
    		AsnGauge32 gauge; 
    		AsnTimeticks ticks; 
    		AsnOpaque arbitrary; 
    	} asnValue;
    } AsnAny, AsnObjectSyntax;
    typedef struct {
    	AsnObjectName name;
    	AsnObjectSyntax value;
    } SnmpVarBind;
    typedef struct {
    	SnmpVarBind *list;
    	UINT len;
    } SnmpVarBindList;
     
    VOID WINSNMPAPI SnmpExtensionClose(void);
    BOOL WINSNMPAPI SnmpExtensionInit(DWORD,HANDLE*,AsnObjectIdentifier*);
    BOOL WINSNMPAPI SnmpExtensionInitEx(AsnObjectIdentifier*);
    BOOL WINSNMPAPI SnmpExtensionMonitor(LPVOID);
    BOOL WINSNMPAPI SnmpExtensionQuery(BYTE,SnmpVarBindList*,AsnInteger32*,AsnInteger32*);
    BOOL WINSNMPAPI SnmpExtensionQueryEx(DWORD,DWORD,SnmpVarBindList*,AsnOctetString*,AsnInteger32*,AsnInteger32*);
    BOOL WINSNMPAPI SnmpExtensionTrap(AsnObjectIdentifier*,AsnInteger32*,AsnInteger32*,AsnTimeticks*,SnmpVarBindList*);
    DWORD WINSNMPAPI SnmpSvcGetUptime(void);
    VOID WINSNMPAPI SnmpSvcSetLogLevel(INT);
    VOID WINSNMPAPI SnmpSvcSetLogType(INT);
    SNMPAPI WINSNMPAPI SnmpUtilAsnAnyCpy(AsnAny*,AsnAny*);
    VOID WINSNMPAPI SnmpUtilAsnAnyFree(AsnAny*);
    VOID WINSNMPAPI SnmpUtilDbgPrint(INT,LPSTR,...);
    LPSTR WINSNMPAPI SnmpUtilIdsToA(UINT*,UINT);
    LPVOID WINSNMPAPI SnmpUtilMemAlloc(UINT);
    VOID WINSNMPAPI SnmpUtilMemFree(LPVOID);
    LPVOID WINSNMPAPI SnmpUtilMemReAlloc(LPVOID,UINT);
    SNMPAPI WINSNMPAPI SnmpUtilOctetsCmp(AsnOctetString*,AsnOctetString*);
    SNMPAPI WINSNMPAPI SnmpUtilOctetsCpy(AsnOctetString*,AsnOctetString*);
    VOID WINSNMPAPI SnmpUtilOctetsFree(AsnOctetString*);
    SNMPAPI WINSNMPAPI SnmpUtilOctetsNCmp(AsnOctetString*,AsnOctetString*,UINT);
    SNMPAPI WINSNMPAPI SnmpUtilOidAppend(AsnObjectIdentifier*,AsnObjectIdentifier*);
    SNMPAPI WINSNMPAPI SnmpUtilOidCmp(AsnObjectIdentifier*,AsnObjectIdentifier*);
    SNMPAPI WINSNMPAPI SnmpUtilOidCpy(AsnObjectIdentifier*,AsnObjectIdentifier*);
    VOID WINSNMPAPI SnmpUtilOidFree(AsnObjectIdentifier*);
    SNMPAPI WINSNMPAPI SnmpUtilOidNCmp(AsnObjectIdentifier*,AsnObjectIdentifier*,UINT);
    LPSTR WINSNMPAPI SnmpUtilOidToA(AsnObjectIdentifier*);
    VOID WINSNMPAPI SnmpUtilPrintAsnAny(AsnAny*);
    VOID WINSNMPAPI SnmpUtilPrintOid(AsnObjectIdentifier*);
    SNMPAPI WINSNMPAPI SnmpUtilVarBindCpy(  SnmpVarBind*,SnmpVarBind*);
    SNMPAPI WINSNMPAPI SnmpUtilVarBindListCpy(SnmpVarBindList*,SnmpVarBindList*);
    VOID WINSNMPAPI SnmpUtilVarBindFree(SnmpVarBind*);
    VOID WINSNMPAPI SnmpUtilVarBindListFree(SnmpVarBindList*);
     
    #ifndef SNMPSTRICT
    #define SNMP_malloc SnmpUtilMemAlloc
    #define SNMP_free SnmpUtilMemFree
    #define SNMP_realloc SnmpUtilMemReAlloc
    #define SNMP_DBG_malloc SnmpUtilMemAlloc
    #define SNMP_DBG_free SnmpUtilMemFree
    #define SNMP_DBG_realloc SnmpUtilMemReAlloc
    #define SNMP_oidappend SnmpUtilOidAppend
    #define SNMP_oidcmp SnmpUtilOidCmp
    #define SNMP_oidcpy SnmpUtilOidCpy
    #define SNMP_oidfree SnmpUtilOidFree
    #define SNMP_oidncmp SnmpUtilOidNCmp
    #define SNMP_printany SnmpUtilPrintAsnAny
    #define SNMP_CopyVarBind SnmpUtilVarBindCpy
    #define SNMP_CopyVarBindList SnmpUtilVarBindListCpy
    #define SNMP_FreeVarBind SnmpUtilVarBindFree
    #define SNMP_FreeVarBindList SnmpUtilVarBindListFree
    #define ASN_RFC1155_IPADDRESS ASN_IPADDRESS
    #define ASN_RFC1155_COUNTER ASN_COUNTER32
    #define ASN_RFC1155_GAUGE ASN_GAUGE32
    #define ASN_RFC1155_TIMETICKS ASN_TIMETICKS
    #define ASN_RFC1155_OPAQUE ASN_OPAQUE
    #define ASN_RFC1213_DISPSTRING ASN_OCTETSTRING
    #define ASN_RFC1157_GETREQUEST SNMP_PDU_GET
    #define ASN_RFC1157_GETNEXTREQUEST SNMP_PDU_GETNEXT
    #define ASN_RFC1157_GETRESPONSE SNMP_PDU_RESPONSE
    #define ASN_RFC1157_SETREQUEST SNMP_PDU_SET
    #define ASN_RFC1157_TRAP SNMP_PDU_V1TRAP
    #define ASN_CONTEXTSPECIFIC ASN_CONTEXT
    #define ASN_PRIMATIVE ASN_PRIMITIVE
    #define RFC1157VarBindList SnmpVarBindList
    #define RFC1157VarBind SnmpVarBind
    #define AsnInteger AsnInteger32
    #define AsnCounter AsnCounter32
    #define AsnGauge AsnGauge32
    #endif /* SNMPSTRICT */
     
    #endif /* RC_INVOKED */
     
    #ifdef __cplusplus
    }
    #endif
    #include <poppack.h>
    #endif
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    /*
      winsnmp.h - Header file for the Windows SNMP API
     
      Written by Filip Navara <xnavara@volny.cz>
     
      References (2003-08-25):
        Windows SNMP
        http://www.winsnmp.com/docs/winsnmp.doc
     
        WinSNMP v2.0 Addendum
        http://www.winsnmp.com/docs/winsnmp2.txt
     
        WinSNMP v3.0 API Addendum
        http://www.winsnmp.com/docs/winsnmp3.htm
     
        WinSNMP Reference
        http://msdn.microsoft.com/library/en-us/snmp/snmp/winsnmp_api_reference.asp
     
      This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    */
     
    #ifndef _WINSNMP_H
    #define _WINSNMP_H
    #if __GNUC__ >= 3
    #pragma GCC system_header
    #endif
     
    #ifndef _WINDOWS_H
    #include <windows.h>
    #endif
     
    #include <pshpack4.h>
     
    #ifndef WINSNMPAPI
    #define WINSNMPAPI WINAPI
    #endif
     
    #ifdef __cplusplus
    extern "C" {
    #endif
     
    #define MAXOBJIDSIZE	128
    #define MAXOBJIDSTRSIZE	1408
    #define MAXVENDORINFO	32
    #ifndef _SNMP_ASN_DEFINED
    #define _SNMP_ASN_DEFINED
    #define ASN_UNIVERSAL	0x00
    #define ASN_PRIMITIVE	0x00
    #define ASN_CONSTRUCTOR	0x20
    #define ASN_APPLICATION	0x40
    #define ASN_CONTEXT	0x80
    #define ASN_PRIVATE	0xC0
    #define SNMP_PDU_GET	(ASN_CONTEXT | ASN_CONSTRUCTOR | 0)
    #define SNMP_PDU_GETNEXT	(ASN_CONTEXT | ASN_CONSTRUCTOR | 1)
    #define SNMP_PDU_RESPONSE	(ASN_CONTEXT | ASN_CONSTRUCTOR | 2)
    #define SNMP_PDU_SET	(ASN_CONTEXT | ASN_CONSTRUCTOR | 3)
    #define SNMP_PDU_GETBULK	(ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
    #define SNMP_PDU_V1TRAP	(ASN_CONTEXT | ASN_CONSTRUCTOR | 4)
    #define SNMP_PDU_INFORM	(ASN_CONTEXT | ASN_CONSTRUCTOR | 6)
    #define SNMP_PDU_TRAP	(ASN_CONTEXT | ASN_CONSTRUCTOR | 7) 
    #define SNMP_PDU_REPORT	(ASN_CONTEXT | ASN_CONSTRUCTOR | 8)
    #endif /* _SNMP_ASN_DEFINED */
    #define SNMP_SYNTAX_SEQUENCE	(ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10)
    #define SNMP_SYNTAX_INT	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x02)
    #define SNMP_SYNTAX_BITS	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03)
    #define SNMP_SYNTAX_OCTETS	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x04)
    #define SNMP_SYNTAX_NULL	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x05)
    #define SNMP_SYNTAX_OID	(ASN_UNIVERSAL | ASN_PRIMITIVE | 0x06)
    #define SNMP_SYNTAX_IPADDR	(ASN_APPLICATION | ASN_PRIMITIVE | 0x00)
    #define SNMP_SYNTAX_CNTR32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x01)
    #define SNMP_SYNTAX_GAUGE32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x02)
    #define SNMP_SYNTAX_TIMETICKS	(ASN_APPLICATION | ASN_PRIMITIVE | 0x03)
    #define SNMP_SYNTAX_OPAQUE	(ASN_APPLICATION | ASN_PRIMITIVE | 0x04)
    #define SNMP_SYNTAX_NSAPADDR	(ASN_APPLICATION | ASN_PRIMITIVE | 0x05)
    #define SNMP_SYNTAX_CNTR64	(ASN_APPLICATION | ASN_PRIMITIVE | 0x06)
    #define SNMP_SYNTAX_UINT32	(ASN_APPLICATION | ASN_PRIMITIVE | 0x07)
    #define SNMP_SYNTAX_NOSUCHOBJECT	(ASN_CONTEXT | ASN_PRIMITIVE | 0x00)
    #define SNMP_SYNTAX_NOSUCHINSTANCE	(ASN_CONTEXT | ASN_PRIMITIVE | 0x01)
    #define SNMP_SYNTAX_ENDOFMIBVIEW	(ASN_CONTEXT | ASN_PRIMITIVE | 0x02)
    #define SNMP_SYNTAX_INT32	SNMP_SYNTAX_INT
    #define SNMP_TRAP_COLDSTART	0
    #define SNMP_TRAP_WARMSTART	1
    #define SNMP_TRAP_LINKDOWN	2
    #define SNMP_TRAP_LINKUP	3
    #define SNMP_TRAP_AUTHFAIL	4
    #define SNMP_TRAP_EGPNEIGHBORLOSS	5
    #define SNMP_TRAP_ENTERPRISESPECIFIC	6
    #define SNMP_ERROR_NOERROR	0
    #define SNMP_ERROR_TOOBIG	1
    #define SNMP_ERROR_NOSUCHNAME	2
    #define SNMP_ERROR_BADVALUE	3
    #define SNMP_ERROR_READONLY	4
    #define SNMP_ERROR_GENERR	5
    #define SNMP_ERROR_NOACCESS	6
    #define SNMP_ERROR_WRONGTYPE	7
    #define SNMP_ERROR_WRONGLENGTH	8
    #define SNMP_ERROR_WRONGENCODING	9
    #define SNMP_ERROR_WRONGVALUE	10
    #define SNMP_ERROR_NOCREATION	11
    #define SNMP_ERROR_INCONSISTENTVALUE	12
    #define SNMP_ERROR_RESOURCEUNAVAILABLE	13
    #define SNMP_ERROR_COMMITFAILED	14
    #define SNMP_ERROR_UNDOFAILED	15
    #define SNMP_ERROR_AUTHORIZATIONERROR	16
    #define SNMP_ERROR_NOTWRITABLE	17
    #define SNMP_ERROR_INCONSISTENTNAME	18
    #define SNMP_SEC_MODEL_V1	1
    #define SNMP_SEC_MODEL_V2	2
    #define SNMP_SEC_MODEL_USM	3
    #define SNMP_NOAUTH_NOPRIV	0
    #define SNMP_AUTH_NOPRIV	1
    #define SNMP_AUTH_PRIV	3
    #define SNMP_USM_NO_AUTH_PROTOCOL	1
    #define SNMP_USM_HMACMD5_AUTH_PROTOCOL	2
    #define SNMP_USM_HMACSHA_AUTH_PROTOCOL	3
    #define SNMP_USM_NO_PRIV_PROTOCOL	1
    #define SNMP_USM_DES_PRIV_PROTOCOL	2
    #define SNMPAPI_TRANSLATED	0
    #define SNMPAPI_UNTRANSLATED_V1	1
    #define SNMPAPI_UNTRANSLATED_V2	2
    #define SNMPAPI_UNTRANSLATED_V3	3
    #define SNMPAPI_OFF 0
    #define SNMPAPI_ON 1
    #define SNMPAPI_FAILURE 0
    #define SNMPAPI_SUCCESS 1
    #define SNMPAPI_NO_SUPPORT	0
    #define SNMPAPI_V1_SUPPORT	1
    #define SNMPAPI_V2_SUPPORT	2
    #define SNMPAPI_M2M_SUPPORT	3
    #define SNMPAPI_V3_SUPPORT	3
    #define SNMPAPI_ALLOC_ERROR	2
    #define SNMPAPI_CONTEXT_INVALID	3
    #define SNMPAPI_CONTEXT_UNKNOWN	4
    #define SNMPAPI_ENTITY_INVALID	5
    #define SNMPAPI_ENTITY_UNKNOWN	6
    #define SNMPAPI_INDEX_INVALID	7
    #define SNMPAPI_NOOP	8
    #define SNMPAPI_OID_INVALID	9
    #define SNMPAPI_OPERATION_INVALID	10
    #define SNMPAPI_OUTPUT_TRUNCATED	11
    #define SNMPAPI_PDU_INVALID	12
    #define SNMPAPI_SESSION_INVALID	13
    #define SNMPAPI_SYNTAX_INVALID	14
    #define SNMPAPI_VBL_INVALID	15
    #define SNMPAPI_MODE_INVALID	16
    #define SNMPAPI_SIZE_INVALID	17
    #define SNMPAPI_NOT_INITIALIZED	18
    #define SNMPAPI_MESSAGE_INVALID	19
    #define SNMPAPI_HWND_INVALID	20
    #define SNMPAPI_ENGINE_INVALID	30
    #define SNMPAPI_ENGINE_DISCOVERY_FAILED	31
    #define SNMPAPI_OTHER_ERROR	99
    #define SNMPAPI_TL_NOT_INITIALIZED	100
    #define SNMPAPI_TL_NOT_SUPPORTED	101
    #define SNMPAPI_TL_NOT_AVAILABLE	102
    #define SNMPAPI_TL_RESOURCE_ERROR	103
    #define SNMPAPI_TL_UNDELIVERABLE	104
    #define SNMPAPI_TL_SRC_INVALID	105
    #define SNMPAPI_TL_INVALID_PARAM	106
    #define SNMPAPI_TL_IN_USE	107
    #define SNMPAPI_TL_TIMEOUT	108
    #define SNMPAPI_TL_PDU_TOO_BIG	109
    #define SNMPAPI_TL_OTHER	199
    #define SNMPAPI_RPT_INVALIDMSG	200
    #define SNMPAPI_RPT_INASNPARSEERR	201
    #define SNMPAPI_RPT_UNKNOWNSECMODEL	202
    #define SNMPAPI_RPT_UNKNOWNENGINEID	203
    #define SNMPAPI_RPT_UNSUPPSECLEVEL	204
    #define SNMPAPI_RPT_UNKNOWNUSERNAME	205
    #define SNMPAPI_RPT_WRONGDIGEST	206
    #define SNMPAPI_RPT_NOTINTIMEWINDOW	207
    #define SNMPAPI_RPT_DECRYPTIONERROR	208
    #define SNMPAPI_RPT_OTHER	299
     
    #ifndef RC_INVOKED
     
    typedef HANDLE HSNMP_SESSION, *LPHSNMP_SESSION;
    typedef HANDLE HSNMP_CONTEXT, *LPHSNMP_CONTEXT;
    typedef HANDLE HSNMP_VBL, *LPHSNMP_VBL;
    typedef HANDLE HSNMP_PDU, *LPHSNMP_PDU;
    typedef HANDLE HSNMP_ENTITY, *LPHSNMP_ENTITY;
    typedef unsigned char smiBYTE, *smiLPBYTE;
    typedef signed int smiINT, *smiLPINT;
    typedef signed int smiINT32, *smiLPINT32;
    typedef unsigned int smiUINT32, *smiLPUINT32;
    typedef smiUINT32 smiCNTR32, *smiLPCNTR32;
    typedef smiUINT32 smiGAUGE32, *smiLPGAUGE32;
    typedef smiUINT32 smiTIMETICKS, *smiLPTIMETICKS;
    typedef smiUINT32 SNMPAPI_STATUS;
    typedef struct {
    	smiUINT32 len;
    	smiLPBYTE ptr;
    } smiOCTETS, *smiLPOCTETS, smiOPAQUE, *smiLPOPAQUE, smiBITS, *smiLPBITS, smiIPADDR, *smiLPIPADDR, smiNSAPADDR, *smiLPNSAPADDR;
    typedef const smiLPOCTETS smiLPCOCTETS;
    typedef struct {
    	smiUINT32 len;
    	smiLPUINT32 ptr;
    } smiOID, *smiLPOID; 
    typedef const smiLPOID smiLPCOID;
    typedef struct {
    	smiUINT32 hipart;
    	smiUINT32 lopart;
    } smiCNTR64, *smiLPCNTR64; 
    typedef struct {
    	smiUINT32 syntax;
    	union {
    		smiINT sNumber;
    		smiUINT32 uNumber;
    		smiCNTR64 hNumber;
    		smiOCTETS string;
    		smiOID oid;
    		smiBYTE empty;
    	} value;
    } smiVALUE, *smiLPVALUE; 
    typedef const smiLPVALUE smiLPCVALUE;
    typedef struct {
    	CHAR vendorName[MAXVENDORINFO*2];
    	CHAR vendorContact[MAXVENDORINFO*2];
    	CHAR vendorVersionId[MAXVENDORINFO];
    	CHAR vendorVersionDate[MAXVENDORINFO];
    	smiUINT32 vendorEnterprise; 
    } smiVENDORINFO, FAR *smiLPVENDORINFO; 
    typedef SNMPAPI_STATUS (CALLBACK *SNMPAPI_CALLBACK)(HSNMP_SESSION,HWND,UINT,WPARAM,LPARAM,LPVOID);
    typedef struct
    {
    	HSNMP_ENTITY hEntity;
    	HSNMP_SESSION hSession;
    	smiUINT32 nTranslateMode;
    	smiUINT32 nSnmpVersion;
    	smiOCTETS dFriendlyName;
    	smiUINT32 nAddressFamily;
    	smiOCTETS dAddressString;
    	smiUINT32 nRequestPort;
    	smiUINT32 nNotificationPort;
    	smiUINT32 nMaxMsgSize;
    	smiOCTETS dEngineID;
    	smiUINT32 nEngineBoots;
    	smiUINT32 nEngineTime;
    	smiUINT32 nEngineSeconds;
    	smiUINT32 nRetransmitMode;
    	smiTIMETICKS nPolicyTimeout;
    	smiUINT32 nPolicyRetry;
    	smiTIMETICKS nActualTimeout;
    	smiUINT32 nActualRetry;
    } smiENTITYINFO, *smiLPENTITYINFO;
    typedef struct
    {
    	HSNMP_CONTEXT hContext;
    	HSNMP_SESSION hSession;
    	smiUINT32 nTranslateMode;
    	smiUINT32 nSnmpVersion;
    	smiOCTETS dFriendlyName;
    	smiOCTETS dContextEngineID;
    	smiOCTETS dContextName;
    	smiOCTETS dSecurityName;
    	smiUINT32 nSecurityModel;
    	smiUINT32 nSecurityLevel;
    	smiUINT32 nSecurityAuthProtocol;
    	smiOCTETS dSecurityAuthKey;
    	smiUINT32 nSecurityPrivProtocol;
    	smiOCTETS dSecurityPrivKey;
    } smiCONTEXTINFO, *smiLPCONTEXTINFO;
     
    SNMPAPI_STATUS WINSNMPAPI SnmpCancelMsg(HSNMP_SESSION,smiINT32);
    SNMPAPI_STATUS WINSNMPAPI SnmpCleanup(VOID);
    SNMPAPI_STATUS WINSNMPAPI SnmpClose(HSNMP_SESSION);
    SNMPAPI_STATUS WINSNMPAPI SnmpContextToStr(HSNMP_CONTEXT,smiLPOCTETS);
    SNMPAPI_STATUS WINSNMPAPI SnmpCountVbl(HSNMP_VBL);
    HSNMP_PDU WINSNMPAPI SnmpCreatePdu(HSNMP_SESSION,smiINT,smiINT32,smiINT,smiINT,HSNMP_VBL);
    HSNMP_SESSION WINSNMPAPI SnmpCreateSession(HWND,UINT,SNMPAPI_CALLBACK,LPVOID);
    HSNMP_VBL WINSNMPAPI SnmpCreateVbl(HSNMP_SESSION,smiLPCOID,smiLPCVALUE);
    SNMPAPI_STATUS WINSNMPAPI SnmpDecodeMsg(HSNMP_SESSION,LPHSNMP_ENTITY,LPHSNMP_ENTITY,LPHSNMP_CONTEXT,LPHSNMP_PDU,smiLPCOCTETS);
    SNMPAPI_STATUS WINSNMPAPI SnmpDeleteVb(HSNMP_VBL,smiUINT32);
    HSNMP_PDU WINSNMPAPI SnmpDuplicatePdu(HSNMP_SESSION,HSNMP_PDU);
    HSNMP_VBL WINSNMPAPI SnmpDuplicateVbl(HSNMP_SESSION,HSNMP_VBL);
    SNMPAPI_STATUS WINSNMPAPI SnmpEncodeMsg(HSNMP_SESSION,HSNMP_ENTITY,HSNMP_ENTITY,HSNMP_CONTEXT,HSNMP_PDU,smiLPOCTETS);
    SNMPAPI_STATUS WINSNMPAPI SnmpEntityToStr(HSNMP_ENTITY,smiUINT32,LPSTR);
    SNMPAPI_STATUS WINSNMPAPI SnmpFreeContext(HSNMP_CONTEXT);
    SNMPAPI_STATUS WINSNMPAPI SnmpFreeDescriptor(smiUINT32,smiLPOPAQUE);
    SNMPAPI_STATUS WINSNMPAPI SnmpFreeEntity(HSNMP_ENTITY);
    SNMPAPI_STATUS WINSNMPAPI SnmpFreePdu(HSNMP_PDU);
    SNMPAPI_STATUS WINSNMPAPI SnmpFreeVbl(HSNMP_VBL);
    SNMPAPI_STATUS WINSNMPAPI SnmpGetLastError(HSNMP_SESSION);
    SNMPAPI_STATUS WINSNMPAPI SnmpGetPduData(HSNMP_PDU,smiLPINT,smiLPINT32,smiLPINT,smiLPINT,LPHSNMP_VBL);
    SNMPAPI_STATUS WINSNMPAPI SnmpGetRetransmitMode(smiLPUINT32);
    SNMPAPI_STATUS WINSNMPAPI SnmpGetRetry(HSNMP_ENTITY,smiLPUINT32,smiLPUINT32);
    SNMPAPI_STATUS WINSNMPAPI SnmpGetTimeout(HSNMP_ENTITY,smiLPTIMETICKS,smiLPTIMETICKS);
    SNMPAPI_STATUS WINSNMPAPI SnmpGetTranslateMode(smiLPUINT32);
    SNMPAPI_STATUS WINSNMPAPI SnmpGetVb(HSNMP_VBL,smiUINT32,smiLPOID,smiLPVALUE);
    SNMPAPI_STATUS WINSNMPAPI SnmpGetVendorInfo(smiLPVENDORINFO);
    SNMPAPI_STATUS WINSNMPAPI SnmpListen(HSNMP_ENTITY,SNMPAPI_STATUS);
    SNMPAPI_STATUS WINSNMPAPI SnmpOidCompare(smiLPCOID,smiLPCOID,smiUINT32,smiLPINT);
    SNMPAPI_STATUS WINSNMPAPI SnmpOidCopy(smiLPCOID,smiLPOID);
    SNMPAPI_STATUS WINSNMPAPI SnmpOidToStr(smiLPCOID,smiUINT32,LPSTR);
    HSNMP_SESSION WINSNMPAPI SnmpOpen(HWND,UINT);
    SNMPAPI_STATUS WINSNMPAPI SnmpRecvMsg(HSNMP_SESSION,LPHSNMP_ENTITY,LPHSNMP_ENTITY,LPHSNMP_CONTEXT,LPHSNMP_PDU);
    SNMPAPI_STATUS WINSNMPAPI SnmpRegister(HSNMP_SESSION,HSNMP_ENTITY,HSNMP_ENTITY,HSNMP_CONTEXT,smiLPCOID,smiUINT32);
    SNMPAPI_STATUS WINSNMPAPI SnmpSendMsg(HSNMP_SESSION,HSNMP_ENTITY,HSNMP_ENTITY,HSNMP_CONTEXT,HSNMP_PDU);
    SNMPAPI_STATUS WINSNMPAPI SnmpSetPduData(HSNMP_PDU,const smiINT *,const smiINT32 *,const smiINT *,const smiINT *,const HSNMP_VBL *);
    SNMPAPI_STATUS WINSNMPAPI SnmpSetPort(HSNMP_ENTITY,UINT);
    SNMPAPI_STATUS WINSNMPAPI SnmpSetRetransmitMode(smiUINT32);
    SNMPAPI_STATUS WINSNMPAPI SnmpSetRetry(HSNMP_ENTITY,smiUINT32);
    SNMPAPI_STATUS WINSNMPAPI SnmpSetTimeout(HSNMP_ENTITY,smiTIMETICKS);
    SNMPAPI_STATUS WINSNMPAPI SnmpSetTranslateMode(smiUINT32);
    SNMPAPI_STATUS WINSNMPAPI SnmpSetVb(HSNMP_VBL,smiUINT32,smiLPCOID,smiLPCVALUE);
    SNMPAPI_STATUS WINSNMPAPI SnmpStartup(smiLPUINT32,smiLPUINT32,smiLPUINT32,smiLPUINT32,smiLPUINT32);
    HSNMP_CONTEXT WINSNMPAPI SnmpStrToContext(HSNMP_SESSION,smiLPCOCTETS);
    HSNMP_ENTITY WINSNMPAPI SnmpStrToEntity(HSNMP_SESSION,LPCSTR);
    SNMPAPI_STATUS WINSNMPAPI SnmpStrToOid(LPCSTR,smiLPOID);
    /* Added in WinSNMP v3.0, not present in some (all?) versions of MS wsnmp32.dll */
    HSNMP_ENTITY WINSNMPAPI SnmpCreateEntity(HSNMP_SESSION,smiLPENTITYINFO);
    SNMPAPI_STATUS WINSNMPAPI SnmpGetEntityInfo(HSNMP_ENTITY,smiLPENTITYINFO);
    SNMPAPI_STATUS WINSNMPAPI SnmpSetEntityInfo(HSNMP_ENTITY,smiLPENTITYINFO);
    SNMPAPI_STATUS WINSNMPAPI SnmpFreeEntityInfo(smiLPENTITYINFO);
    HSNMP_CONTEXT WINSNMPAPI SnmpCreateContext(HSNMP_SESSION,smiLPCONTEXTINFO);
    SNMPAPI_STATUS WINSNMPAPI SnmpGetContextInfo(HSNMP_CONTEXT,smiLPCONTEXTINFO);
    SNMPAPI_STATUS WINSNMPAPI SnmpSetContextInfo(HSNMP_CONTEXT,smiLPCONTEXTINFO);
    SNMPAPI_STATUS WINSNMPAPI SnmpFreeContextInfo(smiLPCONTEXTINFO);
    SNMPAPI_STATUS WINSNMPAPI SnmpPasswordToKey(smiLPOCTETS,smiINT32,smiLPOCTETS);
     
    #endif /* RC_INVOKED */
     
    #ifdef __cplusplus
    }
    #endif
    #include <poppack.h>
    #endif

  10. #70
    Membre du Club
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Points : 52
    Points
    52
    Par défaut
    le winsnmp.h tu ne t'en ser pas dans le programme si?

  11. #71
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    496
    497
    498
    499
    500
    501
    502
    503
    504
    505
    506
    507
    508
    509
    510
    511
    512
    513
    514
    515
    516
    517
    518
    519
    520
    521
    522
    523
    524
    525
    526
    527
    528
    529
    530
    531
    532
    533
    534
    535
    536
    537
    538
    539
    540
    541
    542
    543
    544
    545
    546
    547
    548
    549
    550
    551
    552
    553
    554
    555
    556
    557
    558
    559
    560
    561
    562
    563
    564
    565
    566
    567
    568
    569
    570
    571
    572
    573
    574
    575
    576
    577
    578
    579
    580
    581
    582
    583
    584
    585
    586
    587
    588
    589
    590
    591
    592
    593
    594
    595
    596
    597
    598
    599
    600
    601
    602
    603
    604
    605
    606
    607
    608
    609
    610
    611
    612
    613
    614
    615
    616
    617
    618
    619
    620
    621
    622
    623
    624
    625
    626
    627
    628
    629
    630
    631
    632
    633
    634
    635
    636
    637
    638
    639
    640
    641
    642
    643
    644
    645
    646
    647
    648
    649
    650
    651
    652
    653
    654
    655
    656
    657
    658
    659
    660
    661
    662
    663
    664
    665
    666
    667
    668
    669
    670
    671
    672
    /*++
     
    Copyright (C) 1992-1999 Microsoft Corporation
     
    Module Name:
     
        snmp.h
     
    Abstract:
     
        Definitions for SNMP development.
     
    --*/
     
    #ifndef _INC_SNMP
    #pragma option push -b -a8 -pc -A- /*P_O_Push*/
    #define _INC_SNMP
     
    #if _MSC_VER > 1000
    #pragma once
    #endif
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // Additional Header Files                                                   //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #include <windows.h>
     
    #ifdef __cplusplus
    extern "C" {
    #endif
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP Type Definitions                                                     //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #include <pshpack4.h>
     
    typedef struct {
        BYTE * stream;
        UINT   length;
        BOOL   dynamic;
    } AsnOctetString;
     
    typedef struct {
        UINT   idLength;
        UINT * ids;
    } AsnObjectIdentifier;
     
    typedef LONG                    AsnInteger32;
    typedef ULONG                   AsnUnsigned32;
    typedef ULARGE_INTEGER          AsnCounter64;
    typedef AsnUnsigned32           AsnCounter32;
    typedef AsnUnsigned32           AsnGauge32;
    typedef AsnUnsigned32           AsnTimeticks;
    typedef AsnOctetString          AsnBits;
    typedef AsnOctetString          AsnSequence;
    typedef AsnOctetString          AsnImplicitSequence;
    typedef AsnOctetString          AsnIPAddress;
    typedef AsnOctetString          AsnNetworkAddress;
    typedef AsnOctetString          AsnDisplayString;
    typedef AsnOctetString          AsnOpaque;
     
    typedef struct {
        BYTE asnType;
        union {
            AsnInteger32            number;     // ASN_INTEGER
                                                // ASN_INTEGER32
            AsnUnsigned32           unsigned32; // ASN_UNSIGNED32
            AsnCounter64            counter64;  // ASN_COUNTER64
            AsnOctetString          string;     // ASN_OCTETSTRING
            AsnBits                 bits;       // ASN_BITS
            AsnObjectIdentifier     object;     // ASN_OBJECTIDENTIFIER
            AsnSequence             sequence;   // ASN_SEQUENCE
            AsnIPAddress            address;    // ASN_IPADDRESS
            AsnCounter32            counter;    // ASN_COUNTER32
            AsnGauge32              gauge;      // ASN_GAUGE32
            AsnTimeticks            ticks;      // ASN_TIMETICKS
            AsnOpaque               arbitrary;  // ASN_OPAQUE
        } asnValue;
    } AsnAny;
     
    typedef AsnObjectIdentifier     AsnObjectName;
    typedef AsnAny                  AsnObjectSyntax;
     
    typedef struct {
        AsnObjectName    name;
        AsnObjectSyntax  value;
    } SnmpVarBind;
     
    typedef struct {
        SnmpVarBind * list;
        UINT          len;
    } SnmpVarBindList;
     
    #include <poppack.h>
     
    #ifndef _INC_WINSNMP
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // ASN/BER Base Types                                                        //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define ASN_UNIVERSAL                   0x00
    #define ASN_APPLICATION                 0x40
    #define ASN_CONTEXT                     0x80
    #define ASN_PRIVATE                     0xC0
     
    #define ASN_PRIMITIVE                   0x00
    #define ASN_CONSTRUCTOR                 0x20
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // PDU Type Values                                                           //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define SNMP_PDU_GET                (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x0)
    #define SNMP_PDU_GETNEXT            (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x1)
    #define SNMP_PDU_RESPONSE           (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x2)
    #define SNMP_PDU_SET                (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x3)
    #define SNMP_PDU_V1TRAP             (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x4)
    #define SNMP_PDU_GETBULK            (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x5)
    #define SNMP_PDU_INFORM             (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x6)
    #define SNMP_PDU_TRAP               (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x7)
     
    #endif // _INC_WINSNMP
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP Simple Syntax Values                                                 //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define ASN_INTEGER                 (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x02)
    #define ASN_BITS                    (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03)
    #define ASN_OCTETSTRING             (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x04)
    #define ASN_NULL                    (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x05)
    #define ASN_OBJECTIDENTIFIER        (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x06)
    #define ASN_INTEGER32               ASN_INTEGER
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP Constructor Syntax Values                                            //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define ASN_SEQUENCE                (ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10)
    #define ASN_SEQUENCEOF              ASN_SEQUENCE
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP Application Syntax Values                                            //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define ASN_IPADDRESS               (ASN_APPLICATION | ASN_PRIMITIVE | 0x00)
    #define ASN_COUNTER32               (ASN_APPLICATION | ASN_PRIMITIVE | 0x01)
    #define ASN_GAUGE32                 (ASN_APPLICATION | ASN_PRIMITIVE | 0x02)
    #define ASN_TIMETICKS               (ASN_APPLICATION | ASN_PRIMITIVE | 0x03)
    #define ASN_OPAQUE                  (ASN_APPLICATION | ASN_PRIMITIVE | 0x04)
    #define ASN_COUNTER64               (ASN_APPLICATION | ASN_PRIMITIVE | 0x06)
    #define ASN_UINTEGER32              (ASN_APPLICATION | ASN_PRIMITIVE | 0x07)
    #define ASN_RFC2578_UNSIGNED32      ASN_GAUGE32
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP Exception Conditions                                                 //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define SNMP_EXCEPTION_NOSUCHOBJECT     (ASN_CONTEXT | ASN_PRIMITIVE | 0x00)
    #define SNMP_EXCEPTION_NOSUCHINSTANCE   (ASN_CONTEXT | ASN_PRIMITIVE | 0x01)
    #define SNMP_EXCEPTION_ENDOFMIBVIEW     (ASN_CONTEXT | ASN_PRIMITIVE | 0x02)
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP Request Types (used in SnmpExtensionQueryEx)                         //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define SNMP_EXTENSION_GET          SNMP_PDU_GET
    #define SNMP_EXTENSION_GET_NEXT     SNMP_PDU_GETNEXT
    #define SNMP_EXTENSION_GET_BULK     SNMP_PDU_GETBULK
    #define SNMP_EXTENSION_SET_TEST     (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x0)
    #define SNMP_EXTENSION_SET_COMMIT   SNMP_PDU_SET
    #define SNMP_EXTENSION_SET_UNDO     (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x1)
    #define SNMP_EXTENSION_SET_CLEANUP  (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x2)
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP Error Codes                                                          //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define SNMP_ERRORSTATUS_NOERROR                0
    #define SNMP_ERRORSTATUS_TOOBIG                 1
    #define SNMP_ERRORSTATUS_NOSUCHNAME             2
    #define SNMP_ERRORSTATUS_BADVALUE               3
    #define SNMP_ERRORSTATUS_READONLY               4
    #define SNMP_ERRORSTATUS_GENERR                 5
    #define SNMP_ERRORSTATUS_NOACCESS               6
    #define SNMP_ERRORSTATUS_WRONGTYPE              7
    #define SNMP_ERRORSTATUS_WRONGLENGTH            8
    #define SNMP_ERRORSTATUS_WRONGENCODING          9
    #define SNMP_ERRORSTATUS_WRONGVALUE             10
    #define SNMP_ERRORSTATUS_NOCREATION             11
    #define SNMP_ERRORSTATUS_INCONSISTENTVALUE      12
    #define SNMP_ERRORSTATUS_RESOURCEUNAVAILABLE    13
    #define SNMP_ERRORSTATUS_COMMITFAILED           14
    #define SNMP_ERRORSTATUS_UNDOFAILED             15
    #define SNMP_ERRORSTATUS_AUTHORIZATIONERROR     16
    #define SNMP_ERRORSTATUS_NOTWRITABLE            17
    #define SNMP_ERRORSTATUS_INCONSISTENTNAME       18
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMPv1 Trap Types                                                         //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define SNMP_GENERICTRAP_COLDSTART              0
    #define SNMP_GENERICTRAP_WARMSTART              1
    #define SNMP_GENERICTRAP_LINKDOWN               2
    #define SNMP_GENERICTRAP_LINKUP                 3
    #define SNMP_GENERICTRAP_AUTHFAILURE            4
    #define SNMP_GENERICTRAP_EGPNEIGHLOSS           5
    #define SNMP_GENERICTRAP_ENTERSPECIFIC          6
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP Access Types                                                         //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define SNMP_ACCESS_NONE                        0
    #define SNMP_ACCESS_NOTIFY                      1
    #define SNMP_ACCESS_READ_ONLY                   2
    #define SNMP_ACCESS_READ_WRITE                  3
    #define SNMP_ACCESS_READ_CREATE                 4
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP API Return Code Definitions                                          //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define SNMPAPI                                 INT
    #define SNMP_FUNC_TYPE                          WINAPI
     
    #define SNMPAPI_NOERROR                         TRUE
    #define SNMPAPI_ERROR                           FALSE
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP Extension API Prototypes                                             //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    BOOL
    SNMP_FUNC_TYPE
    SnmpExtensionInit(
        DWORD                 dwUptimeReference,
        HANDLE *              phSubagentTrapEvent,
        AsnObjectIdentifier * pFirstSupportedRegion
        );
     
    BOOL
    SNMP_FUNC_TYPE
    SnmpExtensionInitEx(
        AsnObjectIdentifier * pNextSupportedRegion
        );
     
    BOOL
    SNMP_FUNC_TYPE
    SnmpExtensionMonitor(
        LPVOID            pAgentMgmtData
        );
     
    BOOL
    SNMP_FUNC_TYPE
    SnmpExtensionQuery(
        BYTE              bPduType,
        SnmpVarBindList * pVarBindList,
        AsnInteger32 *    pErrorStatus,
        AsnInteger32 *    pErrorIndex
        );
     
    BOOL
    SNMP_FUNC_TYPE
    SnmpExtensionQueryEx(
        UINT              nRequestType,
        UINT              nTransactionId,
        SnmpVarBindList * pVarBindList,
        AsnOctetString *  pContextInfo,
        AsnInteger32 *    pErrorStatus,
        AsnInteger32 *    pErrorIndex
        );
     
    BOOL
    SNMP_FUNC_TYPE
    SnmpExtensionTrap(
        AsnObjectIdentifier * pEnterpriseOid,
        AsnInteger32 *        pGenericTrapId,
        AsnInteger32 *        pSpecificTrapId,
        AsnTimeticks *        pTimeStamp,
        SnmpVarBindList *     pVarBindList
        );
     
    VOID
    SNMP_FUNC_TYPE
    SnmpExtensionClose(
        );
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP Extension API Type Definitions                                       //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONINIT)(
        DWORD                 dwUpTimeReference,
        HANDLE *              phSubagentTrapEvent,
        AsnObjectIdentifier * pFirstSupportedRegion
        );
     
    typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONINITEX)(
        AsnObjectIdentifier * pNextSupportedRegion
        );
     
    typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONMONITOR)(
        LPVOID            pAgentMgmtData
        );
     
    typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONQUERY)(
        BYTE              bPduType,
        SnmpVarBindList * pVarBindList,
        AsnInteger32 *    pErrorStatus,
        AsnInteger32 *    pErrorIndex
        );
     
    typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONQUERYEX)(
        UINT              nRequestType,
        UINT              nTransactionId,
        SnmpVarBindList * pVarBindList,
        AsnOctetString *  pContextInfo,
        AsnInteger32 *    pErrorStatus,
        AsnInteger32 *    pErrorIndex
        );
     
    typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONTRAP)(
        AsnObjectIdentifier * pEnterpriseOid,
        AsnInteger32 *        pGenericTrapId,
        AsnInteger32 *        pSpecificTrapId,
        AsnTimeticks *        pTimeStamp,
        SnmpVarBindList *     pVarBindList
        );
     
    typedef VOID (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONCLOSE)(
        );
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP API Prototypes                                                       //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    SNMPAPI
    SNMP_FUNC_TYPE
    SnmpUtilOidCpy(
        AsnObjectIdentifier * pOidDst,
        AsnObjectIdentifier * pOidSrc
        );
     
    SNMPAPI
    SNMP_FUNC_TYPE
    SnmpUtilOidAppend(
        AsnObjectIdentifier * pOidDst,
        AsnObjectIdentifier * pOidSrc
        );
     
    SNMPAPI
    SNMP_FUNC_TYPE
    SnmpUtilOidNCmp(
        AsnObjectIdentifier * pOid1,
        AsnObjectIdentifier * pOid2,
        UINT                  nSubIds
        );
     
    SNMPAPI
    SNMP_FUNC_TYPE
    SnmpUtilOidCmp(
        AsnObjectIdentifier * pOid1,
        AsnObjectIdentifier * pOid2
        );
     
    VOID
    SNMP_FUNC_TYPE
    SnmpUtilOidFree(
        AsnObjectIdentifier * pOid
        );
     
    SNMPAPI
    SNMP_FUNC_TYPE
    SnmpUtilOctetsCmp(
        AsnOctetString * pOctets1,
        AsnOctetString * pOctets2
        );
     
    SNMPAPI
    SNMP_FUNC_TYPE
    SnmpUtilOctetsNCmp(
        AsnOctetString * pOctets1,
        AsnOctetString * pOctets2,
        UINT             nChars
        );
     
    SNMPAPI
    SNMP_FUNC_TYPE
    SnmpUtilOctetsCpy(
        AsnOctetString * pOctetsDst,
        AsnOctetString * pOctetsSrc
        );
     
    VOID
    SNMP_FUNC_TYPE
    SnmpUtilOctetsFree(
        AsnOctetString * pOctets
        );
     
    SNMPAPI
    SNMP_FUNC_TYPE
    SnmpUtilAsnAnyCpy(
        AsnAny * pAnyDst,
        AsnAny * pAnySrc
        );
     
    VOID
    SNMP_FUNC_TYPE
    SnmpUtilAsnAnyFree(
        AsnAny * pAny
        );
     
    SNMPAPI
    SNMP_FUNC_TYPE
    SnmpUtilVarBindCpy(
        SnmpVarBind * pVbDst,
        SnmpVarBind * pVbSrc
        );
     
    VOID
    SNMP_FUNC_TYPE
    SnmpUtilVarBindFree(
        SnmpVarBind * pVb
        );
     
    SNMPAPI
    SNMP_FUNC_TYPE
    SnmpUtilVarBindListCpy(
        SnmpVarBindList * pVblDst,
        SnmpVarBindList * pVblSrc
        );
     
    VOID
    SNMP_FUNC_TYPE
    SnmpUtilVarBindListFree(
        SnmpVarBindList * pVbl
        );
     
    VOID
    SNMP_FUNC_TYPE
    SnmpUtilMemFree(
        LPVOID pMem
        );
     
    LPVOID
    SNMP_FUNC_TYPE
    SnmpUtilMemAlloc(
        UINT nBytes
        );
     
    LPVOID
    SNMP_FUNC_TYPE
    SnmpUtilMemReAlloc(
        LPVOID pMem,
        UINT   nBytes
        );
     
    LPSTR
    SNMP_FUNC_TYPE
    SnmpUtilOidToA(
        IN AsnObjectIdentifier *Oid
        );
     
    LPSTR
    SNMP_FUNC_TYPE
    SnmpUtilIdsToA(
        IN UINT *Ids,
        IN UINT IdLength
        );
     
    VOID
    SNMP_FUNC_TYPE
    SnmpUtilPrintOid(
        IN AsnObjectIdentifier *Oid
        );
     
    VOID
    SNMP_FUNC_TYPE
    SnmpUtilPrintAsnAny(
        AsnAny * pAny
        );
     
    DWORD
    SNMP_FUNC_TYPE
    SnmpSvcGetUptime(
        );
     
    VOID
    SNMP_FUNC_TYPE
    SnmpSvcSetLogLevel(
        INT nLogLevel
        );
     
    VOID
    SNMP_FUNC_TYPE
    SnmpSvcSetLogType(
        INT nLogType
        );
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP Debugging Definitions                                                //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define SNMP_LOG_SILENT                 0x0
    #define SNMP_LOG_FATAL                  0x1
    #define SNMP_LOG_ERROR                  0x2
    #define SNMP_LOG_WARNING                0x3
    #define SNMP_LOG_TRACE                  0x4
    #define SNMP_LOG_VERBOSE                0x5
     
    #define SNMP_OUTPUT_TO_CONSOLE          0x1
    #define SNMP_OUTPUT_TO_LOGFILE          0x2
    #define SNMP_OUTPUT_TO_EVENTLOG         0x4  // no longer supported
    #define SNMP_OUTPUT_TO_DEBUGGER         0x8
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // SNMP Debugging Prototypes                                                 //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    VOID
    SNMP_FUNC_TYPE
    SnmpUtilDbgPrint(
        IN INT nLogLevel,   // see log levels above...
        IN LPSTR szFormat,
        IN ...
        );
     
    #if DBG
    #define SNMPDBG(_x_)                    SnmpUtilDbgPrint _x_
    #else
    #define SNMPDBG(_x_)
    #endif
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // Miscellaneous definitions                                                 //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define DEFINE_SIZEOF(Array)        (sizeof(Array)/sizeof((Array)[0]))
    #define DEFINE_OID(SubIdArray)      {DEFINE_SIZEOF(SubIdArray),(SubIdArray)}
    #define DEFINE_NULLOID()            {0,NULL}
    #define DEFINE_NULLOCTETS()         {NULL,0,FALSE}
     
    #define DEFAULT_SNMP_PORT_UDP       161
    #define DEFAULT_SNMP_PORT_IPX       36879
    #define DEFAULT_SNMPTRAP_PORT_UDP   162
    #define DEFAULT_SNMPTRAP_PORT_IPX   36880
     
    #define SNMP_MAX_OID_LEN            128
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // API Error Code Definitions                                                //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #define SNMP_MEM_ALLOC_ERROR            1
    #define SNMP_BERAPI_INVALID_LENGTH      10
    #define SNMP_BERAPI_INVALID_TAG         11
    #define SNMP_BERAPI_OVERFLOW            12
    #define SNMP_BERAPI_SHORT_BUFFER        13
    #define SNMP_BERAPI_INVALID_OBJELEM     14
    #define SNMP_PDUAPI_UNRECOGNIZED_PDU    20
    #define SNMP_PDUAPI_INVALID_ES          21
    #define SNMP_PDUAPI_INVALID_GT          22
    #define SNMP_AUTHAPI_INVALID_VERSION    30
    #define SNMP_AUTHAPI_INVALID_MSG_TYPE   31
    #define SNMP_AUTHAPI_TRIV_AUTH_FAILED   32
     
    ///////////////////////////////////////////////////////////////////////////////
    //                                                                           //
    // Support for old definitions (support disabled via SNMPSTRICT)             //
    //                                                                           //
    ///////////////////////////////////////////////////////////////////////////////
     
    #ifndef SNMPSTRICT
     
    #define SNMP_oidcpy                     SnmpUtilOidCpy
    #define SNMP_oidappend                  SnmpUtilOidAppend
    #define SNMP_oidncmp                    SnmpUtilOidNCmp
    #define SNMP_oidcmp                     SnmpUtilOidCmp
    #define SNMP_oidfree                    SnmpUtilOidFree
     
    #define SNMP_CopyVarBindList            SnmpUtilVarBindListCpy
    #define SNMP_FreeVarBindList            SnmpUtilVarBindListFree
    #define SNMP_CopyVarBind                SnmpUtilVarBindCpy
    #define SNMP_FreeVarBind                SnmpUtilVarBindFree
     
    #define SNMP_printany                   SnmpUtilPrintAsnAny
     
    #define SNMP_free                       SnmpUtilMemFree
    #define SNMP_malloc                     SnmpUtilMemAlloc
    #define SNMP_realloc                    SnmpUtilMemReAlloc
     
    #define SNMP_DBG_free                   SnmpUtilMemFree
    #define SNMP_DBG_malloc                 SnmpUtilMemAlloc
    #define SNMP_DBG_realloc                SnmpUtilMemReAlloc
     
    #define ASN_RFC1155_IPADDRESS           ASN_IPADDRESS
    #define ASN_RFC1155_COUNTER             ASN_COUNTER32
    #define ASN_RFC1155_GAUGE               ASN_GAUGE32
    #define ASN_RFC1155_TIMETICKS           ASN_TIMETICKS
    #define ASN_RFC1155_OPAQUE              ASN_OPAQUE
    #define ASN_RFC1213_DISPSTRING          ASN_OCTETSTRING
     
    #define ASN_RFC1157_GETREQUEST          SNMP_PDU_GET
    #define ASN_RFC1157_GETNEXTREQUEST      SNMP_PDU_GETNEXT
    #define ASN_RFC1157_GETRESPONSE         SNMP_PDU_RESPONSE
    #define ASN_RFC1157_SETREQUEST          SNMP_PDU_SET
    #define ASN_RFC1157_TRAP                SNMP_PDU_V1TRAP
     
    #define ASN_CONTEXTSPECIFIC             ASN_CONTEXT
    #define ASN_PRIMATIVE                   ASN_PRIMITIVE
     
    #define RFC1157VarBindList              SnmpVarBindList
    #define RFC1157VarBind                  SnmpVarBind
    #define AsnInteger                      AsnInteger32
    #define AsnCounter                      AsnCounter32
    #define AsnGauge                        AsnGauge32
    #define ASN_UNSIGNED32                  ASN_UINTEGER32
     
    #endif // SNMPSTRICT
     
    #ifdef __cplusplus
    }
    #endif
     
     
    #pragma option pop /*P_O_Pop*/
    #endif // _INC_SNMP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    438
    439
    440
    441
    442
    443
    444
    445
    446
    447
    448
    449
    450
    451
    452
    453
    454
    455
    456
    457
    458
    459
    460
    461
    462
    463
    464
    465
    466
    467
    468
    469
    470
    471
    472
    473
    474
    475
    476
    477
    478
    479
    480
    481
    482
    483
    484
    485
    486
    487
    488
    489
    490
    491
    492
    493
    494
    495
    496
    497
    498
    499
    500
    501
    502
    503
    504
    505
    506
    507
    /* WinSNMP.h */
    /* Copyright (C) 1993-1999 Microsoft Corporation */
    /* v1.0 - Sep 13, 1993 */
    /* v1.1 - Jun 12, 1994 */
    /* v2.0 - Nov  1, 1997 */
    /*      - Nov 17, 1997: inc limits.h, tests for ULONG/UINT_MAX */
    /*      - Mar 23, 1998: fixed typo in "lpClientData" */
     
    /* Questions/comments to Bob Natale, bnatale@acecomm.com */
     
    #ifndef _INC_WINSNMP     /* Include WinSNMP declarations */
    #pragma option push -b -a8 -pc -A- /*P_O_Push*/
    #define  _INC_WINSNMP    /* Just once! */
     
    #if _MSC_VER > 1000
    #pragma once
    #endif
     
    #ifndef _INC_WINDOWS     /* Include Windows declarations, if not already done */
    #include <windows.h>
    #define _INC_WINDOWS     /* Just once! */
    #endif                   /* _INC_WINDOWS */
     
    #include <limits.h>
     
    #ifdef __cplusplus
    extern "C" {
    #endif
     
    /* WinSNMP API Type Definitions  */
    typedef  HANDLE        HSNMP_SESSION,      FAR *LPHSNMP_SESSION;
    typedef  HANDLE        HSNMP_ENTITY,       FAR *LPHSNMP_ENTITY;
    typedef  HANDLE        HSNMP_CONTEXT,      FAR *LPHSNMP_CONTEXT;
    typedef  HANDLE        HSNMP_PDU,          FAR *LPHSNMP_PDU;
    typedef  HANDLE        HSNMP_VBL,          FAR *LPHSNMP_VBL;
    typedef unsigned char    smiBYTE,          FAR *smiLPBYTE;
    /* SNMP-related types */
    #if ULONG_MAX == 4294967295U
    typedef signed long      smiINT,           FAR *smiLPINT;
    typedef smiINT           smiINT32,         FAR *smiLPINT32;
    typedef unsigned long    smiUINT32,        FAR *smiLPUINT32;
    #elif UINT_MAX == 4294967295U
    typedef int              smiINT,           FAR *smiLPINT;
    typedef smiINT           smiINT32,         FAR *smiLPINT32;
    typedef unsigned int     smiUINT32,        FAR *smiLPUINT32;
    #else
    #error can not define smiINT and smiUINT
    #endif
    typedef struct {
         smiUINT32 len;
         smiLPBYTE ptr;}     smiOCTETS,        FAR *smiLPOCTETS;
    typedef const smiOCTETS                    FAR *smiLPCOCTETS;
    typedef smiOCTETS        smiBITS,          FAR *smiLPBITS;
    typedef struct {
         smiUINT32   len;
         smiLPUINT32 ptr;}   smiOID,           FAR *smiLPOID;
    typedef const smiOID                       FAR *smiLPCOID;
    typedef smiOCTETS        smiIPADDR,        FAR *smiLPIPADDR;
    typedef smiUINT32        smiCNTR32,        FAR *smiLPCNTR32;
    typedef smiUINT32        smiGAUGE32,       FAR *smiLPGAUGE32;
    typedef smiUINT32        smiTIMETICKS,     FAR *smiLPTIMETICKS;
    typedef smiOCTETS        smiOPAQUE,        FAR *smiLPOPAQUE;
    typedef smiOCTETS        smiNSAPADDR,      FAR *smiLPNSAPADDR;
    typedef struct {
         smiUINT32 hipart;
         smiUINT32 lopart;}  smiCNTR64,        FAR *smiLPCNTR64;
    /* ASN/BER Base Types */
    /* (used in forming SYNTAXes and certain SNMP types/values) */
    #define ASN_UNIVERSAL         (0x00)
    #define ASN_APPLICATION       (0x40)
    #define ASN_CONTEXT           (0x80)
    #define ASN_PRIVATE           (0xC0)
    #define ASN_PRIMITIVE         (0x00)
    #define ASN_CONSTRUCTOR       (0x20)
     
    /* SNMP ObjectSyntax Values */
    #define SNMP_SYNTAX_SEQUENCE    (ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10)
    /* These values are used in the "syntax" member of the smiVALUE structure which follows */
    #define SNMP_SYNTAX_INT         (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x02)
    #define SNMP_SYNTAX_BITS        (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03)
    #define SNMP_SYNTAX_OCTETS      (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x04)
    #define SNMP_SYNTAX_NULL        (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x05)
    #define SNMP_SYNTAX_OID         (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x06)
    #define SNMP_SYNTAX_INT32       SNMP_SYNTAX_INT
    #define SNMP_SYNTAX_IPADDR      (ASN_APPLICATION | ASN_PRIMITIVE | 0x00)
    #define SNMP_SYNTAX_CNTR32      (ASN_APPLICATION | ASN_PRIMITIVE | 0x01)
    #define SNMP_SYNTAX_GAUGE32     (ASN_APPLICATION | ASN_PRIMITIVE | 0x02)
    #define SNMP_SYNTAX_TIMETICKS   (ASN_APPLICATION | ASN_PRIMITIVE | 0x03)
    #define SNMP_SYNTAX_OPAQUE      (ASN_APPLICATION | ASN_PRIMITIVE | 0x04)
    #define SNMP_SYNTAX_NSAPADDR    (ASN_APPLICATION | ASN_PRIMITIVE | 0x05)
    #define SNMP_SYNTAX_CNTR64      (ASN_APPLICATION | ASN_PRIMITIVE | 0x06)
    #define SNMP_SYNTAX_UINT32      (ASN_APPLICATION | ASN_PRIMITIVE | 0x07)
    #define SNMP_SYNTAX_UNSIGNED32  SNMP_SYNTAX_GAUGE32
    /* Exception conditions in response PDUs for SNMPv2 */
    #define SNMP_SYNTAX_NOSUCHOBJECT   (ASN_CONTEXT | ASN_PRIMITIVE | 0x00)
    #define SNMP_SYNTAX_NOSUCHINSTANCE (ASN_CONTEXT | ASN_PRIMITIVE | 0x01)
    #define SNMP_SYNTAX_ENDOFMIBVIEW   (ASN_CONTEXT | ASN_PRIMITIVE | 0x02)
     
    typedef struct {              /* smiVALUE portion of VarBind */
         smiUINT32 syntax;        /* Insert SNMP_SYNTAX_<type> */
         union {
         smiINT    sNumber;       /* SNMP_SYNTAX_INT
                                     SNMP_SYNTAX_INT32 */
         smiUINT32 uNumber;       /* SNMP_SYNTAX_UINT32
                                     SNMP_SYNTAX_CNTR32
                                     SNMP_SYNTAX_GAUGE32
                                     SNMP_SYNTAX_TIMETICKS */
         smiCNTR64 hNumber;       /* SNMP_SYNTAX_CNTR64 */
         smiOCTETS string;        /* SNMP_SYNTAX_OCTETS
                                     SNMP_SYNTAX_BITS
                                     SNMP_SYNTAX_OPAQUE
                                     SNMP_SYNTAX_IPADDR
                                     SNMP_SYNTAX_NSAPADDR */
         smiOID    oid;           /* SNMP_SYNTAX_OID */
         smiBYTE   empty;         /* SNMP_SYNTAX_NULL
                                     SNMP_SYNTAX_NOSUCHOBJECT
                                     SNMP_SYNTAX_NOSUCHINSTANCE
                                     SNMP_SYNTAX_ENDOFMIBVIEW */
             }     value;         /* union */
         }         smiVALUE,      FAR *smiLPVALUE;
    typedef const  smiVALUE       FAR *smiLPCVALUE;
     
    /* SNMP Limits   */
    #define MAXOBJIDSIZE     128  /* Max number of components in an OID */
    #define MAXOBJIDSTRSIZE  1408 /* Max len of decoded MAXOBJIDSIZE OID */
     
    /* PDU Type Values */
    #define SNMP_PDU_GET          (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x0)
    #define SNMP_PDU_GETNEXT      (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x1)
    #define SNMP_PDU_RESPONSE     (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x2)
    #define SNMP_PDU_SET          (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x3)
    /* SNMP_PDU_V1TRAP is obsolete in SNMPv2 */
    #define SNMP_PDU_V1TRAP       (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x4)
    #define SNMP_PDU_GETBULK      (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x5)
    #define SNMP_PDU_INFORM       (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x6)
    #define SNMP_PDU_TRAP         (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x7)
     
    /* SNMPv1 Trap Values */
    /* (These values might be superfluous wrt WinSNMP applications) */
    #define SNMP_TRAP_COLDSTART             0
    #define SNMP_TRAP_WARMSTART             1
    #define SNMP_TRAP_LINKDOWN              2
    #define SNMP_TRAP_LINKUP                3
    #define SNMP_TRAP_AUTHFAIL              4
    #define SNMP_TRAP_EGPNEIGHBORLOSS       5
    #define SNMP_TRAP_ENTERPRISESPECIFIC    6
     
    /* SNMP Error Codes Returned in Error_status Field of PDU */
    /* (these are NOT WinSNMP API Error Codes */
    /* Error Codes Common to SNMPv1 and SNMPv2 */
    #define SNMP_ERROR_NOERROR              0
    #define SNMP_ERROR_TOOBIG               1
    #define SNMP_ERROR_NOSUCHNAME           2
    #define SNMP_ERROR_BADVALUE             3
    #define SNMP_ERROR_READONLY             4
    #define SNMP_ERROR_GENERR               5
    /* Error Codes Added for SNMPv2 */
    #define SNMP_ERROR_NOACCESS             6
    #define SNMP_ERROR_WRONGTYPE            7
    #define SNMP_ERROR_WRONGLENGTH          8
    #define SNMP_ERROR_WRONGENCODING        9
    #define SNMP_ERROR_WRONGVALUE           10
    #define SNMP_ERROR_NOCREATION           11
    #define SNMP_ERROR_INCONSISTENTVALUE    12
    #define SNMP_ERROR_RESOURCEUNAVAILABLE  13
    #define SNMP_ERROR_COMMITFAILED         14
    #define SNMP_ERROR_UNDOFAILED           15
    #define SNMP_ERROR_AUTHORIZATIONERROR   16
    #define SNMP_ERROR_NOTWRITABLE          17
    #define SNMP_ERROR_INCONSISTENTNAME     18
     
    /* WinSNMP API Values */
    /* Values used to indicate entity/context translation modes */
    #define SNMPAPI_TRANSLATED         0
    #define SNMPAPI_UNTRANSLATED_V1    1
    #define SNMPAPI_UNTRANSLATED_V2    2
     
    /* Values used to indicate "SNMP level" supported by the implementation */
    #define SNMPAPI_NO_SUPPORT         0
    #define SNMPAPI_V1_SUPPORT         1
    #define SNMPAPI_V2_SUPPORT         2
    #define SNMPAPI_M2M_SUPPORT        3
     
    /* Values used to indicate retransmit mode in the implementation */
    #define SNMPAPI_OFF                0    /* Refuse support */
    #define SNMPAPI_ON                 1    /* Request support */
     
    /* WinSNMP API Function Return Codes */
    typedef smiUINT32    SNMPAPI_STATUS;    /* Used for function ret values */
    #define SNMPAPI_FAILURE            0    /* Generic error code */
    #define SNMPAPI_SUCCESS            1    /* Generic success code */
    /* WinSNMP API Error Codes (for SnmpGetLastError) */
    /* (NOT SNMP Response-PDU error_status codes) */
    #define SNMPAPI_ALLOC_ERROR        2    /* Error allocating memory */
    #define SNMPAPI_CONTEXT_INVALID    3    /* Invalid context parameter */
    #define SNMPAPI_CONTEXT_UNKNOWN    4    /* Unknown context parameter */
    #define SNMPAPI_ENTITY_INVALID     5    /* Invalid entity parameter */
    #define SNMPAPI_ENTITY_UNKNOWN     6    /* Unknown entity parameter */
    #define SNMPAPI_INDEX_INVALID      7    /* Invalid VBL index parameter */
    #define SNMPAPI_NOOP               8    /* No operation performed */
    #define SNMPAPI_OID_INVALID        9    /* Invalid OID parameter */
    #define SNMPAPI_OPERATION_INVALID  10   /* Invalid/unsupported operation */
    #define SNMPAPI_OUTPUT_TRUNCATED   11   /* Insufficient output buf len */
    #define SNMPAPI_PDU_INVALID        12   /* Invalid PDU parameter */
    #define SNMPAPI_SESSION_INVALID    13   /* Invalid session parameter */
    #define SNMPAPI_SYNTAX_INVALID     14   /* Invalid syntax in smiVALUE */
    #define SNMPAPI_VBL_INVALID        15   /* Invalid VBL parameter */
    #define SNMPAPI_MODE_INVALID       16   /* Invalid mode parameter */
    #define SNMPAPI_SIZE_INVALID       17   /* Invalid size/length parameter */
    #define SNMPAPI_NOT_INITIALIZED    18   /* SnmpStartup failed/not called */
    #define SNMPAPI_MESSAGE_INVALID    19   /* Invalid SNMP message format */
    #define SNMPAPI_HWND_INVALID       20   /* Invalid Window handle */
    #define SNMPAPI_OTHER_ERROR        99   /* For internal/undefined errors */
    /* Generic Transport Layer (TL) Errors */
    #define SNMPAPI_TL_NOT_INITIALIZED 100  /* TL not initialized */
    #define SNMPAPI_TL_NOT_SUPPORTED   101  /* TL does not support protocol */
    #define SNMPAPI_TL_NOT_AVAILABLE   102  /* Network subsystem has failed */
    #define SNMPAPI_TL_RESOURCE_ERROR  103  /* TL resource error */
    #define SNMPAPI_TL_UNDELIVERABLE   104  /* Destination unreachable */
    #define SNMPAPI_TL_SRC_INVALID     105  /* Source endpoint invalid */
    #define SNMPAPI_TL_INVALID_PARAM   106  /* Input parameter invalid */
    #define SNMPAPI_TL_IN_USE          107  /* Source endpoint in use */
    #define SNMPAPI_TL_TIMEOUT         108  /* No response before timeout */
    #define SNMPAPI_TL_PDU_TOO_BIG     109  /* PDU too big for send/receive */
    #define SNMPAPI_TL_OTHER           199  /* Undefined TL error */
     
    /* WinSNMP API Function Prototypes */
     
    #ifndef IN
    #define IN
    #endif
     
    #ifndef OUT
    #define OUT
    #endif
     
    #define SNMPAPI_CALL     WINAPI         /* FAR PASCAL calling conventions */
     
    /* v2.0: Structure for SnmpGetVendorInfo() output */
    #define MAXVENDORINFO 32
    typedef struct
        {
        char vendorName[MAXVENDORINFO*2];
        char vendorContact[MAXVENDORINFO*2];
        char vendorVersionId[MAXVENDORINFO];
        char vendorVersionDate[MAXVENDORINFO];
        smiUINT32 vendorEnterprise;
        } smiVENDORINFO, FAR *smiLPVENDORINFO;
     
    /* v2.0: Callback format for SnmpCreateSession() fCallback parameter */
    typedef SNMPAPI_STATUS (CALLBACK *SNMPAPI_CALLBACK)
                            (IN HSNMP_SESSION hSession,
                             IN HWND hWnd,
                             IN UINT wMsg,
                             IN WPARAM wParam,
                             IN LPARAM lParam,
                             IN LPVOID lpClientData);
     
    /* Local Database Functions */
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpGetTranslateMode
                                  (OUT smiLPUINT32 nTranslateMode);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpSetTranslateMode
                                  (IN smiUINT32 nTranslateMode);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpGetRetransmitMode
                                  (OUT smiLPUINT32 nRetransmitMode);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpSetRetransmitMode
                                  (IN smiUINT32 nRetransmitMode);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpGetTimeout
                                  (IN HSNMP_ENTITY hEntity,
                                  OUT smiLPTIMETICKS nPolicyTimeout,
                                  OUT smiLPTIMETICKS nActualTimeout);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpSetTimeout
                                  (IN HSNMP_ENTITY hEntity,
                                  IN smiTIMETICKS nPolicyTimeout);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpGetRetry
                                  (IN HSNMP_ENTITY hEntity,
                                  OUT smiLPUINT32 nPolicyRetry,
                                  OUT smiLPUINT32 nActualRetry);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpSetRetry
                                  (IN HSNMP_ENTITY hEntity,
                                  IN smiUINT32 nPolicyRetry);
     
    /* Following Local Database Functions added in v2.0 */
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpGetVendorInfo
                                  (OUT smiLPVENDORINFO vendorInfo);
     
    /* Communications Functions */
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpStartup
                                  (OUT smiLPUINT32 nMajorVersion,
                                  OUT smiLPUINT32 nMinorVersion,
                                  OUT smiLPUINT32 nLevel,
                                  OUT smiLPUINT32 nTranslateMode,
                                  OUT smiLPUINT32 nRetransmitMode);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpCleanup
                                  (void);
     
    HSNMP_SESSION  SNMPAPI_CALL   SnmpOpen
                                  (IN HWND hWnd,
                                  IN UINT wMsg);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpClose
                                  (IN HSNMP_SESSION session);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpSendMsg
                                  (IN HSNMP_SESSION session,
                                  IN HSNMP_ENTITY srcEntity,
                                  IN HSNMP_ENTITY dstEntity,
                                  IN HSNMP_CONTEXT context,
                                  IN HSNMP_PDU PDU);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpRecvMsg
                                  (IN HSNMP_SESSION session,
                                  OUT LPHSNMP_ENTITY srcEntity,
                                  OUT LPHSNMP_ENTITY dstEntity,
                                  OUT LPHSNMP_CONTEXT  context,
                                  OUT LPHSNMP_PDU PDU);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpRegister
                                  (IN HSNMP_SESSION session,
                                  IN HSNMP_ENTITY srcEntity,
                                  IN HSNMP_ENTITY dstEntity,
                                  IN HSNMP_CONTEXT context,
                                  IN smiLPCOID notification,
                                  IN smiUINT32 state);
     
    /* Following Communications Functions added in v2.0 */
    HSNMP_SESSION  SNMPAPI_CALL   SnmpCreateSession
                                  (IN HWND hWnd,
                                  IN UINT wMsg,
                                  IN SNMPAPI_CALLBACK fCallBack,
                                  IN LPVOID lpClientData);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpListen
                                  (IN HSNMP_ENTITY hEntity,
                                  IN SNMPAPI_STATUS lStatus);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpCancelMsg
                                  (IN HSNMP_SESSION session,
                                  IN smiINT32 reqId);
     
    /* Extensions to Communications Functions */
    SNMPAPI_STATUS SNMPAPI_CALL SnmpStartupEx 
                                (OUT smiLPUINT32 nMajorVersion,
                                 OUT smiLPUINT32 nMinorVersion,
                                 OUT smiLPUINT32 nLevel,
                                 OUT smiLPUINT32 nTranslateMode,
                                 OUT smiLPUINT32 nRetransmitMode);
    typedef SNMPAPI_STATUS (__stdcall * PFNSNMPSTARTUPEX)(  smiLPUINT32,
                                                            smiLPUINT32,
                                                            smiLPUINT32,
                                                            smiLPUINT32,
                                                            smiLPUINT32);
    SNMPAPI_STATUS SNMPAPI_CALL SnmpCleanupEx 
                                (void);
    typedef SNMPAPI_STATUS (__stdcall * PFNSNMPCLEANUPEX)(void);
     
    /* Entity/Context Functions */
    HSNMP_ENTITY   SNMPAPI_CALL   SnmpStrToEntity
                                  (IN HSNMP_SESSION session,
                                  IN LPCSTR string);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpEntityToStr
                                  (IN HSNMP_ENTITY entity,
                                  IN smiUINT32 size,
                                  OUT LPSTR string);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpFreeEntity
                                  (IN HSNMP_ENTITY entity);
     
    HSNMP_CONTEXT  SNMPAPI_CALL   SnmpStrToContext
                                  (IN HSNMP_SESSION session,
                                  IN smiLPCOCTETS string);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpContextToStr
                                  (IN HSNMP_CONTEXT context,
                                  OUT smiLPOCTETS string);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpFreeContext
                                  (IN HSNMP_CONTEXT context);
     
    /* Following Entity/Context Functions added in v2.0 */
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpSetPort
                                  (IN HSNMP_ENTITY hEntity,
                                  IN UINT nPort);
     
    /* PDU Functions */
    HSNMP_PDU      SNMPAPI_CALL   SnmpCreatePdu
                                  (IN HSNMP_SESSION session,
                                  IN smiINT PDU_type,
                                  IN smiINT32 request_id,
                                  IN smiINT error_status,
                                  IN smiINT error_index,
                                  IN HSNMP_VBL varbindlist);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpGetPduData
                                  (IN HSNMP_PDU PDU,
                                  OUT smiLPINT PDU_type,
                                  OUT smiLPINT32 request_id,
                                  OUT smiLPINT error_status,
                                  OUT smiLPINT error_index,
                                  OUT LPHSNMP_VBL varbindlist);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpSetPduData
                                  (IN HSNMP_PDU PDU,
                                  IN const smiINT FAR *PDU_type,
                                  IN const smiINT32 FAR *request_id,
                                  IN const smiINT FAR *non_repeaters,
                                  IN const smiINT FAR *max_repetitions,
                                  IN const HSNMP_VBL FAR *varbindlist);
     
    HSNMP_PDU      SNMPAPI_CALL   SnmpDuplicatePdu
                                  (IN HSNMP_SESSION session,
                                  IN HSNMP_PDU PDU);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpFreePdu
                                  (IN HSNMP_PDU PDU);
     
    /* Variable-Binding Functions */
    HSNMP_VBL      SNMPAPI_CALL   SnmpCreateVbl
                                  (IN HSNMP_SESSION session,
                                  IN smiLPCOID name,
                                  IN smiLPCVALUE value);
     
    HSNMP_VBL      SNMPAPI_CALL   SnmpDuplicateVbl
                                  (IN HSNMP_SESSION session,
                                  IN HSNMP_VBL vbl);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpFreeVbl
                                  (IN HSNMP_VBL vbl);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpCountVbl
                                  (IN HSNMP_VBL vbl);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpGetVb
                                  (IN HSNMP_VBL vbl,
                                  IN smiUINT32 index,
                                  OUT smiLPOID name,
                                  OUT smiLPVALUE value);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpSetVb
                                  (IN HSNMP_VBL vbl,
                                  IN smiUINT32 index,
                                  IN smiLPCOID name,
                                  IN smiLPCVALUE value);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpDeleteVb
                                  (IN HSNMP_VBL vbl,
                                  IN smiUINT32 index);
     
    /* Utility Functions */
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpGetLastError
                                  (IN HSNMP_SESSION session);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpStrToOid
                                  (IN LPCSTR string,
                                  OUT smiLPOID dstOID);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpOidToStr
                                  (IN smiLPCOID srcOID,
                                  IN smiUINT32 size,
                                  OUT LPSTR string);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpOidCopy
                                  (IN smiLPCOID srcOID,
                                  OUT smiLPOID dstOID);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpOidCompare
                                  (IN smiLPCOID xOID,
                                  IN smiLPCOID yOID,
                                  IN smiUINT32 maxlen,
                                  OUT smiLPINT result);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpEncodeMsg
                                  (IN HSNMP_SESSION session,
                                  IN HSNMP_ENTITY srcEntity,
                                  IN HSNMP_ENTITY dstEntity,
                                  IN HSNMP_CONTEXT context,
                                  IN HSNMP_PDU pdu,
                                  OUT smiLPOCTETS msgBufDesc);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpDecodeMsg
                                  (IN HSNMP_SESSION session,
                                  OUT LPHSNMP_ENTITY srcEntity,
                                  OUT LPHSNMP_ENTITY dstEntity,
                                  OUT LPHSNMP_CONTEXT context,
                                  OUT LPHSNMP_PDU pdu,
                                  IN smiLPCOCTETS msgBufDesc);
     
    SNMPAPI_STATUS SNMPAPI_CALL   SnmpFreeDescriptor
                                  (IN smiUINT32 syntax,
                                  IN smiLPOPAQUE descriptor);
     
    #ifdef __cplusplus
    }
    #endif
     
     
    #pragma option pop /*P_O_Pop*/
    #endif         /* _INC_WINSNMP */

  12. #72
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Citation Envoyé par atum25 Voir le message
    le winsnmp.h tu ne t'en ser pas dans le programme si?
    Non, non, pas directement en tout cas.

    j'avais confondu avec mgmtapi.h mais il ne devrait pas être en cause celui là.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    /*
      mgmtapi.h - Header file for the SNMP Management API
     
      Written by Filip Navara <xnavara@volny.cz>
     
      References (2003-08-25):
        http://msdn.microsoft.com/library/en-us/snmp/snmp/snmp_reference.asp
     
      This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    */
     
    #ifndef _MGMTAPI_H
    #define _MGMTAPI_H
    #if __GNUC__ >= 3
    #pragma GCC system_header
    #endif
     
    #ifndef _SNMP_H
    #include <snmp.h>
    #endif
     
    #ifdef __cplusplus
    extern "C" {
    #endif
     
    #define SNMP_MGMTAPI_TIMEOUT	40
    #define SNMP_MGMTAPI_SELECT_FDERRORS	41
    #define SNMP_MGMTAPI_TRAP_ERRORS	42
    #define SNMP_MGMTAPI_TRAP_DUPINIT	43
    #define SNMP_MGMTAPI_NOTRAPS	44
    #define SNMP_MGMTAPI_AGAIN	45
    #define SNMP_MGMTAPI_INVALID_CTL	46
    #define SNMP_MGMTAPI_INVALID_SESSION	47
    #define SNMP_MGMTAPI_INVALID_BUFFER	48
    #define MGMCTL_SETAGENTPORT	1
     
    #ifndef RC_INVOKED
     
    typedef PVOID LPSNMP_MGR_SESSION;
     
    BOOL WINSNMPAPI SnmpMgrClose(LPSNMP_MGR_SESSION);
    BOOL WINSNMPAPI SnmpMgrCtl(LPSNMP_MGR_SESSION,DWORD,LPVOID,DWORD,LPVOID,DWORD,LPDWORD);
    BOOL WINSNMPAPI SnmpMgrGetTrap(AsnObjectIdentifier*,AsnNetworkAddress*,AsnInteger*,AsnInteger*,AsnTimeticks*,SnmpVarBindList*);
    BOOL WINSNMPAPI SnmpMgrGetTrapEx(AsnObjectIdentifier*,AsnNetworkAddress*,AsnNetworkAddress*,AsnInteger*,AsnInteger*,AsnOctetString*,AsnTimeticks*,SnmpVarBindList*);
    BOOL WINSNMPAPI SnmpMgrOidToStr(AsnObjectIdentifier*,LPSTR*);
    LPSNMP_MGR_SESSION WINSNMPAPI SnmpMgrOpen(LPSTR,LPSTR,INT,INT);
    INT WINSNMPAPI SnmpMgrRequest(LPSNMP_MGR_SESSION,BYTE,SnmpVarBindList*,AsnInteger*,AsnInteger*);
    BOOL WINSNMPAPI SnmpMgrStrToOid(LPSTR,AsnObjectIdentifier*);
    BOOL WINSNMPAPI SnmpMgrTrapListen(HANDLE*);
     
    #endif /* RC_INVOKED */
     
    #ifdef __cplusplus
    }
    #endif
    #endif

  13. #73
    Membre du Club
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Points : 52
    Points
    52
    Par défaut
    Ben le snmp.h, j'ai le meme que le 2eme que tu a envoyer, avec le 1er j'ai des erreurs de partout.

    Quand je lance ton compiler, g bien le numero de port dans data, quand je compile ton code source g data =0.

    c'est un truc de psychopat

  14. #74
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Citation Envoyé par atum25 Voir le message
    avec le 1er j'ai des erreurs de partout.
    Oui, normal.

    Citation Envoyé par atum25 Voir le message
    Ben le snmp.h, j'ai le meme que le 2eme que tu a envoyer
    T'es sûr que c'est le même ?

  15. #75
    Membre du Club
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Points : 52
    Points
    52
    Par défaut
    Oui ej viens de re-vérifier, c'est exactement le meme

  16. #76
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    voilà la lib correspondante.
    Fichiers attachés Fichiers attachés

  17. #77
    Membre du Club
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Points : 52
    Points
    52
    Par défaut
    J'avais la meme, j'ai remplacer par la tienne quand meme, mais toujours pareil tujours data = 0.
    mais la lib on l'apelle pas en entete du programme?

  18. #78
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Sinon, au pire, sur c++ builder, il y a une classe qui simplifie les choses avec snmp.hpp, regardes-y, ça débloquera peut être la situation.

    Là il faut que je me sauve, pour le reste, je regarderais ça ce soir si j'en ai l'occasion, sinon, tu peux toujours télécharger mingw32 et code::blocks.

  19. #79
    Membre du Club
    Homme Profil pro
    Developpeur
    Inscrit en
    Mars 2012
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Developpeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2012
    Messages : 146
    Points : 52
    Points
    52
    Par défaut
    Re désoler de la reponse tardive, mais je devais passer des epreuve ecrites.

    Alors comme je devais envoyer mes rapports lundi, j'ai trouver une solution provisoir, ou j'affiche le numero du port en console, je copie la console dans un fichier texte. et je vais relire mon fichier texte pour récupérer le port.

    Je dois cependant trouver une autre solution de je regarde snmp.hpp mais je ne comprend pas comment l'utiliser.

    Pour "mingw32" il permet de fair des executable sous linux pour windows nn? mais je ne suis pas sur linux

  20. #80
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Non non, ça s'exécute bien dans un environnement Windows.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Traiter les flux de sortie
    Par soulhouf dans le forum Linux
    Réponses: 9
    Dernier message: 20/04/2006, 17h48
  2. [Java 1.5] Process : afficher le flux de sortie
    Par Zapan dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 11/01/2006, 10h34
  3. [MySQL] Flux de sortie : ob_start + header
    Par ToxiZz dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/12/2005, 23h56
  4. Awk - changer le flux de sortie
    Par Longrais dans le forum Linux
    Réponses: 1
    Dernier message: 16/08/2005, 17h11
  5. [Console] Tampon de sortie et endl
    Par Évariste Galois dans le forum C++
    Réponses: 18
    Dernier message: 09/07/2005, 17h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo