|
|
1.1 root 1: /*++ BUILD Version: 0001 // Increment this if a change has global effects
2:
3: Copyright (c) 1991 Microsoft Corporation
4:
5: Module Name:
6:
7: testmib.h
8:
9: Abstract:
10:
11: Sample SNMP Extension Agent for Windows NT.
12:
13: These files (testdll.c, testmib.c, and testmib.h) provide an example of
14: how to structure an Extension Agent DLL which works in conjunction with
15: the SNMP Extendible Agent for Windows NT.
16:
17: Extensive comments have been included to describe its structure and
18: operation. See also "Microsoft Windows/NT SNMP Programmer's Reference".
19:
20: Created:
21:
22: 13-Jun-1991
23:
24: Revision History:
25:
26: --*/
27:
28: #ifndef testmib_h
29: #define testmib_h
30:
31: static char *testmib__h = "@(#) $Logfile: N:/xtest/vcs/testmib.h_v $ $Revision: 1.2 $";
32:
33:
34: // Necessary includes.
35:
36: #include <snmp.h>
37:
38:
39: // MIB Specifics.
40:
41: #define MIB_PREFIX_LEN MIB_OidPrefix.idLength
42: #define MAX_STRING_LEN 255
43:
44:
45: // Ranges and limits for specific MIB variables.
46:
47: #define MIB_TOASTER_UP 1
48: #define MIB_TOASTER_DOWN 2
49:
50: #define MIB_TOASTER_LIGHTLYWARM 1
51: #define MIB_TOASTER_BURNT 10
52:
53: #define MIB_TOASTER_WHITEBREAD 1
54: #define MIB_TOASTER_OTHERBREAD 7
55:
56:
57: // MIB function actions.
58:
59: #define MIB_ACTION_GET ASN_RFC1157_GETREQUEST
60: #define MIB_ACTION_SET ASN_RFC1157_SETREQUEST
61: #define MIB_ACTION_GETNEXT ASN_RFC1157_GETNEXTREQUEST
62:
63:
64: // MIB Variable access privileges.
65:
66: #define MIB_ACCESS_READ 0
67: #define MIB_ACCESS_WRITE 1
68: #define MIB_ACCESS_READWRITE 2
69:
70:
71: // Macro to determine number of sub-oid's in array.
72:
73: #define OID_SIZEOF( Oid ) ( sizeof Oid / sizeof(UINT) )
74:
75:
76: // MIB variable ENTRY definition. This structure defines the format for
77: // each entry in the MIB.
78:
79: typedef struct mib_entry
80: {
81: AsnObjectIdentifier Oid;
82: void * Storage;
83: BYTE Type;
84: UINT Access;
85: UINT (*MibFunc)( UINT, struct mib_entry *,
86: RFC1157VarBind * );
87: struct mib_entry * MibNext;
88: } MIB_ENTRY;
89:
90:
91: // Internal MIB structure.
92:
93: extern MIB_ENTRY Mib[];
94: extern UINT MIB_num_variables;
95:
96:
97: // Prefix to every variable in the MIB.
98:
99: extern AsnObjectIdentifier MIB_OidPrefix;
100:
101:
102: // Function Prototypes.
103:
104: UINT ResolveVarBind(
105: IN OUT RFC1157VarBind *VarBind, // Variable Binding to resolve
106: IN UINT PduAction // Action specified in PDU
107: );
108:
109: UINT MIB_leaf_func(
110: IN UINT Action,
111: IN MIB_ENTRY *MibPtr,
112: IN RFC1157VarBind *VarBind
113: );
114:
115: UINT MIB_control_func(
116: IN UINT Action,
117: IN MIB_ENTRY *MibPtr,
118: IN RFC1157VarBind *VarBind
119: );
120:
121: UINT MIB_doneness_func(
122: IN UINT Action,
123: IN MIB_ENTRY *MibPtr,
124: IN RFC1157VarBind *VarBind
125: );
126:
127: UINT MIB_toasttype_func(
128: IN UINT Action,
129: IN MIB_ENTRY *MibPtr,
130: IN RFC1157VarBind *VarBind
131: );
132:
133:
134: #endif /* testmib_h */
135:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.