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_BCM_H
20 #define _UAPI_CAN_BCM_H
21 #include <linux/types.h>
22 #include <linux/can.h>
23 struct bcm_timeval {
24   long tv_sec;
25   long tv_usec;
26 };
27 struct bcm_msg_head {
28   __u32 opcode;
29   __u32 flags;
30   __u32 count;
31   struct bcm_timeval ival1, ival2;
32   canid_t can_id;
33   __u32 nframes;
34   struct can_frame frames[0];
35 };
36 enum {
37   TX_SETUP = 1,
38   TX_DELETE,
39   TX_READ,
40   TX_SEND,
41   RX_SETUP,
42   RX_DELETE,
43   RX_READ,
44   TX_STATUS,
45   TX_EXPIRED,
46   RX_STATUS,
47   RX_TIMEOUT,
48   RX_CHANGED
49 };
50 #define SETTIMER 0x0001
51 #define STARTTIMER 0x0002
52 #define TX_COUNTEVT 0x0004
53 #define TX_ANNOUNCE 0x0008
54 #define TX_CP_CAN_ID 0x0010
55 #define RX_FILTER_ID 0x0020
56 #define RX_CHECK_DLC 0x0040
57 #define RX_NO_AUTOTIMER 0x0080
58 #define RX_ANNOUNCE_RESUME 0x0100
59 #define TX_RESET_MULTI_IDX 0x0200
60 #define RX_RTR_FRAME 0x0400
61 #define CAN_FD_FRAME 0x0800
62 #endif
63