diff options
Diffstat (limited to 'include/net')
-rw-r--r-- | include/net/ax25.h | 31 | ||||
-rw-r--r-- | include/net/netrom.h | 32 |
2 files changed, 51 insertions, 12 deletions
diff --git a/include/net/ax25.h b/include/net/ax25.h index 227d3378decd..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 */ |
@@ -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/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 */ |