Annotation of 43BSDReno/sys/netiso/iso_var.h, revision 1.1.1.1

1.1       root        1: /***********************************************************
                      2:                Copyright IBM Corporation 1987
                      3: 
                      4:                       All Rights Reserved
                      5: 
                      6: Permission to use, copy, modify, and distribute this software and its 
                      7: documentation for any purpose and without fee is hereby granted, 
                      8: provided that the above copyright notice appear in all copies and that
                      9: both that copyright notice and this permission notice appear in 
                     10: supporting documentation, and that the name of IBM not be
                     11: used in advertising or publicity pertaining to distribution of the
                     12: software without specific, written prior permission.  
                     13: 
                     14: IBM DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
                     15: ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
                     16: IBM BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
                     17: ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
                     18: WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
                     19: ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
                     20: SOFTWARE.
                     21: 
                     22: ******************************************************************/
                     23: /*
                     24:  * Modifications,
                     25:  * Copyright (c) 1988 Regents of the University of California.
                     26:  * All rights reserved.
                     27:  *
                     28:  * Redistribution is only permitted until one year after the first shipment
                     29:  * of 4.4BSD by the Regents.  Otherwise, redistribution and use in source and
                     30:  * binary forms are permitted provided that: (1) source distributions retain
                     31:  * this entire copyright notice and comment, and (2) distributions including
                     32:  * binaries display the following acknowledgement:  This product includes
                     33:  * software developed by the University of California, Berkeley and its
                     34:  * contributors'' in the documentation or other materials provided with the
                     35:  * distribution and in all advertising materials mentioning features or use
                     36:  * of this software.  Neither the name of the University nor the names of
                     37:  * its contributors may be used to endorse or promote products derived from
                     38:  * this software without specific prior written permission.
                     39:  * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
                     40:  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
                     41:  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     42:  *
                     43:  *     @(#)iso_var.h   7.4 (Berkeley) 6/28/90
                     44:  */
                     45: 
                     46: /*
                     47:  * ARGO Project, Computer Sciences Dept., University of Wisconsin - Madison
                     48:  */
                     49: /* $Header: iso_var.h,v 4.2 88/06/29 15:00:08 hagens Exp $
                     50:  * $Source: /usr/argo/sys/netiso/RCS/iso_var.h,v $
                     51:  */
                     52: 
                     53: /*
                     54:  *     Interface address, iso version. One of these structures is 
                     55:  *     allocated for each interface with an osi address. The ifaddr
                     56:  *     structure conatins the protocol-independent part
                     57:  *     of the structure, and is assumed to be first.
                     58:  */
                     59: struct iso_ifaddr {
                     60:        struct ifaddr           ia_ifa;         /* protocol-independent info */
                     61: #define ia_ifp         ia_ifa.ifa_ifp
                     62: #define        ia_flags        ia_ifa.ifa_flags
                     63:        int                                     ia_snpaoffset;
                     64:        struct iso_ifaddr       *ia_next;       /* next in list of iso addresses */
                     65:        struct  sockaddr_iso ia_addr;   /* reserve space for interface name */
                     66:        struct  sockaddr_iso ia_dstaddr; /* reserve space for broadcast addr */
                     67: #define        ia_broadaddr    ia_dstaddr
                     68:        struct  sockaddr_iso ia_sockmask; /* reserve space for general netmask */
                     69: };
                     70: 
                     71: struct iso_aliasreq {
                     72:        char    ifra_name[IFNAMSIZ];            /* if name, e.g. "en0" */
                     73:        struct  sockaddr_iso ifra_addr;
                     74:        struct  sockaddr_iso ifra_dstaddr;
                     75:        struct  sockaddr_iso ifra_mask;
                     76:        int     ifra_snpaoffset;
                     77: };
                     78: 
                     79: struct iso_ifreq {
                     80:        char    ifr_name[IFNAMSIZ];             /* if name, e.g. "en0" */
                     81:        struct  sockaddr_iso ifr_Addr;
                     82: };
                     83: 
                     84: /*
                     85:  *     Given a pointer to an iso_ifaddr (ifaddr),
                     86:  *     return a pointer to the addr as a sockaddr_iso
                     87:  */
                     88: /*
                     89: #define        IA_SIS(ia) ((struct sockaddr_iso *)(ia.ia_ifa->ifa_addr))
                     90:  * works if sockaddr_iso becomes variable sized.
                     91:  */
                     92: #define        IA_SIS(ia) (&(((struct iso_ifaddr *)ia)->ia_addr))
                     93: 
                     94: #define        SIOCDIFADDR_ISO _IOW('i',25, struct iso_ifreq)  /* delete IF addr */
                     95: #define        SIOCAIFADDR_ISO _IOW('i',26, struct iso_aliasreq)/* add/chg IFalias */
                     96: #define        SIOCGIFADDR_ISO _IOWR('i',33, struct iso_ifreq) /* get ifnet address */
                     97: #define        SIOCGIFDSTADDR_ISO _IOWR('i',34, struct iso_ifreq) /* get dst address */
                     98: #define        SIOCGIFNETMASK_ISO _IOWR('i',37, struct iso_ifreq) /* get dst address */
                     99: 
                    100: /*
                    101:  * This stuff should go in if.h or if_llc.h or someplace else,
                    102:  * but for now . . .
                    103:  */
                    104: 
                    105: struct llc_etherhdr {
                    106:        char dst[6];
                    107:        char src[6];
                    108:        char len[2];
                    109:        char llc_dsap;
                    110:        char llc_ssap;
                    111:        char llc_ui_byte;
                    112: };
                    113: 
                    114: struct snpa_hdr {
                    115:        struct  ifnet *snh_ifp;
                    116:        char    snh_dhost[6];
                    117:        char    snh_shost[6];
                    118:        short   snh_flags;
                    119: };
                    120: #ifdef KERNEL
                    121: struct iso_ifaddr      *iso_ifaddr;    /* linked list of iso address ifaces */
                    122: struct iso_ifaddr      *iso_localifa();        /* linked list of iso address ifaces */
                    123: struct ifqueue                 clnlintrq;              /* clnl packet input queue */
                    124: #endif KERNEL

unix.superglobalmegacorp.com

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