diff options
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/ax25.h | 33 | ||||
-rw-r--r-- | include/net/compat.h | 5 | ||||
-rw-r--r-- | include/net/ipv6.h | 5 | ||||
-rw-r--r-- | include/net/netrom.h | 32 | ||||
-rw-r--r-- | include/net/transp_v6.h | 2 |
5 files changed, 61 insertions, 16 deletions
diff --git a/include/net/ax25.h b/include/net/ax25.h index 364b046e9f47..9dbcd9e51c00 100644 --- a/include/net/ax25.h +++ b/include/net/ax25.h | |||
@@ -26,11 +26,20 @@ | |||
26 | 26 | ||
27 | /* AX.25 Protocol IDs */ | 27 | /* AX.25 Protocol IDs */ |
28 | #define AX25_P_ROSE 0x01 | 28 | #define AX25_P_ROSE 0x01 |
29 | #define AX25_P_IP 0xCC | 29 | #define AX25_P_VJCOMP 0x06 /* Compressed TCP/IP packet */ |
30 | #define AX25_P_ARP 0xCD | 30 | /* Van Jacobsen (RFC 1144) */ |
31 | #define AX25_P_TEXT 0xF0 | 31 | #define AX25_P_VJUNCOMP 0x07 /* Uncompressed TCP/IP packet */ |
32 | #define AX25_P_NETROM 0xCF | 32 | /* Van Jacobsen (RFC 1144) */ |
33 | #define AX25_P_SEGMENT 0x08 | 33 | #define AX25_P_SEGMENT 0x08 /* Segmentation fragment */ |
34 | #define AX25_P_TEXNET 0xc3 /* TEXTNET datagram protocol */ | ||
35 | #define AX25_P_LQ 0xc4 /* Link Quality Protocol */ | ||
36 | #define AX25_P_ATALK 0xca /* Appletalk */ | ||
37 | #define AX25_P_ATALK_ARP 0xcb /* Appletalk ARP */ | ||
38 | #define AX25_P_IP 0xcc /* ARPA Internet Protocol */ | ||
39 | #define AX25_P_ARP 0xcd /* ARPA Adress Resolution */ | ||
40 | #define AX25_P_FLEXNET 0xce /* FlexNet */ | ||
41 | #define AX25_P_NETROM 0xcf /* NET/ROM */ | ||
42 | #define AX25_P_TEXT 0xF0 /* No layer 3 protocol impl. */ | ||
34 | 43 | ||
35 | /* AX.25 Segment control values */ | 44 | /* AX.25 Segment control values */ |
36 | #define AX25_SEG_REM 0x7F | 45 | #define AX25_SEG_REM 0x7F |
@@ -88,11 +97,11 @@ | |||
88 | /* Define Link State constants. */ | 97 | /* Define Link State constants. */ |
89 | 98 | ||
90 | enum { | 99 | enum { |
91 | AX25_STATE_0, | 100 | AX25_STATE_0, /* Listening */ |
92 | AX25_STATE_1, | 101 | AX25_STATE_1, /* SABM sent */ |
93 | AX25_STATE_2, | 102 | AX25_STATE_2, /* DISC sent */ |
94 | AX25_STATE_3, | 103 | AX25_STATE_3, /* Established */ |
95 | AX25_STATE_4 | 104 | AX25_STATE_4 /* Recovery */ |
96 | }; | 105 | }; |
97 | 106 | ||
98 | #define AX25_MODULUS 8 /* Standard AX.25 modulus */ | 107 | #define AX25_MODULUS 8 /* Standard AX.25 modulus */ |
@@ -258,7 +267,7 @@ extern struct sock *ax25_make_new(struct sock *, struct ax25_dev *); | |||
258 | /* ax25_addr.c */ | 267 | /* ax25_addr.c */ |
259 | extern ax25_address null_ax25_address; | 268 | extern ax25_address null_ax25_address; |
260 | extern char *ax2asc(char *buf, ax25_address *); | 269 | extern char *ax2asc(char *buf, ax25_address *); |
261 | extern ax25_address *asc2ax(char *); | 270 | extern void asc2ax(ax25_address *addr, char *callsign); |
262 | extern int ax25cmp(ax25_address *, ax25_address *); | 271 | extern int ax25cmp(ax25_address *, ax25_address *); |
263 | extern int ax25digicmp(ax25_digi *, ax25_digi *); | 272 | extern int ax25digicmp(ax25_digi *, ax25_digi *); |
264 | extern unsigned char *ax25_addr_parse(unsigned char *, int, ax25_address *, ax25_address *, ax25_digi *, int *, int *); | 273 | extern unsigned char *ax25_addr_parse(unsigned char *, int, ax25_address *, ax25_address *, ax25_digi *, int *, int *); |
@@ -319,7 +328,7 @@ extern int ax25_rx_iframe(ax25_cb *, struct sk_buff *); | |||
319 | extern int ax25_kiss_rcv(struct sk_buff *, struct net_device *, struct packet_type *, struct net_device *); | 328 | extern int ax25_kiss_rcv(struct sk_buff *, struct net_device *, struct packet_type *, struct net_device *); |
320 | 329 | ||
321 | /* ax25_ip.c */ | 330 | /* ax25_ip.c */ |
322 | extern int ax25_encapsulate(struct sk_buff *, struct net_device *, unsigned short, void *, void *, unsigned int); | 331 | extern int ax25_hard_header(struct sk_buff *, struct net_device *, unsigned short, void *, void *, unsigned int); |
323 | extern int ax25_rebuild_header(struct sk_buff *); | 332 | extern int ax25_rebuild_header(struct sk_buff *); |
324 | 333 | ||
325 | /* ax25_out.c */ | 334 | /* ax25_out.c */ |
diff --git a/include/net/compat.h b/include/net/compat.h index 9983fd857804..290bab46d457 100644 --- a/include/net/compat.h +++ b/include/net/compat.h | |||
@@ -33,7 +33,8 @@ extern asmlinkage long compat_sys_sendmsg(int,struct compat_msghdr __user *,unsi | |||
33 | extern asmlinkage long compat_sys_recvmsg(int,struct compat_msghdr __user *,unsigned); | 33 | extern asmlinkage long compat_sys_recvmsg(int,struct compat_msghdr __user *,unsigned); |
34 | extern asmlinkage long compat_sys_getsockopt(int, int, int, char __user *, int __user *); | 34 | extern asmlinkage long compat_sys_getsockopt(int, int, int, char __user *, int __user *); |
35 | extern int put_cmsg_compat(struct msghdr*, int, int, int, void *); | 35 | extern int put_cmsg_compat(struct msghdr*, int, int, int, void *); |
36 | extern int cmsghdr_from_user_compat_to_kern(struct msghdr *, unsigned char *, | 36 | |
37 | int); | 37 | struct sock; |
38 | extern int cmsghdr_from_user_compat_to_kern(struct msghdr *, struct sock *, unsigned char *, int); | ||
38 | 39 | ||
39 | #endif /* NET_COMPAT_H */ | 40 | #endif /* NET_COMPAT_H */ |
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index 3203eaff4bd4..65ec86678a08 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h | |||
@@ -233,6 +233,10 @@ extern int ip6_ra_control(struct sock *sk, int sel, | |||
233 | extern int ipv6_parse_hopopts(struct sk_buff *skb, int); | 233 | extern int ipv6_parse_hopopts(struct sk_buff *skb, int); |
234 | 234 | ||
235 | extern struct ipv6_txoptions * ipv6_dup_options(struct sock *sk, struct ipv6_txoptions *opt); | 235 | extern struct ipv6_txoptions * ipv6_dup_options(struct sock *sk, struct ipv6_txoptions *opt); |
236 | extern struct ipv6_txoptions * ipv6_renew_options(struct sock *sk, struct ipv6_txoptions *opt, | ||
237 | int newtype, | ||
238 | struct ipv6_opt_hdr __user *newopt, | ||
239 | int newoptlen); | ||
236 | 240 | ||
237 | extern int ip6_frag_nqueues; | 241 | extern int ip6_frag_nqueues; |
238 | extern atomic_t ip6_frag_mem; | 242 | extern atomic_t ip6_frag_mem; |
@@ -373,6 +377,7 @@ extern int ip6_append_data(struct sock *sk, | |||
373 | int length, | 377 | int length, |
374 | int transhdrlen, | 378 | int transhdrlen, |
375 | int hlimit, | 379 | int hlimit, |
380 | int tclass, | ||
376 | struct ipv6_txoptions *opt, | 381 | struct ipv6_txoptions *opt, |
377 | struct flowi *fl, | 382 | struct flowi *fl, |
378 | struct rt6_info *rt, | 383 | struct rt6_info *rt, |
diff --git a/include/net/netrom.h b/include/net/netrom.h index 45f2c7616d8b..a6bf6e0f606a 100644 --- a/include/net/netrom.h +++ b/include/net/netrom.h | |||
@@ -6,6 +6,7 @@ | |||
6 | 6 | ||
7 | #ifndef _NETROM_H | 7 | #ifndef _NETROM_H |
8 | #define _NETROM_H | 8 | #define _NETROM_H |
9 | |||
9 | #include <linux/netrom.h> | 10 | #include <linux/netrom.h> |
10 | #include <linux/list.h> | 11 | #include <linux/list.h> |
11 | #include <net/sock.h> | 12 | #include <net/sock.h> |
@@ -22,6 +23,7 @@ | |||
22 | #define NR_DISCACK 0x04 | 23 | #define NR_DISCACK 0x04 |
23 | #define NR_INFO 0x05 | 24 | #define NR_INFO 0x05 |
24 | #define NR_INFOACK 0x06 | 25 | #define NR_INFOACK 0x06 |
26 | #define NR_RESET 0x07 | ||
25 | 27 | ||
26 | #define NR_CHOKE_FLAG 0x80 | 28 | #define NR_CHOKE_FLAG 0x80 |
27 | #define NR_NAK_FLAG 0x40 | 29 | #define NR_NAK_FLAG 0x40 |
@@ -51,11 +53,16 @@ enum { | |||
51 | #define NR_DEFAULT_TTL 16 /* Default Time To Live - 16 */ | 53 | #define NR_DEFAULT_TTL 16 /* Default Time To Live - 16 */ |
52 | #define NR_DEFAULT_ROUTING 1 /* Is routing enabled ? */ | 54 | #define NR_DEFAULT_ROUTING 1 /* Is routing enabled ? */ |
53 | #define NR_DEFAULT_FAILS 2 /* Link fails until route fails */ | 55 | #define NR_DEFAULT_FAILS 2 /* Link fails until route fails */ |
56 | #define NR_DEFAULT_RESET 0 /* Sent / accept reset cmds? */ | ||
54 | 57 | ||
55 | #define NR_MODULUS 256 | 58 | #define NR_MODULUS 256 |
56 | #define NR_MAX_WINDOW_SIZE 127 /* Maximum Window Allowable - 127 */ | 59 | #define NR_MAX_WINDOW_SIZE 127 /* Maximum Window Allowable - 127 */ |
57 | #define NR_MAX_PACKET_SIZE 236 /* Maximum Packet Length - 236 */ | 60 | #define NR_MAX_PACKET_SIZE 236 /* Maximum Packet Length - 236 */ |
58 | 61 | ||
62 | struct nr_private { | ||
63 | struct net_device_stats stats; | ||
64 | }; | ||
65 | |||
59 | struct nr_sock { | 66 | struct nr_sock { |
60 | struct sock sock; | 67 | struct sock sock; |
61 | ax25_address user_addr, source_addr, dest_addr; | 68 | ax25_address user_addr, source_addr, dest_addr; |
@@ -176,6 +183,8 @@ extern int sysctl_netrom_transport_requested_window_size; | |||
176 | extern int sysctl_netrom_transport_no_activity_timeout; | 183 | extern int sysctl_netrom_transport_no_activity_timeout; |
177 | extern int sysctl_netrom_routing_control; | 184 | extern int sysctl_netrom_routing_control; |
178 | extern int sysctl_netrom_link_fails_count; | 185 | extern int sysctl_netrom_link_fails_count; |
186 | extern int sysctl_netrom_reset_circuit; | ||
187 | |||
179 | extern int nr_rx_frame(struct sk_buff *, struct net_device *); | 188 | extern int nr_rx_frame(struct sk_buff *, struct net_device *); |
180 | extern void nr_destroy_socket(struct sock *); | 189 | extern void nr_destroy_socket(struct sock *); |
181 | 190 | ||
@@ -218,7 +227,28 @@ extern void nr_requeue_frames(struct sock *); | |||
218 | extern int nr_validate_nr(struct sock *, unsigned short); | 227 | extern int nr_validate_nr(struct sock *, unsigned short); |
219 | extern int nr_in_rx_window(struct sock *, unsigned short); | 228 | extern int nr_in_rx_window(struct sock *, unsigned short); |
220 | extern void nr_write_internal(struct sock *, int); | 229 | extern void nr_write_internal(struct sock *, int); |
221 | extern void nr_transmit_refusal(struct sk_buff *, int); | 230 | |
231 | extern void __nr_transmit_reply(struct sk_buff *skb, int mine, | ||
232 | unsigned char cmdflags); | ||
233 | |||
234 | /* | ||
235 | * This routine is called when a Connect Acknowledge with the Choke Flag | ||
236 | * set is needed to refuse a connection. | ||
237 | */ | ||
238 | #define nr_transmit_refusal(skb, mine) \ | ||
239 | do { \ | ||
240 | __nr_transmit_reply((skb), (mine), NR_CONNACK | NR_CHOKE_FLAG); \ | ||
241 | } while (0) | ||
242 | |||
243 | /* | ||
244 | * This routine is called when we don't have a circuit matching an incoming | ||
245 | * NET/ROM packet. This is an G8PZT Xrouter extension. | ||
246 | */ | ||
247 | #define nr_transmit_reset(skb, mine) \ | ||
248 | do { \ | ||
249 | __nr_transmit_reply((skb), (mine), NR_RESET); \ | ||
250 | } while (0) | ||
251 | |||
222 | extern void nr_disconnect(struct sock *, int); | 252 | extern void nr_disconnect(struct sock *, int); |
223 | 253 | ||
224 | /* nr_timer.c */ | 254 | /* nr_timer.c */ |
diff --git a/include/net/transp_v6.h b/include/net/transp_v6.h index 8b075ab7a26c..4e86f2de6638 100644 --- a/include/net/transp_v6.h +++ b/include/net/transp_v6.h | |||
@@ -37,7 +37,7 @@ extern int datagram_recv_ctl(struct sock *sk, | |||
37 | extern int datagram_send_ctl(struct msghdr *msg, | 37 | extern int datagram_send_ctl(struct msghdr *msg, |
38 | struct flowi *fl, | 38 | struct flowi *fl, |
39 | struct ipv6_txoptions *opt, | 39 | struct ipv6_txoptions *opt, |
40 | int *hlimit); | 40 | int *hlimit, int *tclass); |
41 | 41 | ||
42 | #define LOOPBACK4_IPV6 __constant_htonl(0x7f000006) | 42 | #define LOOPBACK4_IPV6 __constant_htonl(0x7f000006) |
43 | 43 | ||