[BACK]Return to at.h CVS log [TXT][DIR] Up to [local] / sys / netatalk

Annotation of sys/netatalk/at.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: at.h,v 1.3 2003/05/14 02:02:55 itojun Exp $   */
                      2:
                      3: /*
                      4:  * Copyright (c) 1990,1991 Regents of The University of Michigan.
                      5:  * All Rights Reserved.
                      6:  *
                      7:  * Permission to use, copy, modify, and distribute this software and
                      8:  * its documentation for any purpose and without fee is hereby granted,
                      9:  * provided that the above copyright notice appears in all copies and
                     10:  * that both that copyright notice and this permission notice appear
                     11:  * in supporting documentation, and that the name of The University
                     12:  * of Michigan not be used in advertising or publicity pertaining to
                     13:  * distribution of the software without specific, written prior
                     14:  * permission. This software is supplied as is without expressed or
                     15:  * implied warranties of any kind.
                     16:  *
                     17:  *     Research Systems Unix Group
                     18:  *     The University of Michigan
                     19:  *     c/o Mike Clark
                     20:  *     535 W. William Street
                     21:  *     Ann Arbor, Michigan
                     22:  *     +1-313-763-0525
                     23:  *     netatalk@itd.umich.edu
                     24:  */
                     25:
                     26: /*
                     27:  * The following is the contents of the COPYRIGHT file from the
                     28:  * netatalk-1.4a2 distribution, from which this file is derived.
                     29:  */
                     30: /*
                     31:  * Copyright (c) 1990,1996 Regents of The University of Michigan.
                     32:  *
                     33:  * All Rights Reserved.
                     34:  *
                     35:  *    Permission to use, copy, modify, and distribute this software and
                     36:  *    its documentation for any purpose and without fee is hereby granted,
                     37:  *    provided that the above copyright notice appears in all copies and
                     38:  *    that both that copyright notice and this permission notice appear
                     39:  *    in supporting documentation, and that the name of The University
                     40:  *    of Michigan not be used in advertising or publicity pertaining to
                     41:  *    distribution of the software without specific, written prior
                     42:  *    permission. This software is supplied as is without expressed or
                     43:  *    implied warranties of any kind.
                     44:  *
                     45:  * This product includes software developed by the University of
                     46:  * California, Berkeley and its contributors.
                     47:  *
                     48:  * Solaris code is encumbered by the following:
                     49:  *
                     50:  *     Copyright (C) 1996 by Sun Microsystems Computer Co.
                     51:  *
                     52:  *     Permission to use, copy, modify, and distribute this software and
                     53:  *     its documentation for any purpose and without fee is hereby
                     54:  *     granted, provided that the above copyright notice appear in all
                     55:  *     copies and that both that copyright notice and this permission
                     56:  *     notice appear in supporting documentation.  This software is
                     57:  *     provided "as is" without express or implied warranty.
                     58:  *
                     59:  * Research Systems Unix Group
                     60:  * The University of Michigan
                     61:  * c/o Wesley Craig
                     62:  * 535 W. William Street
                     63:  * Ann Arbor, Michigan
                     64:  * +1-313-764-2278
                     65:  * netatalk@umich.edu
                     66:  */
                     67: /*
                     68:  * None of the Solaris code mentioned is included in OpenBSD.
                     69:  * This code also relies heavily on previous effort in FreeBSD and NetBSD.
                     70:  */
                     71:
                     72: #ifndef __AT_HEADER__
                     73: #define __AT_HEADER__
                     74: /*
                     75:  * Supported protocols
                     76:  */
                     77: #define ATPROTO_DDP    0
                     78: #define ATPROTO_AARP   254
                     79:
                     80: #include <net/ethertypes.h>
                     81:
                     82: #define DDP_MAXSZ      587
                     83:
                     84: #define        AT_LLC_SIZE     8
                     85:
                     86: /*
                     87:  * If ATPORT_FIRST <= Port < ATPORT_RESERVED,
                     88:  * Port was created by a privileged process.
                     89:  * If ATPORT_RESERVED <= Port < ATPORT_LAST,
                     90:  * Port was not necessarily created by a
                     91:  * privileged process.
                     92:  */
                     93: #define ATPORT_FIRST   1
                     94: #define ATPORT_RESERVED        128
                     95: #define ATPORT_LAST    255
                     96:
                     97: /*
                     98:  * AppleTalk address.
                     99:  */
                    100: struct at_addr {
                    101:     u_int16_t  s_net;
                    102:     u_int8_t   s_node;
                    103: };
                    104:
                    105: #define ATADDR_ANYNET  (u_int16_t)0x0000
                    106: #define ATADDR_ANYNODE (u_int8_t)0x00
                    107: #define ATADDR_ANYPORT (u_int8_t)0x00
                    108: #define ATADDR_BCAST   (u_int8_t)0xff          /* There is no BCAST for NET */
                    109:
                    110: struct netrange {
                    111:        u_int8_t        nr_phase;
                    112:        u_int16_t       nr_firstnet;
                    113:        u_int16_t       nr_lastnet;
                    114: };
                    115:
                    116: /*
                    117:  * Socket address, AppleTalk style.  We keep magic information in the
                    118:  * zero bytes.  There are three types, NONE, CONFIG which has the phase
                    119:  * and a net range, and IFACE which has the network address of an
                    120:  * interface.  IFACE may be filled in by the client, and is filled in
                    121:  * by the kernel.
                    122:  */
                    123: struct sockaddr_at {
                    124:     u_int8_t           sat_len;
                    125:     u_int8_t           sat_family;
                    126:     u_int8_t           sat_port;
                    127:     struct at_addr     sat_addr;
                    128:     union {
                    129:        struct netrange r_netrange;
                    130:        int8_t          r_zero[ 8 ];    /* Hide a struct netrange in here */
                    131:     } sat_range;
                    132: };
                    133:
                    134: #define        sat_zero        sat_range.r_zero
                    135:
                    136: #ifdef _KERNEL
                    137: extern struct domain   atalkdomain;
                    138: extern struct protosw  atalksw[];
                    139: #endif
                    140:
                    141: #endif /* __AT_HEADER__ */

CVSweb