/*
- * Copyright (c) 1982 Regents of the University of California.
- * All rights reserved. The Berkeley software License Agreement
- * specifies the terms and conditions for redistribution.
+ * Copyright (c) 1982, 1986, 1990 Regents of the University of California.
+ * All rights reserved.
*
- * @(#)in_pcb.h 6.2 (Berkeley) %G%
+ * %sccs.include.redist.c%
+ *
+ * @(#)in_pcb.h 7.7 (Berkeley) %G%
*/
/*
struct socket *inp_socket; /* back pointer to socket */
caddr_t inp_ppcb; /* pointer to per-protocol pcb */
struct route inp_route; /* placeholder for routing entry */
+ int inp_flags; /* generic IP/datagram flags */
+ struct ip inp_ip; /* header prototype; should have more */
+ struct mbuf *inp_options; /* IP options */
+ struct ip_moptions *inp_moptions; /* IP multicast options */
};
+/* flags in inp_flags: */
+#define INP_RECVOPTS 0x01 /* receive incoming IP options */
+#define INP_RECVRETOPTS 0x02 /* receive IP options for reply */
+#define INP_RECVDSTADDR 0x04 /* receive IP dst address */
+#define INP_CONTROLOPTS (INP_RECVOPTS|INP_RECVRETOPTS|INP_RECVDSTADDR)
+#define INP_HDRINCL 0x08 /* user supplies entire IP header */
+
#define INPLOOKUP_WILDCARD 1
#define INPLOOKUP_SETLOCAL 2