xref: /minix3/minix/include/net/gen/ip_io.h (revision 433d6423c39e34ec4b79c950597bb2d236f886be)
1 /*
2 server/ip/gen/ip_io.h
3 */
4 
5 #ifndef __SERVER__IP__GEN__IP_IO_H__
6 #define __SERVER__IP__GEN__IP_IO_H__
7 
8 typedef struct nwio_ipconf2
9 {
10 	u32_t	nwic_flags;
11 	ipaddr_t nwic_ipaddr;
12 	ipaddr_t nwic_netmask;
13 } nwio_ipconf2_t;
14 
15 typedef struct nwio_ipconf
16 {
17 	u32_t	nwic_flags;
18 	ipaddr_t nwic_ipaddr;
19 	ipaddr_t nwic_netmask;
20 	u16_t nwic_mtu;
21 } nwio_ipconf_t;
22 
23 #define NWIC_NOFLAGS		0x0
24 #define NWIC_FLAGS		0x7
25 #	define NWIC_IPADDR_SET		0x1
26 #	define NWIC_NETMASK_SET		0x2
27 #	define NWIC_MTU_SET		0x4
28 
29 typedef struct nwio_ipopt
30 {
31 	u32_t nwio_flags;
32 	ipaddr_t nwio_rem;
33 	ip_hdropt_t nwio_hdropt;
34 	u8_t nwio_tos;
35 	u8_t nwio_ttl;
36 	u8_t nwio_df;
37 	ipproto_t nwio_proto;
38 } nwio_ipopt_t;
39 
40 #define NWIO_NOFLAGS	0x0000l
41 #define NWIO_ACC_MASK	0x0003l
42 #	define NWIO_EXCL	0x00000001l
43 #	define NWIO_SHARED	0x00000002l
44 #	define NWIO_COPY	0x00000003l
45 #define NWIO_LOC_MASK	0x0010l
46 #	define NWIO_EN_LOC	0x00000010l
47 #	define NWIO_DI_LOC	0x00100000l
48 #define NWIO_BROAD_MASK	0x0020l
49 #	define NWIO_EN_BROAD	0x00000020l
50 #	define NWIO_DI_BROAD	0x00200000l
51 #define NWIO_REM_MASK	0x0100l
52 #	define NWIO_REMSPEC	0x00000100l
53 #	define NWIO_REMANY	0x01000000l
54 #define NWIO_PROTO_MASK	0x0200l
55 #	define NWIO_PROTOSPEC	0x00000200l
56 #	define NWIO_PROTOANY	0x02000000l
57 #define NWIO_HDR_O_MASK	0x0400l
58 #	define NWIO_HDR_O_SPEC	0x00000400l
59 #	define NWIO_HDR_O_ANY	0x04000000l
60 #define NWIO_RW_MASK	0x1000l
61 #	define NWIO_RWDATONLY	0x00001000l
62 #	define NWIO_RWDATALL	0x10000000l
63 
64 #endif /* __SERVER__IP__GEN__IP_IO_H__ */
65 
66 /*
67  * $PchId: ip_io.h,v 1.5 2001/03/12 22:17:25 philip Exp $
68  */
69