separate internet addressing from interface layer
authorMike Karels <karels@ucbvax.Berkeley.EDU>
Tue, 19 Mar 1985 07:31:17 +0000 (23:31 -0800)
committerMike Karels <karels@ucbvax.Berkeley.EDU>
Tue, 19 Mar 1985 07:31:17 +0000 (23:31 -0800)
SCCS-vsn: sys/netinet/in_var.h 6.1

usr/src/sys/netinet/in_var.h [new file with mode: 0644]

diff --git a/usr/src/sys/netinet/in_var.h b/usr/src/sys/netinet/in_var.h
new file mode 100644 (file)
index 0000000..e16611c
--- /dev/null
@@ -0,0 +1,35 @@
+/*     in_var.h        6.1     85/03/18        */
+
+/*
+ * Interface address, internet version.  One of these structures
+ * is allocated for each interface with an internet address.
+ * The ifaddr structure contains the protocol-independent part
+ * of the structure and is assumed to be first.
+ */
+struct in_ifaddr {
+       struct  ifaddr ia_ifa;          /* protocol-independent info */
+#define        ia_addr ia_ifa.ifa_addr
+#define        ia_broadaddr    ia_ifa.ifa_broadaddr
+#define        ia_dstaddr      ia_ifa.ifa_dstaddr
+#define        ia_ifp          ia_ifa.ifa_ifp
+       u_long  ia_net;                 /* network number of interface */
+       u_long  ia_netmask;             /* mask of net part */
+       u_long  ia_subnet;              /* subnet number, including net */
+       u_long  ia_subnetmask;          /* mask of net + subnet */
+       int     ia_flags;
+       struct  in_ifaddr *ia_next;     /* next in list of internet addresses */
+};
+/*
+ * Given a pointer to an in_ifaddr (ifaddr),
+ * return a pointer to the addr as a sockadd_in.
+ */
+#define        IA_SIN(ia) ((struct sockaddr_in *)(&((struct in_ifaddr *)ia)->ia_addr))
+/*
+ * ia_flags
+ */
+#define        IFA_ROUTE       0x01            /* routing entry installed */
+
+#ifdef KERNEL
+extern struct in_ifaddr *in_ifaddr;
+extern struct in_ifaddr *in_iaonnetof();
+#endif