diff --git a/include/linux/can/j1939.h b/include/linux/can/j1939.h index cd60d70..603ce13 100644 --- a/include/linux/can/j1939.h +++ b/include/linux/can/j1939.h @@ -16,12 +16,13 @@ #include #include -#define J1939_IDLE_ADDR 0xfe #define J1939_MAX_UNICAST_ADDR 0xfd +#define J1939_IDLE_ADDR 0xfe #define J1939_NO_ADDR 0xff /* == broadcast or no addr */ #define J1939_NO_NAME 0 -#define J1939_PGN_REQUEST 0x0ea00 -#define J1939_PGN_ADDRESS_CLAIMED 0x0ee00 +#define J1939_PGN_REQUEST 0x0ea00 /* Request PG */ +#define J1939_PGN_ADDRESS_CLAIMED 0x0ee00 /* Address Claimed */ +#define J1939_PGN_ADDRESS_COMMANDED 0x0fed8 /* Commanded Address */ #define J1939_PGN_PDU1_MAX 0x3ff00 #define J1939_PGN_MAX 0x3ffff #define J1939_NO_PGN 0x40000 @@ -65,21 +66,33 @@ enum { SO_J1939_PROMISC = 2, /* set/clr promiscuous mode */ SO_J1939_RECV_OWN = 3, SO_J1939_SEND_PRIO = 4, + SO_J1939_ERRQUEUE = 5, }; enum { SCM_J1939_DEST_ADDR = 1, SCM_J1939_DEST_NAME = 2, SCM_J1939_PRIO = 3, + SCM_J1939_ERRQUEUE = 4, +}; + +enum { + J1939_NLA_PAD, + J1939_NLA_BYTES_ACKED, +}; + +enum { + J1939_EE_INFO_NONE, + J1939_EE_INFO_TX_ABORT, }; struct j1939_filter { name_t name; name_t name_mask; - __u8 addr; - __u8 addr_mask; pgn_t pgn; pgn_t pgn_mask; + __u8 addr; + __u8 addr_mask; }; #define J1939_FILTER_MAX 512 /* maximum number of j1939_filter set via setsockopt() */