Committer: Michael Beasley <mike@snafu.setup>
[mikesnafu-overlay.git] / include / linux / rose.h
blobc7b4b184c82e7b3f337aa8cfa9207a56d9d33445
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 */
7 #ifndef ROSE_KERNEL_H
8 #define ROSE_KERNEL_H
10 #define ROSE_MTU 251
12 #define ROSE_MAX_DIGIS 6
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
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)
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
42 typedef struct {
43 char rose_addr[5];
44 } rose_address;
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;
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];
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];
71 struct rose_cause_struct {
72 unsigned char cause;
73 unsigned char diagnostic;
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;
87 #endif