From: Kurt Van Dijck dev.kurt@vandijck-laurijssen.be
mainline inclusion from mainline-v5.4-rc1 commit f5223e9eee651e005c0f6d6d078909087601b7e9 category: feature bugzilla: 38684 CVE: NA
---------------------------
This patch prepares struct sockaddr_can for SAE J1939.
Signed-off-by: Kurt Van Dijck dev.kurt@vandijck-laurijssen.be Signed-off-by: Oleksij Rempel o.rempel@pengutronix.de Acked-by: Oliver Hartkopp socketcan@hartkopp.net Signed-off-by: Marc Kleine-Budde mkl@pengutronix.de Signed-off-by: Zhang Changzhong zhangchangzhong@huawei.com Reviewed-by: YueHaibing yuehaibing@huawei.com Signed-off-by: Yang Yingliang yangyingliang@huawei.com --- include/uapi/linux/can.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/include/uapi/linux/can.h b/include/uapi/linux/can.h index 06d92d6be6e6..1e988fdeba34 100644 --- a/include/uapi/linux/can.h +++ b/include/uapi/linux/can.h @@ -175,6 +175,23 @@ struct sockaddr_can { /* transport protocol class address information (e.g. ISOTP) */ struct { canid_t rx_id, tx_id; } tp;
+ /* J1939 address information */ + struct { + /* 8 byte name when using dynamic addressing */ + __u64 name; + + /* pgn: + * 8 bit: PS in PDU2 case, else 0 + * 8 bit: PF + * 1 bit: DP + * 1 bit: reserved + */ + __u32 pgn; + + /* 1 byte address */ + __u8 addr; + } j1939; + /* reserved for future CAN protocols address information */ } can_addr; };