xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/can/j1939.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_CAN_J1939_H_
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_CAN_J1939_H_
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/socket.h>
11*8d67ca89SAndroid Build Coastguard Worker #include <linux/can.h>
12*8d67ca89SAndroid Build Coastguard Worker #define J1939_MAX_UNICAST_ADDR 0xfd
13*8d67ca89SAndroid Build Coastguard Worker #define J1939_IDLE_ADDR 0xfe
14*8d67ca89SAndroid Build Coastguard Worker #define J1939_NO_ADDR 0xff
15*8d67ca89SAndroid Build Coastguard Worker #define J1939_NO_NAME 0
16*8d67ca89SAndroid Build Coastguard Worker #define J1939_PGN_REQUEST 0x0ea00
17*8d67ca89SAndroid Build Coastguard Worker #define J1939_PGN_ADDRESS_CLAIMED 0x0ee00
18*8d67ca89SAndroid Build Coastguard Worker #define J1939_PGN_ADDRESS_COMMANDED 0x0fed8
19*8d67ca89SAndroid Build Coastguard Worker #define J1939_PGN_PDU1_MAX 0x3ff00
20*8d67ca89SAndroid Build Coastguard Worker #define J1939_PGN_MAX 0x3ffff
21*8d67ca89SAndroid Build Coastguard Worker #define J1939_NO_PGN 0x40000
22*8d67ca89SAndroid Build Coastguard Worker typedef __u32 pgn_t;
23*8d67ca89SAndroid Build Coastguard Worker typedef __u8 priority_t;
24*8d67ca89SAndroid Build Coastguard Worker typedef __u64 name_t;
25*8d67ca89SAndroid Build Coastguard Worker #define SOL_CAN_J1939 (SOL_CAN_BASE + CAN_J1939)
26*8d67ca89SAndroid Build Coastguard Worker enum {
27*8d67ca89SAndroid Build Coastguard Worker   SO_J1939_FILTER = 1,
28*8d67ca89SAndroid Build Coastguard Worker   SO_J1939_PROMISC = 2,
29*8d67ca89SAndroid Build Coastguard Worker   SO_J1939_SEND_PRIO = 3,
30*8d67ca89SAndroid Build Coastguard Worker   SO_J1939_ERRQUEUE = 4,
31*8d67ca89SAndroid Build Coastguard Worker };
32*8d67ca89SAndroid Build Coastguard Worker enum {
33*8d67ca89SAndroid Build Coastguard Worker   SCM_J1939_DEST_ADDR = 1,
34*8d67ca89SAndroid Build Coastguard Worker   SCM_J1939_DEST_NAME = 2,
35*8d67ca89SAndroid Build Coastguard Worker   SCM_J1939_PRIO = 3,
36*8d67ca89SAndroid Build Coastguard Worker   SCM_J1939_ERRQUEUE = 4,
37*8d67ca89SAndroid Build Coastguard Worker };
38*8d67ca89SAndroid Build Coastguard Worker enum {
39*8d67ca89SAndroid Build Coastguard Worker   J1939_NLA_PAD,
40*8d67ca89SAndroid Build Coastguard Worker   J1939_NLA_BYTES_ACKED,
41*8d67ca89SAndroid Build Coastguard Worker   J1939_NLA_TOTAL_SIZE,
42*8d67ca89SAndroid Build Coastguard Worker   J1939_NLA_PGN,
43*8d67ca89SAndroid Build Coastguard Worker   J1939_NLA_SRC_NAME,
44*8d67ca89SAndroid Build Coastguard Worker   J1939_NLA_DEST_NAME,
45*8d67ca89SAndroid Build Coastguard Worker   J1939_NLA_SRC_ADDR,
46*8d67ca89SAndroid Build Coastguard Worker   J1939_NLA_DEST_ADDR,
47*8d67ca89SAndroid Build Coastguard Worker };
48*8d67ca89SAndroid Build Coastguard Worker enum {
49*8d67ca89SAndroid Build Coastguard Worker   J1939_EE_INFO_NONE,
50*8d67ca89SAndroid Build Coastguard Worker   J1939_EE_INFO_TX_ABORT,
51*8d67ca89SAndroid Build Coastguard Worker   J1939_EE_INFO_RX_RTS,
52*8d67ca89SAndroid Build Coastguard Worker   J1939_EE_INFO_RX_DPO,
53*8d67ca89SAndroid Build Coastguard Worker   J1939_EE_INFO_RX_ABORT,
54*8d67ca89SAndroid Build Coastguard Worker };
55*8d67ca89SAndroid Build Coastguard Worker struct j1939_filter {
56*8d67ca89SAndroid Build Coastguard Worker   name_t name;
57*8d67ca89SAndroid Build Coastguard Worker   name_t name_mask;
58*8d67ca89SAndroid Build Coastguard Worker   pgn_t pgn;
59*8d67ca89SAndroid Build Coastguard Worker   pgn_t pgn_mask;
60*8d67ca89SAndroid Build Coastguard Worker   __u8 addr;
61*8d67ca89SAndroid Build Coastguard Worker   __u8 addr_mask;
62*8d67ca89SAndroid Build Coastguard Worker };
63*8d67ca89SAndroid Build Coastguard Worker #define J1939_FILTER_MAX 512
64*8d67ca89SAndroid Build Coastguard Worker #endif
65