Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
rose.h
Go to the documentation of this file.
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 {
55 };
56 
61  unsigned int srose_ndigis;
63 };
64 
67  unsigned short mask;
69  char device[16];
70  unsigned char ndigis;
72 };
73 
75  unsigned char cause;
76  unsigned char diagnostic;
77 };
78 
82  unsigned char source_ndigis, dest_ndigis;
85  unsigned int rand;
88 };
89 
90 #endif