diff options
Diffstat (limited to 'include/linux/rose.h')
-rw-r--r-- | include/linux/rose.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/include/linux/rose.h b/include/linux/rose.h new file mode 100644 index 000000000000..c7b4b184c82e --- /dev/null +++ b/include/linux/rose.h | |||
@@ -0,0 +1,87 @@ | |||
1 | /* | ||
2 | * These are the public elements of the Linux kernel Rose implementation. | ||
3 | * For kernel AX.25 see the file ax25.h. This file requires ax25.h for the | ||
4 | * definition of the ax25_address structure. | ||
5 | */ | ||
6 | |||
7 | #ifndef ROSE_KERNEL_H | ||
8 | #define ROSE_KERNEL_H | ||
9 | |||
10 | #define ROSE_MTU 251 | ||
11 | |||
12 | #define ROSE_MAX_DIGIS 6 | ||
13 | |||
14 | #define ROSE_DEFER 1 | ||
15 | #define ROSE_T1 2 | ||
16 | #define ROSE_T2 3 | ||
17 | #define ROSE_T3 4 | ||
18 | #define ROSE_IDLE 5 | ||
19 | #define ROSE_QBITINCL 6 | ||
20 | #define ROSE_HOLDBACK 7 | ||
21 | |||
22 | #define SIOCRSGCAUSE (SIOCPROTOPRIVATE+0) | ||
23 | #define SIOCRSSCAUSE (SIOCPROTOPRIVATE+1) | ||
24 | #define SIOCRSL2CALL (SIOCPROTOPRIVATE+2) | ||
25 | #define SIOCRSSL2CALL (SIOCPROTOPRIVATE+2) | ||
26 | #define SIOCRSACCEPT (SIOCPROTOPRIVATE+3) | ||
27 | #define SIOCRSCLRRT (SIOCPROTOPRIVATE+4) | ||
28 | #define SIOCRSGL2CALL (SIOCPROTOPRIVATE+5) | ||
29 | #define SIOCRSGFACILITIES (SIOCPROTOPRIVATE+6) | ||
30 | |||
31 | #define ROSE_DTE_ORIGINATED 0x00 | ||
32 | #define ROSE_NUMBER_BUSY 0x01 | ||
33 | #define ROSE_INVALID_FACILITY 0x03 | ||
34 | #define ROSE_NETWORK_CONGESTION 0x05 | ||
35 | #define ROSE_OUT_OF_ORDER 0x09 | ||
36 | #define ROSE_ACCESS_BARRED 0x0B | ||
37 | #define ROSE_NOT_OBTAINABLE 0x0D | ||
38 | #define ROSE_REMOTE_PROCEDURE 0x11 | ||
39 | #define ROSE_LOCAL_PROCEDURE 0x13 | ||
40 | #define ROSE_SHIP_ABSENT 0x39 | ||
41 | |||
42 | typedef struct { | ||
43 | char rose_addr[5]; | ||
44 | } rose_address; | ||
45 | |||
46 | struct sockaddr_rose { | ||
47 | sa_family_t srose_family; | ||
48 | rose_address srose_addr; | ||
49 | ax25_address srose_call; | ||
50 | int srose_ndigis; | ||
51 | ax25_address srose_digi; | ||
52 | }; | ||
53 | |||
54 | struct full_sockaddr_rose { | ||
55 | sa_family_t srose_family; | ||
56 | rose_address srose_addr; | ||
57 | ax25_address srose_call; | ||
58 | unsigned int srose_ndigis; | ||
59 | ax25_address srose_digis[ROSE_MAX_DIGIS]; | ||
60 | }; | ||
61 | |||
62 | struct rose_route_struct { | ||
63 | rose_address address; | ||
64 | unsigned short mask; | ||
65 | ax25_address neighbour; | ||
66 | char device[16]; | ||
67 | unsigned char ndigis; | ||
68 | ax25_address digipeaters[AX25_MAX_DIGIS]; | ||
69 | }; | ||
70 | |||
71 | struct rose_cause_struct { | ||
72 | unsigned char cause; | ||
73 | unsigned char diagnostic; | ||
74 | }; | ||
75 | |||
76 | struct rose_facilities_struct { | ||
77 | rose_address source_addr, dest_addr; | ||
78 | ax25_address source_call, dest_call; | ||
79 | unsigned char source_ndigis, dest_ndigis; | ||
80 | ax25_address source_digis[ROSE_MAX_DIGIS]; | ||
81 | ax25_address dest_digis[ROSE_MAX_DIGIS]; | ||
82 | unsigned int rand; | ||
83 | rose_address fail_addr; | ||
84 | ax25_address fail_call; | ||
85 | }; | ||
86 | |||
87 | #endif | ||