gw.h revision 05d08e9716b5974d6ed08973f44930804890b902
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 */
24struct rtcanmsg {
25  __u8 can_family;
26  __u8 gwtype;
27  __u16 flags;
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29};
30enum {
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)
37enum {
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)
72struct 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 */
79struct 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));
86struct 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)
101enum {
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