summaryrefslogtreecommitdiffstats
path: root/sys/netatalk/at.h
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>1996-08-31 06:18:27 +0000
committerjulian <julian@FreeBSD.org>1996-08-31 06:18:27 +0000
commit9bbbb43b68b837d73a8c2cac991cada9654ac94d (patch)
tree555a4e4c3328f9aee226f47117bff2e2e60f32e0 /sys/netatalk/at.h
parent246327253170dd5a00724596637e422389160afa (diff)
downloadFreeBSD-src-9bbbb43b68b837d73a8c2cac991cada9654ac94d.zip
FreeBSD-src-9bbbb43b68b837d73a8c2cac991cada9654ac94d.tar.gz
Add code to automaticall support subnets on ethertalk networks
Subnets are represented in the routing table as a set of binary routing nets using the standard netmask algorythm. The code produces the minimum possible set of standard netmasks and net addresses to be able to represent a given netrange.
Diffstat (limited to 'sys/netatalk/at.h')
-rw-r--r--sys/netatalk/at.h17
1 files changed, 11 insertions, 6 deletions
diff --git a/sys/netatalk/at.h b/sys/netatalk/at.h
index d9b4691..d6c5245 100644
--- a/sys/netatalk/at.h
+++ b/sys/netatalk/at.h
@@ -63,6 +63,12 @@ struct at_addr {
#define ATADDR_ANYPORT (u_char)0x00
#define ATADDR_BCAST (u_char)0xff /* There is no BCAST for NET */
+struct netrange {
+ u_char nr_phase;
+ u_short nr_firstnet;
+ u_short nr_lastnet;
+};
+
/*
* Socket address, AppleTalk style. We keep magic information in the
* zero bytes. There are three types, NONE, CONFIG which has the phase
@@ -75,14 +81,13 @@ struct sockaddr_at {
u_char sat_family;
u_char sat_port;
struct at_addr sat_addr;
- char sat_zero[ 8 ]; /* Hide a struct netrange in here */
+ union {
+ struct netrange r_netrange;
+ char r_zero[ 8 ]; /* Hide a struct netrange in here */
+ } sat_range;
};
-struct netrange {
- u_char nr_phase;
- u_short nr_firstnet;
- u_short nr_lastnet;
-};
+#define sat_zero sat_range.r_zero
#ifdef KERNEL
extern struct domain atalkdomain;
OpenPOWER on IntegriCloud