diff options
author | David Howells <dhowells@redhat.com> | 2012-10-13 05:46:48 -0400 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2012-10-13 05:46:48 -0400 |
commit | 607ca46e97a1b6594b29647d98a32d545c24bdff (patch) | |
tree | 30f4c0784bfddb57332cdc0678bd06d1e77fa185 /include/linux/if_pppox.h | |
parent | 08cce05c5a91f5017f4edc9866cf026908c73f9f (diff) |
UAPI: (Scripted) Disintegrate include/linux
Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Michael Kerrisk <mtk.manpages@gmail.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'include/linux/if_pppox.h')
-rw-r--r-- | include/linux/if_pppox.h | 143 |
1 files changed, 1 insertions, 142 deletions
diff --git a/include/linux/if_pppox.h b/include/linux/if_pppox.h index 09c474c480cd..aff7ad8a4ea3 100644 --- a/include/linux/if_pppox.h +++ b/include/linux/if_pppox.h | |||
@@ -12,153 +12,14 @@ | |||
12 | * 2 of the License, or (at your option) any later version. | 12 | * 2 of the License, or (at your option) any later version. |
13 | * | 13 | * |
14 | */ | 14 | */ |
15 | |||
16 | #ifndef __LINUX_IF_PPPOX_H | 15 | #ifndef __LINUX_IF_PPPOX_H |
17 | #define __LINUX_IF_PPPOX_H | 16 | #define __LINUX_IF_PPPOX_H |
18 | 17 | ||
19 | |||
20 | #include <linux/types.h> | ||
21 | #include <asm/byteorder.h> | ||
22 | |||
23 | #include <linux/socket.h> | ||
24 | #include <linux/if_ether.h> | ||
25 | #ifdef __KERNEL__ | ||
26 | #include <linux/if.h> | 18 | #include <linux/if.h> |
27 | #include <linux/netdevice.h> | 19 | #include <linux/netdevice.h> |
28 | #include <linux/ppp_channel.h> | 20 | #include <linux/ppp_channel.h> |
29 | #endif /* __KERNEL__ */ | ||
30 | #include <linux/if_pppol2tp.h> | ||
31 | |||
32 | /* For user-space programs to pick up these definitions | ||
33 | * which they wouldn't get otherwise without defining __KERNEL__ | ||
34 | */ | ||
35 | #ifndef AF_PPPOX | ||
36 | #define AF_PPPOX 24 | ||
37 | #define PF_PPPOX AF_PPPOX | ||
38 | #endif /* !(AF_PPPOX) */ | ||
39 | |||
40 | /************************************************************************ | ||
41 | * PPPoE addressing definition | ||
42 | */ | ||
43 | typedef __be16 sid_t; | ||
44 | struct pppoe_addr { | ||
45 | sid_t sid; /* Session identifier */ | ||
46 | unsigned char remote[ETH_ALEN]; /* Remote address */ | ||
47 | char dev[IFNAMSIZ]; /* Local device to use */ | ||
48 | }; | ||
49 | |||
50 | /************************************************************************ | ||
51 | * PPTP addressing definition | ||
52 | */ | ||
53 | struct pptp_addr { | ||
54 | __be16 call_id; | ||
55 | struct in_addr sin_addr; | ||
56 | }; | ||
57 | |||
58 | /************************************************************************ | ||
59 | * Protocols supported by AF_PPPOX | ||
60 | */ | ||
61 | #define PX_PROTO_OE 0 /* Currently just PPPoE */ | ||
62 | #define PX_PROTO_OL2TP 1 /* Now L2TP also */ | ||
63 | #define PX_PROTO_PPTP 2 | ||
64 | #define PX_MAX_PROTO 3 | ||
65 | |||
66 | struct sockaddr_pppox { | ||
67 | __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */ | ||
68 | unsigned int sa_protocol; /* protocol identifier */ | ||
69 | union { | ||
70 | struct pppoe_addr pppoe; | ||
71 | struct pptp_addr pptp; | ||
72 | } sa_addr; | ||
73 | } __packed; | ||
74 | |||
75 | /* The use of the above union isn't viable because the size of this | ||
76 | * struct must stay fixed over time -- applications use sizeof(struct | ||
77 | * sockaddr_pppox) to fill it. We use a protocol specific sockaddr | ||
78 | * type instead. | ||
79 | */ | ||
80 | struct sockaddr_pppol2tp { | ||
81 | __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */ | ||
82 | unsigned int sa_protocol; /* protocol identifier */ | ||
83 | struct pppol2tp_addr pppol2tp; | ||
84 | } __packed; | ||
85 | |||
86 | struct sockaddr_pppol2tpin6 { | ||
87 | __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */ | ||
88 | unsigned int sa_protocol; /* protocol identifier */ | ||
89 | struct pppol2tpin6_addr pppol2tp; | ||
90 | } __packed; | ||
91 | |||
92 | /* The L2TPv3 protocol changes tunnel and session ids from 16 to 32 | ||
93 | * bits. So we need a different sockaddr structure. | ||
94 | */ | ||
95 | struct sockaddr_pppol2tpv3 { | ||
96 | __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */ | ||
97 | unsigned int sa_protocol; /* protocol identifier */ | ||
98 | struct pppol2tpv3_addr pppol2tp; | ||
99 | } __packed; | ||
100 | |||
101 | struct sockaddr_pppol2tpv3in6 { | ||
102 | __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */ | ||
103 | unsigned int sa_protocol; /* protocol identifier */ | ||
104 | struct pppol2tpv3in6_addr pppol2tp; | ||
105 | } __packed; | ||
106 | |||
107 | /********************************************************************* | ||
108 | * | ||
109 | * ioctl interface for defining forwarding of connections | ||
110 | * | ||
111 | ********************************************************************/ | ||
112 | |||
113 | #define PPPOEIOCSFWD _IOW(0xB1 ,0, size_t) | ||
114 | #define PPPOEIOCDFWD _IO(0xB1 ,1) | ||
115 | /*#define PPPOEIOCGFWD _IOWR(0xB1,2, size_t)*/ | ||
116 | |||
117 | /* Codes to identify message types */ | ||
118 | #define PADI_CODE 0x09 | ||
119 | #define PADO_CODE 0x07 | ||
120 | #define PADR_CODE 0x19 | ||
121 | #define PADS_CODE 0x65 | ||
122 | #define PADT_CODE 0xa7 | ||
123 | struct pppoe_tag { | ||
124 | __be16 tag_type; | ||
125 | __be16 tag_len; | ||
126 | char tag_data[0]; | ||
127 | } __attribute__ ((packed)); | ||
128 | |||
129 | /* Tag identifiers */ | ||
130 | #define PTT_EOL __cpu_to_be16(0x0000) | ||
131 | #define PTT_SRV_NAME __cpu_to_be16(0x0101) | ||
132 | #define PTT_AC_NAME __cpu_to_be16(0x0102) | ||
133 | #define PTT_HOST_UNIQ __cpu_to_be16(0x0103) | ||
134 | #define PTT_AC_COOKIE __cpu_to_be16(0x0104) | ||
135 | #define PTT_VENDOR __cpu_to_be16(0x0105) | ||
136 | #define PTT_RELAY_SID __cpu_to_be16(0x0110) | ||
137 | #define PTT_SRV_ERR __cpu_to_be16(0x0201) | ||
138 | #define PTT_SYS_ERR __cpu_to_be16(0x0202) | ||
139 | #define PTT_GEN_ERR __cpu_to_be16(0x0203) | ||
140 | |||
141 | struct pppoe_hdr { | ||
142 | #if defined(__LITTLE_ENDIAN_BITFIELD) | ||
143 | __u8 ver : 4; | ||
144 | __u8 type : 4; | ||
145 | #elif defined(__BIG_ENDIAN_BITFIELD) | ||
146 | __u8 type : 4; | ||
147 | __u8 ver : 4; | ||
148 | #else | ||
149 | #error "Please fix <asm/byteorder.h>" | ||
150 | #endif | ||
151 | __u8 code; | ||
152 | __be16 sid; | ||
153 | __be16 length; | ||
154 | struct pppoe_tag tag[0]; | ||
155 | } __packed; | ||
156 | |||
157 | /* Length of entire PPPoE + PPP header */ | ||
158 | #define PPPOE_SES_HLEN 8 | ||
159 | |||
160 | #ifdef __KERNEL__ | ||
161 | #include <linux/skbuff.h> | 21 | #include <linux/skbuff.h> |
22 | #include <uapi/linux/if_pppox.h> | ||
162 | 23 | ||
163 | static inline struct pppoe_hdr *pppoe_hdr(const struct sk_buff *skb) | 24 | static inline struct pppoe_hdr *pppoe_hdr(const struct sk_buff *skb) |
164 | { | 25 | { |
@@ -232,6 +93,4 @@ enum { | |||
232 | PPPOX_DEAD = 16 /* dead, useless, please clean me up!*/ | 93 | PPPOX_DEAD = 16 /* dead, useless, please clean me up!*/ |
233 | }; | 94 | }; |
234 | 95 | ||
235 | #endif /* __KERNEL__ */ | ||
236 | |||
237 | #endif /* !(__LINUX_IF_PPPOX_H) */ | 96 | #endif /* !(__LINUX_IF_PPPOX_H) */ |