|
|
1.1 root 1: /*
2: * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
3: *
4: * @APPLE_LICENSE_HEADER_START@
5: *
6: * The contents of this file constitute Original Code as defined in and
7: * are subject to the Apple Public Source License Version 1.1 (the
8: * "License"). You may not use this file except in compliance with the
9: * License. Please obtain a copy of the License at
10: * http://www.apple.com/publicsource and read it before using this file.
11: *
12: * This Original Code and all software distributed under the License are
13: * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14: * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15: * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17: * License for the specific language governing rights and limitations
18: * under the License.
19: *
20: * @APPLE_LICENSE_HEADER_END@
21: */
22: #ifndef _NETAT_AT_SNMP_H_
23: #define _NETAT_AT_SNMP_H_
24:
25: #define MAX_PHYS_ADDR_SIZE 6 /* maximum physical addr size */
26: #define MAX_IFS 25 /* max # interfaces */
27: #define IF_NAME_SIZE 6 /* max name length of I/F name */
28: #define DDP_ADDR_SIZE 3
29: #define ZONE_SIZE NBP_NVE_STR_SIZE
30: #define OBJECT_SIZE NBP_NVE_STR_SIZE
31: #define TYPE_SIZE NBP_NVE_STR_SIZE
32: #define PORT_DESC_SIZE 50
33: #define UPDATE_IF_CHANGED 1 /* for ioctls */
34: #define UPDATE_UNCONDITIONAL 2
35: #define SNMP_NBP_HEADER_SIZE (sizeof(snmpNbpTable_t) - sizeof(snmpNbpEntry_t))
36:
37: typedef struct snmpIfCfg {
38: u_short ifc_aarpSize; /* AARP table size for this I/F */
39: u_short ifc_addrSize; /* Mac address size in bytes */
40: u_short ifc_type; /* port type */
41: at_net_al ifc_start; /* net range start */
42: at_net_al ifc_end; /* net range end */
43: struct at_addr ifc_ddpAddr; /* ddp address of port */
44: u_short ifc_status; /* port status */
45: u_short ifc_netCfg;
46: u_short ifc_zoneCfg;
47: at_nvestr_t ifc_zoneName;
48: u_short ifc_index;
49: char ifc_name[IF_NAME_SIZE]; /* I/F name (e.g. ent0 */
50: } snmpIfCfg_t;
51:
52:
53: typedef struct snmpCfg {
54: int pad; /* pad for UPDATE flag when ioctl issued */
55: u_int cfg_flags; /* at_state flags */
56: int cfg_ifCnt; /* # I/F's up */
57: snmpIfCfg_t cfg_ifCfg[MAX_IFS];
58: } snmpCfg_t;
59:
60: typedef struct snmpAarpEnt {
61: struct at_addr ap_ddpAddr;
62: u_char ap_physAddr[MAX_PHYS_ADDR_SIZE];
63: }snmpAarpEnt_t;
64:
65: typedef struct snmpAarp { /* aarp info for 1 I/F */
66: time_t at_time; /* the time() we got this table */
67: int at_ifno; /* the (SNMP) I/F number of this table */
68: int at_maxSize; /* allocated size of as_table in entries */
69: int at_usedSize; /* size of at_table used portion */
70: snmpAarpEnt_t *at_table;
71: } snmpAarp_t;
72:
73: typedef struct snmpFlags {
74: int lap_changed; /* set when any I/F state changes */
75: int rtmpAdded; /* set when rtmp entry ADDED */
76: int zipAdded; /* set when zip entry ADDED */
77: } snmpFlags_t;
78:
79: typedef struct snmpNbpEntry {
80: at_nvestr_t nbpe_object;
81: at_nvestr_t nbpe_type;
82: }snmpNbpEntry_t;
83:
84: typedef struct snmpNbpTable {
85: int nbpt_entries;
86: at_nvestr_t nbpt_zone;
87: snmpNbpEntry_t nbpt_table[1];
88: }snmpNbpTable_t;
89:
90:
91:
92:
93: typedef struct snmpStats {
94:
95: /* ddp group */
96: u_int dd_outReq;
97: u_int dd_outShort;
98: u_int dd_outLong;
99: u_int dd_inTotal;
100: u_int dd_fwdReq;
101: u_int dd_inLocal;
102: u_int dd_noHandler;
103: u_int dd_noRoutes;
104: u_int dd_tooShort;
105: u_int dd_tooLong;
106: u_int dd_inBcastErr;
107: u_int dd_shortErr;
108: u_int dd_hopCount;
109: u_int dd_checkSum;
110:
111: /* ATEcho group */
112:
113: u_int ec_echoReq;
114: u_int ec_echoReply;
115: } snmpStats_t;
116:
117: #define SNMP_TYPE_OTHER 1
118: #define SNMP_TYPE_LOCAL 2
119: #define SNMP_TYPE_ETHER1 3
120: #define SNMP_TYPE_ETHER2 4
121: #define SNMP_TYPE_TOKEN 5
122: #define SNMP_TYPE_IP 6
123: #define SNMP_TYPE_SERIALPPP 7
124: #define SNMP_TYPE_SERIALNONSTD 8
125: #define SNMP_TYPE_VIRTUAL 9
126: #define SNMP_CFG_CONFIGURED 1
127: #define SNMP_CFG_GARNERED 2
128: #define SNMP_CFG_GUESSED 3
129: #define SNMP_CFG_UNCONFIG 4
130:
131: #define SNMP_OBJ_TYPE_AARP 0x0100
132: #define SNMP_OBJ_TYPE_ECHO 0x0200
133: #define SNMP_OBJ_TYPE_PORT 0x0300
134: #define SNMP_OBJ_TYPE_DDP 0x0400
135: #define SNMP_OBJ_TYPE_RTMP 0x0500
136: #define SNMP_OBJ_TYPE_ZIP 0x0600
137: #define SNMP_OBJ_TYPE_NBP 0x0700
138: #define SNMP_OBJ_TYPE_MASK 0x0f00
139:
140: #define AARPIFINDEX 2 + SNMP_OBJ_TYPE_AARP
141: #define AARPNETADDRESS 3 + SNMP_OBJ_TYPE_AARP
142: #define AARPPHYSADDRESS 4 + SNMP_OBJ_TYPE_AARP
143: #define ATECHOREPLIES 6 + SNMP_OBJ_TYPE_AARP
144: #define ATECHOREQUESTS 7 + SNMP_OBJ_TYPE_AARP
145: #define ATPORTDESCR 8 + SNMP_OBJ_TYPE_PORT
146: #define ATPORTIFINDEX 10 + SNMP_OBJ_TYPE_PORT
147: #define ATPORTINDEX 11 + SNMP_OBJ_TYPE_PORT
148: #define ATPORTNETADDRESS 12 + SNMP_OBJ_TYPE_PORT
149: #define ATPORTNETCONFIG 13 + SNMP_OBJ_TYPE_PORT
150: #define ATPORTNETEND 14 + SNMP_OBJ_TYPE_PORT
151: #define ATPORTNETSTART 15 + SNMP_OBJ_TYPE_PORT
152: #define ATPORTSTATUS 16 + SNMP_OBJ_TYPE_PORT
153: #define ATPORTTYPE 18 + SNMP_OBJ_TYPE_PORT
154: #define ATPORTZONE 19 + SNMP_OBJ_TYPE_PORT
155: #define ATPORTZONECONFIG 20 + SNMP_OBJ_TYPE_PORT
156: #define DDPBROADCASTERRORS 21 + SNMP_OBJ_TYPE_DDP
157: #define DDPCHECKSUMERRORS 22 + SNMP_OBJ_TYPE_DDP
158: #define DDPFORWREQUESTS 23 + SNMP_OBJ_TYPE_DDP
159: #define DDPHOPCOUNTERRORS 24 + SNMP_OBJ_TYPE_DDP
160: #define DDPINLOCALDATAGRAMS 25 + SNMP_OBJ_TYPE_DDP
161: #define DDPINRECEIVES 26 + SNMP_OBJ_TYPE_DDP
162: #define DDPNOPROTOCOLHANDLERS 27 + SNMP_OBJ_TYPE_DDP
163: #define DDPOUTLONGS 28 + SNMP_OBJ_TYPE_DDP
164: #define DDPOUTNOROUTES 29 + SNMP_OBJ_TYPE_DDP
165: #define DDPOUTREQUESTS 30 + SNMP_OBJ_TYPE_DDP
166: #define DDPOUTSHORTS 31 + SNMP_OBJ_TYPE_DDP
167: #define DDPSHORTDDPERRORS 32 + SNMP_OBJ_TYPE_DDP
168: #define DDPTOOLONGERRORS 33 + SNMP_OBJ_TYPE_DDP
169: #define DDPTOOSHORTERRORS 34 + SNMP_OBJ_TYPE_DDP
170: #define KIPBCASTADDR 35
171: #define KIPCORE 36
172: #define KIPENTRY 37
173: #define KIPHOPCOUNT 38
174: #define KIPNETEND 39
175: #define KIPNETSTART 40
176: #define KIPNEXTHOP 41
177: #define KIPSHARE 42
178: #define KIPSTATE 43
179: #define KIPTABLE 44
180: #define KIPTYPE 45
181: #define LLAPCOLLISIONS 46
182: #define LLAPDEFERS 47
183: #define LLAPENTRY 48
184: #define LLAPFCSERRORS 49
185: #define LLAPIFINDEX 50
186: #define LLAPINERRORS 51
187: #define LLAPINLENGTHERRORS 52
188: #define LLAPINNOHANDLERS 53
189: #define LLAPINPKTS 54
190: #define LLAPNODATAERRORS 55
191: #define LLAPOUTPKTS 56
192: #define LLAPRANDOMCTSERRORS 57
193: #define NBPINDEX 60 + SNMP_OBJ_TYPE_NBP
194: #define NBPOBJECT 61 + SNMP_OBJ_TYPE_NBP
195: #define NBPSTATE 62 + SNMP_OBJ_TYPE_NBP
196: #define NBPTABLE 63 + SNMP_OBJ_TYPE_NBP
197: #define NBPTYPE 64 + SNMP_OBJ_TYPE_NBP
198: #define NBPZONE 65 + SNMP_OBJ_TYPE_NBP
199: #define RTMPHOPS 67 + SNMP_OBJ_TYPE_RTMP
200: #define RTMPNEXTHOP 68 + SNMP_OBJ_TYPE_RTMP
201: #define RTMPPORT 69 + SNMP_OBJ_TYPE_RTMP
202: #define RTMPRANGEEND 70 + SNMP_OBJ_TYPE_RTMP
203: #define RTMPRANGESTART 71 + SNMP_OBJ_TYPE_RTMP
204: #define RTMPSTATE 72 + SNMP_OBJ_TYPE_RTMP
205: #define RTMPTYPE 74 + SNMP_OBJ_TYPE_RTMP
206: #define ZIPZONEINDEX 77 + SNMP_OBJ_TYPE_ZIP
207: #define ZIPZONENAME 78 + SNMP_OBJ_TYPE_ZIP
208: #define ZIPZONENETEND 79 + SNMP_OBJ_TYPE_ZIP
209: #define ZIPZONENETSTART 80 + SNMP_OBJ_TYPE_ZIP
210: #define ZIPZONESTATE 81 + SNMP_OBJ_TYPE_ZIP
211:
212: #define SNMP_TYPE(var,type) ((var & SNMP_OBJ_TYPE_MASK) == type)
213:
214: #endif _NETAT_AT_SNMP_H_
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.