Annotation of kernel/bsd/netat/h/at_snmp.h, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.