summaryrefslogtreecommitdiff
path: root/sys/netatalk/at.h
diff options
context:
space:
mode:
authordenny <denny@cvs.openbsd.org>1997-07-23 03:39:56 +0000
committerdenny <denny@cvs.openbsd.org>1997-07-23 03:39:56 +0000
commitd5b5fef1bdafdd83fef5c12b6377d14969833223 (patch)
tree1ad3ced51a31c06338a1a898f59a19ea3ec76764 /sys/netatalk/at.h
parente3f1ae5edbe93df49723a93fe383d3b3d2282221 (diff)
netatalk, based on the 1.4a2 dist from the University of Michigan.
The sys/netatalk files rely heavily on previous work done on FreeBSD, and to a lesser extent NetBSD.
Diffstat (limited to 'sys/netatalk/at.h')
-rw-r--r--sys/netatalk/at.h147
1 files changed, 147 insertions, 0 deletions
diff --git a/sys/netatalk/at.h b/sys/netatalk/at.h
new file mode 100644
index 00000000000..62dbf13882e
--- /dev/null
+++ b/sys/netatalk/at.h
@@ -0,0 +1,147 @@
+/* $OpenBSD: at.h,v 1.1 1997/07/23 03:39:51 denny Exp $ */
+
+/*
+ * Copyright (c) 1990,1991 Regents of The University of Michigan.
+ * All Rights Reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and
+ * its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notice appears in all copies and
+ * that both that copyright notice and this permission notice appear
+ * in supporting documentation, and that the name of The University
+ * of Michigan not be used in advertising or publicity pertaining to
+ * distribution of the software without specific, written prior
+ * permission. This software is supplied as is without expressed or
+ * implied warranties of any kind.
+ *
+ * Research Systems Unix Group
+ * The University of Michigan
+ * c/o Mike Clark
+ * 535 W. William Street
+ * Ann Arbor, Michigan
+ * +1-313-763-0525
+ * netatalk@itd.umich.edu
+ */
+
+/*
+ * The following is the contents of the COPYRIGHT file from the
+ * netatalk-1.4a2 distribution, from which this file is derived.
+ */
+/*
+ * Copyright (c) 1990,1996 Regents of The University of Michigan.
+ *
+ * All Rights Reserved.
+ *
+ * Permission to use, copy, modify, and distribute this software and
+ * its documentation for any purpose and without fee is hereby granted,
+ * provided that the above copyright notice appears in all copies and
+ * that both that copyright notice and this permission notice appear
+ * in supporting documentation, and that the name of The University
+ * of Michigan not be used in advertising or publicity pertaining to
+ * distribution of the software without specific, written prior
+ * permission. This software is supplied as is without expressed or
+ * implied warranties of any kind.
+ *
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ *
+ * Solaris code is encumbered by the following:
+ *
+ * Copyright (C) 1996 by Sun Microsystems Computer Co.
+ *
+ * Permission to use, copy, modify, and distribute this software and
+ * its documentation for any purpose and without fee is hereby
+ * granted, provided that the above copyright notice appear in all
+ * copies and that both that copyright notice and this permission
+ * notice appear in supporting documentation. This software is
+ * provided "as is" without express or implied warranty.
+ *
+ * Research Systems Unix Group
+ * The University of Michigan
+ * c/o Wesley Craig
+ * 535 W. William Street
+ * Ann Arbor, Michigan
+ * +1-313-764-2278
+ * netatalk@umich.edu
+ */
+/*
+ * None of the Solaris code mentioned is included in OpenBSD.
+ * This code also relies heavily on previous effort in FreeBSD and NetBSD.
+ */
+
+#ifndef __AT_HEADER__
+#define __AT_HEADER__
+/*
+ * Supported protocols
+ */
+#define ATPROTO_DDP 0
+#define ATPROTO_AARP 254
+
+/*
+ * Ethernet types, for DIX.
+ * These should really be in some global header file, but we can't
+ * count on them being there, and it's annoying to patch system files.
+ */
+#define ETHERTYPE_AT 0x809B /* AppleTalk protocol */
+#define ETHERTYPE_AARP 0x80F3 /* AppleTalk ARP */
+
+#define DDP_MAXSZ 587
+
+#define AT_LLC_SIZE 8
+
+/*
+ * If ATPORT_FIRST <= Port < ATPORT_RESERVED,
+ * Port was created by a privileged process.
+ * If ATPORT_RESERVED <= Port < ATPORT_LAST,
+ * Port was not necessarily created by a
+ * privileged process.
+ */
+#define ATPORT_FIRST 1
+#define ATPORT_RESERVED 128
+#define ATPORT_LAST 255
+
+/*
+ * AppleTalk address.
+ */
+struct at_addr {
+ u_int16_t s_net;
+ u_int8_t s_node;
+};
+
+#define ATADDR_ANYNET (u_int16_t)0x0000
+#define ATADDR_ANYNODE (u_int8_t)0x00
+#define ATADDR_ANYPORT (u_int8_t)0x00
+#define ATADDR_BCAST (u_int8_t)0xff /* There is no BCAST for NET */
+
+struct netrange {
+ u_int8_t nr_phase;
+ u_int16_t nr_firstnet;
+ u_int16_t nr_lastnet;
+};
+
+/*
+ * Socket address, AppleTalk style. We keep magic information in the
+ * zero bytes. There are three types, NONE, CONFIG which has the phase
+ * and a net range, and IFACE which has the network address of an
+ * interface. IFACE may be filled in by the client, and is filled in
+ * by the kernel.
+ */
+struct sockaddr_at {
+ u_int8_t sat_len;
+ u_int8_t sat_family;
+ u_int8_t sat_port;
+ struct at_addr sat_addr;
+ union {
+ struct netrange r_netrange;
+ int8_t r_zero[ 8 ]; /* Hide a struct netrange in here */
+ } sat_range;
+};
+
+#define sat_zero sat_range.r_zero
+
+#ifdef _KERNEL
+extern struct domain atalkdomain;
+extern struct protosw atalksw[];
+#endif
+
+#endif __AT_HEADER__