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