diff options
Diffstat (limited to 'include/uapi/linux/ax25.h')
-rw-r--r-- | include/uapi/linux/ax25.h | 116 |
1 files changed, 116 insertions, 0 deletions
diff --git a/include/uapi/linux/ax25.h b/include/uapi/linux/ax25.h new file mode 100644 index 000000000000..74c89a41732d --- /dev/null +++ b/include/uapi/linux/ax25.h | |||
@@ -0,0 +1,116 @@ | |||
1 | /* | ||
2 | * These are the public elements of the Linux kernel AX.25 code. A similar | ||
3 | * file netrom.h exists for the NET/ROM protocol. | ||
4 | */ | ||
5 | |||
6 | #ifndef AX25_KERNEL_H | ||
7 | #define AX25_KERNEL_H | ||
8 | |||
9 | #include <linux/socket.h> | ||
10 | |||
11 | #define AX25_MTU 256 | ||
12 | #define AX25_MAX_DIGIS 8 | ||
13 | |||
14 | #define AX25_WINDOW 1 | ||
15 | #define AX25_T1 2 | ||
16 | #define AX25_N2 3 | ||
17 | #define AX25_T3 4 | ||
18 | #define AX25_T2 5 | ||
19 | #define AX25_BACKOFF 6 | ||
20 | #define AX25_EXTSEQ 7 | ||
21 | #define AX25_PIDINCL 8 | ||
22 | #define AX25_IDLE 9 | ||
23 | #define AX25_PACLEN 10 | ||
24 | #define AX25_IAMDIGI 12 | ||
25 | |||
26 | #define AX25_KILL 99 | ||
27 | |||
28 | #define SIOCAX25GETUID (SIOCPROTOPRIVATE+0) | ||
29 | #define SIOCAX25ADDUID (SIOCPROTOPRIVATE+1) | ||
30 | #define SIOCAX25DELUID (SIOCPROTOPRIVATE+2) | ||
31 | #define SIOCAX25NOUID (SIOCPROTOPRIVATE+3) | ||
32 | #define SIOCAX25OPTRT (SIOCPROTOPRIVATE+7) | ||
33 | #define SIOCAX25CTLCON (SIOCPROTOPRIVATE+8) | ||
34 | #define SIOCAX25GETINFOOLD (SIOCPROTOPRIVATE+9) | ||
35 | #define SIOCAX25ADDFWD (SIOCPROTOPRIVATE+10) | ||
36 | #define SIOCAX25DELFWD (SIOCPROTOPRIVATE+11) | ||
37 | #define SIOCAX25DEVCTL (SIOCPROTOPRIVATE+12) | ||
38 | #define SIOCAX25GETINFO (SIOCPROTOPRIVATE+13) | ||
39 | |||
40 | #define AX25_SET_RT_IPMODE 2 | ||
41 | |||
42 | #define AX25_NOUID_DEFAULT 0 | ||
43 | #define AX25_NOUID_BLOCK 1 | ||
44 | |||
45 | typedef struct { | ||
46 | char ax25_call[7]; /* 6 call + SSID (shifted ascii!) */ | ||
47 | } ax25_address; | ||
48 | |||
49 | struct sockaddr_ax25 { | ||
50 | __kernel_sa_family_t sax25_family; | ||
51 | ax25_address sax25_call; | ||
52 | int sax25_ndigis; | ||
53 | /* Digipeater ax25_address sets follow */ | ||
54 | }; | ||
55 | |||
56 | #define sax25_uid sax25_ndigis | ||
57 | |||
58 | struct full_sockaddr_ax25 { | ||
59 | struct sockaddr_ax25 fsa_ax25; | ||
60 | ax25_address fsa_digipeater[AX25_MAX_DIGIS]; | ||
61 | }; | ||
62 | |||
63 | struct ax25_routes_struct { | ||
64 | ax25_address port_addr; | ||
65 | ax25_address dest_addr; | ||
66 | unsigned char digi_count; | ||
67 | ax25_address digi_addr[AX25_MAX_DIGIS]; | ||
68 | }; | ||
69 | |||
70 | struct ax25_route_opt_struct { | ||
71 | ax25_address port_addr; | ||
72 | ax25_address dest_addr; | ||
73 | int cmd; | ||
74 | int arg; | ||
75 | }; | ||
76 | |||
77 | struct ax25_ctl_struct { | ||
78 | ax25_address port_addr; | ||
79 | ax25_address source_addr; | ||
80 | ax25_address dest_addr; | ||
81 | unsigned int cmd; | ||
82 | unsigned long arg; | ||
83 | unsigned char digi_count; | ||
84 | ax25_address digi_addr[AX25_MAX_DIGIS]; | ||
85 | }; | ||
86 | |||
87 | /* this will go away. Please do not export to user land */ | ||
88 | struct ax25_info_struct_deprecated { | ||
89 | unsigned int n2, n2count; | ||
90 | unsigned int t1, t1timer; | ||
91 | unsigned int t2, t2timer; | ||
92 | unsigned int t3, t3timer; | ||
93 | unsigned int idle, idletimer; | ||
94 | unsigned int state; | ||
95 | unsigned int rcv_q, snd_q; | ||
96 | }; | ||
97 | |||
98 | struct ax25_info_struct { | ||
99 | unsigned int n2, n2count; | ||
100 | unsigned int t1, t1timer; | ||
101 | unsigned int t2, t2timer; | ||
102 | unsigned int t3, t3timer; | ||
103 | unsigned int idle, idletimer; | ||
104 | unsigned int state; | ||
105 | unsigned int rcv_q, snd_q; | ||
106 | unsigned int vs, vr, va, vs_max; | ||
107 | unsigned int paclen; | ||
108 | unsigned int window; | ||
109 | }; | ||
110 | |||
111 | struct ax25_fwd_struct { | ||
112 | ax25_address port_from; | ||
113 | ax25_address port_to; | ||
114 | }; | ||
115 | |||
116 | #endif | ||