1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef ROSE_KERNEL_H
20 #define ROSE_KERNEL_H
21 #include <linux/socket.h>
22 #include <linux/ax25.h>
23 #define ROSE_MTU 251
24 #define ROSE_MAX_DIGIS 6
25 #define ROSE_DEFER 1
26 #define ROSE_T1 2
27 #define ROSE_T2 3
28 #define ROSE_T3 4
29 #define ROSE_IDLE 5
30 #define ROSE_QBITINCL 6
31 #define ROSE_HOLDBACK 7
32 #define SIOCRSGCAUSE (SIOCPROTOPRIVATE + 0)
33 #define SIOCRSSCAUSE (SIOCPROTOPRIVATE + 1)
34 #define SIOCRSL2CALL (SIOCPROTOPRIVATE + 2)
35 #define SIOCRSSL2CALL (SIOCPROTOPRIVATE + 2)
36 #define SIOCRSACCEPT (SIOCPROTOPRIVATE + 3)
37 #define SIOCRSCLRRT (SIOCPROTOPRIVATE + 4)
38 #define SIOCRSGL2CALL (SIOCPROTOPRIVATE + 5)
39 #define SIOCRSGFACILITIES (SIOCPROTOPRIVATE + 6)
40 #define ROSE_DTE_ORIGINATED 0x00
41 #define ROSE_NUMBER_BUSY 0x01
42 #define ROSE_INVALID_FACILITY 0x03
43 #define ROSE_NETWORK_CONGESTION 0x05
44 #define ROSE_OUT_OF_ORDER 0x09
45 #define ROSE_ACCESS_BARRED 0x0B
46 #define ROSE_NOT_OBTAINABLE 0x0D
47 #define ROSE_REMOTE_PROCEDURE 0x11
48 #define ROSE_LOCAL_PROCEDURE 0x13
49 #define ROSE_SHIP_ABSENT 0x39
50 typedef struct {
51   char rose_addr[5];
52 } rose_address;
53 struct sockaddr_rose {
54   __kernel_sa_family_t srose_family;
55   rose_address srose_addr;
56   ax25_address srose_call;
57   int srose_ndigis;
58   ax25_address srose_digi;
59 };
60 struct full_sockaddr_rose {
61   __kernel_sa_family_t srose_family;
62   rose_address srose_addr;
63   ax25_address srose_call;
64   unsigned int srose_ndigis;
65   ax25_address srose_digis[ROSE_MAX_DIGIS];
66 };
67 struct rose_route_struct {
68   rose_address address;
69   unsigned short mask;
70   ax25_address neighbour;
71   char device[16];
72   unsigned char ndigis;
73   ax25_address digipeaters[AX25_MAX_DIGIS];
74 };
75 struct rose_cause_struct {
76   unsigned char cause;
77   unsigned char diagnostic;
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 #endif
90