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