Annotation of 43BSDReno/sys/netinet/in_var.h, revision 1.1.1.1

1.1       root        1: /*
                      2:  * Copyright (c) 1985, 1986 Regents of the University of California.
                      3:  * All rights reserved.
                      4:  *
                      5:  * Redistribution is only permitted until one year after the first shipment
                      6:  * of 4.4BSD by the Regents.  Otherwise, redistribution and use in source and
                      7:  * binary forms are permitted provided that: (1) source distributions retain
                      8:  * this entire copyright notice and comment, and (2) distributions including
                      9:  * binaries display the following acknowledgement:  This product includes
                     10:  * software developed by the University of California, Berkeley and its
                     11:  * contributors'' in the documentation or other materials provided with the
                     12:  * distribution and in all advertising materials mentioning features or use
                     13:  * of this software.  Neither the name of the University nor the names of
                     14:  * its contributors may be used to endorse or promote products derived from
                     15:  * this software without specific prior written permission.
                     16:  * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
                     17:  * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
                     18:  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
                     19:  *
                     20:  *     @(#)in_var.h    7.6 (Berkeley) 6/28/90
                     21:  */
                     22: 
                     23: /*
                     24:  * Interface address, Internet version.  One of these structures
                     25:  * is allocated for each interface with an Internet address.
                     26:  * The ifaddr structure contains the protocol-independent part
                     27:  * of the structure and is assumed to be first.
                     28:  */
                     29: struct in_ifaddr {
                     30:        struct  ifaddr ia_ifa;          /* protocol-independent info */
                     31: #define        ia_ifp          ia_ifa.ifa_ifp
                     32: #define ia_flags       ia_ifa.ifa_flags
                     33:                                        /* ia_{,sub}net{,mask} in host order */
                     34:        u_long  ia_net;                 /* network number of interface */
                     35:        u_long  ia_netmask;             /* mask of net part */
                     36:        u_long  ia_subnet;              /* subnet number, including net */
                     37:        u_long  ia_subnetmask;          /* mask of subnet part */
                     38:        struct  in_addr ia_netbroadcast; /* to recognize net broadcasts */
                     39:        struct  in_ifaddr *ia_next;     /* next in list of internet addresses */
                     40:        struct  sockaddr_in ia_addr;    /* reserve space for interface name */
                     41:        struct  sockaddr_in ia_dstaddr; /* reserve space for broadcast addr */
                     42: #define        ia_broadaddr    ia_dstaddr
                     43:        struct  sockaddr_in ia_sockmask; /* reserve space for general netmask */
                     44: };
                     45: 
                     46: struct in_aliasreq {
                     47:        char    ifra_name[IFNAMSIZ];            /* if name, e.g. "en0" */
                     48:        struct  sockaddr_in ifra_addr;
                     49:        struct  sockaddr_in ifra_broadaddr;
                     50: #define ifra_dstaddr ifra_broadaddr
                     51:        struct  sockaddr_in ifra_mask;
                     52: };
                     53: /*
                     54:  * Given a pointer to an in_ifaddr (ifaddr),
                     55:  * return a pointer to the addr as a sockaddr_in.
                     56:  */
                     57: #define        IA_SIN(ia) (&(((struct in_ifaddr *)(ia))->ia_addr))
                     58: 
                     59: #ifdef KERNEL
                     60: struct in_ifaddr *in_ifaddr;
                     61: struct in_ifaddr *in_iaonnetof();
                     62: struct ifqueue ipintrq;                /* ip packet input queue */
                     63: #endif

unix.superglobalmegacorp.com

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