Annotation of sys/netatalk/at.h, Revision 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