aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
Diffstat (limited to 'include/net')
-rw-r--r--include/net/ax25.h31
-rw-r--r--include/net/netrom.h32
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
90enum { 99enum {
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 *);
319extern int ax25_kiss_rcv(struct sk_buff *, struct net_device *, struct packet_type *, struct net_device *); 328extern 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 */
322extern int ax25_encapsulate(struct sk_buff *, struct net_device *, unsigned short, void *, void *, unsigned int); 331extern int ax25_hard_header(struct sk_buff *, struct net_device *, unsigned short, void *, void *, unsigned int);
323extern int ax25_rebuild_header(struct sk_buff *); 332extern 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
62struct nr_private {
63 struct net_device_stats stats;
64};
65
59struct nr_sock { 66struct 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;
176extern int sysctl_netrom_transport_no_activity_timeout; 183extern int sysctl_netrom_transport_no_activity_timeout;
177extern int sysctl_netrom_routing_control; 184extern int sysctl_netrom_routing_control;
178extern int sysctl_netrom_link_fails_count; 185extern int sysctl_netrom_link_fails_count;
186extern int sysctl_netrom_reset_circuit;
187
179extern int nr_rx_frame(struct sk_buff *, struct net_device *); 188extern int nr_rx_frame(struct sk_buff *, struct net_device *);
180extern void nr_destroy_socket(struct sock *); 189extern void nr_destroy_socket(struct sock *);
181 190
@@ -218,7 +227,28 @@ extern void nr_requeue_frames(struct sock *);
218extern int nr_validate_nr(struct sock *, unsigned short); 227extern int nr_validate_nr(struct sock *, unsigned short);
219extern int nr_in_rx_window(struct sock *, unsigned short); 228extern int nr_in_rx_window(struct sock *, unsigned short);
220extern void nr_write_internal(struct sock *, int); 229extern void nr_write_internal(struct sock *, int);
221extern void nr_transmit_refusal(struct sk_buff *, int); 230
231extern 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) \
239do { \
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) \
248do { \
249 __nr_transmit_reply((skb), (mine), NR_RESET); \
250} while (0)
251
222extern void nr_disconnect(struct sock *, int); 252extern void nr_disconnect(struct sock *, int);
223 253
224/* nr_timer.c */ 254/* nr_timer.c */