|
|
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.