drivers/leds/leds-renesas-tpu.c: update driver to use workqueue
[pandora-kernel.git] / include / linux / rose.h
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 #include <linux/socket.h>
11 #include <linux/ax25.h>
12
13 #define ROSE_MTU        251
14
15 #define ROSE_MAX_DIGIS 6
16
17 #define ROSE_DEFER      1
18 #define ROSE_T1         2
19 #define ROSE_T2         3
20 #define ROSE_T3         4
21 #define ROSE_IDLE       5
22 #define ROSE_QBITINCL   6
23 #define ROSE_HOLDBACK   7
24
25 #define SIOCRSGCAUSE            (SIOCPROTOPRIVATE+0)
26 #define SIOCRSSCAUSE            (SIOCPROTOPRIVATE+1)
27 #define SIOCRSL2CALL            (SIOCPROTOPRIVATE+2)
28 #define SIOCRSSL2CALL           (SIOCPROTOPRIVATE+2)
29 #define SIOCRSACCEPT            (SIOCPROTOPRIVATE+3)
30 #define SIOCRSCLRRT             (SIOCPROTOPRIVATE+4)
31 #define SIOCRSGL2CALL           (SIOCPROTOPRIVATE+5)
32 #define SIOCRSGFACILITIES       (SIOCPROTOPRIVATE+6)
33
34 #define ROSE_DTE_ORIGINATED     0x00
35 #define ROSE_NUMBER_BUSY        0x01
36 #define ROSE_INVALID_FACILITY   0x03
37 #define ROSE_NETWORK_CONGESTION 0x05
38 #define ROSE_OUT_OF_ORDER       0x09
39 #define ROSE_ACCESS_BARRED      0x0B
40 #define ROSE_NOT_OBTAINABLE     0x0D
41 #define ROSE_REMOTE_PROCEDURE   0x11
42 #define ROSE_LOCAL_PROCEDURE    0x13
43 #define ROSE_SHIP_ABSENT        0x39
44
45 typedef struct {
46         char            rose_addr[5];
47 } rose_address;
48
49 struct sockaddr_rose {
50         __kernel_sa_family_t srose_family;
51         rose_address    srose_addr;
52         ax25_address    srose_call;
53         int             srose_ndigis;
54         ax25_address    srose_digi;
55 };
56
57 struct full_sockaddr_rose {
58         __kernel_sa_family_t srose_family;
59         rose_address    srose_addr;
60         ax25_address    srose_call;
61         unsigned int    srose_ndigis;
62         ax25_address    srose_digis[ROSE_MAX_DIGIS];
63 };
64
65 struct rose_route_struct {
66         rose_address    address;
67         unsigned short  mask;
68         ax25_address    neighbour;
69         char            device[16];
70         unsigned char   ndigis;
71         ax25_address    digipeaters[AX25_MAX_DIGIS];
72 };
73
74 struct rose_cause_struct {
75         unsigned char   cause;
76         unsigned char   diagnostic;
77 };
78
79 struct rose_facilities_struct {
80         rose_address    source_addr,   dest_addr;
81         ax25_address    source_call,   dest_call;
82         unsigned char   source_ndigis, dest_ndigis;
83         ax25_address    source_digis[ROSE_MAX_DIGIS];
84         ax25_address    dest_digis[ROSE_MAX_DIGIS];
85         unsigned int    rand;
86         rose_address    fail_addr;
87         ax25_address    fail_call;
88 };
89
90 #endif