-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsnmp.tbh
101 lines (86 loc) · 4.99 KB
/
snmp.tbh
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
enum SNMP_BER_TYPES
SNMP_INTEGER = &h02,
SNMP_OCTET_STRING = &h04,
SNMP_NULL = &h05,
SNMP_OBJECT_ID = &h06,
SNMP_SEQUENCE = &h30,
SNMP_IP_ADDRESS = &h40,
SNMP_COUNTER = &h41,
SNMP_TIMETICKS = &h43,
SNMP_GET_REQUEST_PDU = &hA0,
SNMP_GET_NEXT_REQUEST_PDU = &hA1,
SNMP_GET_RESPONCE_PDU = &hA2,
SNMP_SET_REQUEST_PDU = &hA3
SNMP_TRAP_PDU = &hA4
end enum
' Supported SNMP objects
#define SNMP_OBJECT_MIB2_ROOT chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01)
#define SNMP_OBJECT_SYSTEM_ROOT chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h01)
#define SNMP_OBJECT_SYSDESC chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h01) + chr(&h01) + chr(&h00)
#define SNMP_OBJECT_SYSOBJECTID chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h01) + chr(&h02) + chr(&h00)
#define SNMP_OBJECT_SYSUPTIME chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h01) + chr(&h03) + chr(&h00)
#define SNMP_OBJECT_SYSCONTACT chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h01) + chr(&h04) + chr(&h00)
#define SNMP_OBJECT_SYSNAME chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h01) + chr(&h05) + chr(&h00)
#define SNMP_OBJECT_SYSLOCATION chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h01) + chr(&h06) + chr(&h00)
#define SNMP_OBJECT_SYSSERVICES chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h01) + chr(&h07) + chr(&h00)
#define SNMP_OBJECT_INTERFACE_COUNT chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h00) '.1.3.6.1.2.1.2.1.0
#define SNMP_OBJECT_INTERFACE_ROOT chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h02) '.1.3.6.1.2.1.2
#define SNMP_OBJECT_INTERFACE_TABLE chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h02) + chr(&h02)
#define SNMP_OBJECT_INTERFACE_TABLE_ROOT chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h02) + chr(&h02) + chr(&h01) '.1.3.6.1.2.1.2.2.1
#define SNMP_OBJECT_AT chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h02) + chr(&h01) + chr(&h03)
#define SNMP_SET_OBJECTID chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h04) + chr(&h01) + chr(&h81) + chr(&ha2) + chr(&h02)
' Support TIBBO SNMP Objects
#define SNMP_TIBBO chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h04) + chr(&h01) + chr(&h81) + chr(&ha2) + chr(&h02) ' .1.3.6.1.4.1.20738
' Slot table
#define SNMP_TIBBO_SLOT_COUNT chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h04) + chr(&h01) + chr(&h81) + chr(&ha2) + chr(&h02) + chr(&h02) + chr(&h01) + chr(&h01) + chr(&h00) ' .1.3.6.1.4.1.20738.2.1.1.0
#define SNMP_TIBBO_SLOT_ROOT chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h04) + chr(&h01) + chr(&h81) + chr(&ha2) + chr(&h02) + chr(&h02) + chr(&h01) ' .1.3.6.1.4.1.20738.2.1
#define SNMP_TIBBO_SLOT_TABLE chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h04) + chr(&h01) + chr(&h81) + chr(&ha2) + chr(&h02) + chr(&h02) + chr(&h01) + chr(&h02) ' .1.3.6.1.4.1.20738.2.1.2
#define SNMP_TIBBO_SLOT_TABLE_ROOT chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h04) + chr(&h01) + chr(&h81) + chr(&ha2) + chr(&h02) + chr(&h02) + chr(&h01) + chr(&h02) + chr(&h01) ' .1.3.6.1.4.1.20738.2.1.2.1
' Pin table
#define SNMP_TIBBO_PIN_COUNT chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h04) + chr(&h01) + chr(&h81) + chr(&ha2) + chr(&h02) + chr(&h02) + chr(&h02) + chr(&h01) + chr(&h00) ' .1.3.6.1.4.1.20738.2.2.1.0
#define SNMP_TIBBO_PIN_ROOT chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h04) + chr(&h01) + chr(&h81) + chr(&ha2) + chr(&h02) + chr(&h02) + chr(&h02) ' .1.3.6.1.4.1.20738.2.2
#define SNMP_TIBBO_PIN_TABLE chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h04) + chr(&h01) + chr(&h81) + chr(&ha2) + chr(&h02) + chr(&h02) + chr(&h02) + chr(&h02) ' .1.3.6.1.4.1.20738.2.2.2
#define SNMP_TIBBO_PIN_TABLE_ROOT chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h04) + chr(&h01) + chr(&h81) + chr(&ha2) + chr(&h02) + chr(&h02) + chr(&h02) + chr(&h02) + chr(&h01) ' .1.3.6.1.4.1.20738.2.2.2.1
#define SNMP_TIBBO_TRAPS chr(&h2b) + chr(&h06) + chr(&h01) + chr(&h04) + chr(&h01) + chr(&h81) + chr(&ha2) + chr(&h02) + chr(&h02) + chr(&h03) ' .1.3.6.1.4.1.20738.2.3
' Settings
enum TrapType
TrapDigital
TrapCounter
TrapAnalog
end enum
enum TrapDigitalType
TrapDigitalRise
TrapDigitalEdge
end enum
enum TrapAnalogType
TrapAnalogBelow
TrapAnalogAbove
TrapAnalogBetween
TrapAnalogOutOfRange
end enum
type trap
enable as no_yes
specific as byte
channel as byte
ttype as TrapType
dtype as TrapDigitalType
atype as TrapAnalogType
counter_limit as word
analog_limit1 as real
analog_limit2 as real
fired as no_yes
end type
declare snmp_set_enable as boolean
declare snmp_set_public as string(20)
declare snmp_set_contact as string(20)
declare snmp_set_location as string(20)
declare sock_snmp as byte
declare sock_trap as byte
declare traps_enable as boolean
declare traps(4) as trap
declare trap_receiver as string(12)
' Functions & Subs
declare function snmp_initialize() as boolean
declare sub snmp_receive(byref data as string)
declare sub snmp_trap_check_digital(channel as byte)
declare sub snmp_trap_check_analog(channel as byte, floatPart as boolean)