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 _UAPI_CAN_GW_H 20 #define _UAPI_CAN_GW_H 21 #include <linux/types.h> 22 #include <linux/can.h> 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 struct rtcanmsg { 25 __u8 can_family; 26 __u8 gwtype; 27 __u16 flags; 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 }; 30 enum { 31 CGW_TYPE_UNSPEC, 32 CGW_TYPE_CAN_CAN, 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 __CGW_TYPE_MAX 35 }; 36 #define CGW_TYPE_MAX (__CGW_TYPE_MAX - 1) 37 enum { 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 CGW_UNSPEC, 40 CGW_MOD_AND, 41 CGW_MOD_OR, 42 CGW_MOD_XOR, 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 CGW_MOD_SET, 45 CGW_CS_XOR, 46 CGW_CS_CRC8, 47 CGW_HANDLED, 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 CGW_DROPPED, 50 CGW_SRC_IF, 51 CGW_DST_IF, 52 CGW_FILTER, 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 CGW_DELETED, 55 CGW_LIM_HOPS, 56 CGW_MOD_UID, 57 __CGW_MAX 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 }; 60 #define CGW_MAX (__CGW_MAX - 1) 61 #define CGW_FLAGS_CAN_ECHO 0x01 62 #define CGW_FLAGS_CAN_SRC_TSTAMP 0x02 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 #define CGW_FLAGS_CAN_IIF_TX_OK 0x04 65 #define CGW_MOD_FUNCS 4 66 #define CGW_MOD_ID 0x01 67 #define CGW_MOD_DLC 0x02 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 #define CGW_MOD_DATA 0x04 70 #define CGW_FRAME_MODS 3 71 #define MAX_MODFUNCTIONS (CGW_MOD_FUNCS * CGW_FRAME_MODS) 72 struct cgw_frame_mod { 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 struct can_frame cf; 75 __u8 modtype; 76 } __attribute__((packed)); 77 #define CGW_MODATTR_LEN sizeof(struct cgw_frame_mod) 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 struct cgw_csum_xor { 80 __s8 from_idx; 81 __s8 to_idx; 82 __s8 result_idx; 83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 84 __u8 init_xor_val; 85 } __attribute__((packed)); 86 struct cgw_csum_crc8 { 87 __s8 from_idx; 88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 89 __s8 to_idx; 90 __s8 result_idx; 91 __u8 init_crc_val; 92 __u8 final_xor_val; 93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 94 __u8 crctab[256]; 95 __u8 profile; 96 __u8 profile_data[20]; 97 } __attribute__((packed)); 98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 99 #define CGW_CS_XOR_LEN sizeof(struct cgw_csum_xor) 100 #define CGW_CS_CRC8_LEN sizeof(struct cgw_csum_crc8) 101 enum { 102 CGW_CRC8PRF_UNSPEC, 103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 104 CGW_CRC8PRF_1U8, 105 CGW_CRC8PRF_16U8, 106 CGW_CRC8PRF_SFFID_XOR, 107 __CGW_CRC8PRF_MAX 108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109 }; 110 #define CGW_CRC8PRF_MAX (__CGW_CRC8PRF_MAX - 1) 111 #endif 112