summaryrefslogtreecommitdiffstats
path: root/net/can/j1939/j1939-priv.h
diff options
context:
space:
mode:
authorOleksij Rempel <o.rempel@pengutronix.de>2021-07-07 11:48:54 +0200
committerMarc Kleine-Budde <mkl@pengutronix.de>2021-08-04 12:11:52 +0200
commit5b9272e93f2efe3f6cda60cc2c26817b2ce49386 (patch)
tree0e4ac639ef0060b0e58b28f9e7421fea7fc1d816 /net/can/j1939/j1939-priv.h
parentcd85d3aed5cf4410e42ea404db0abb648b296391 (diff)
downloadlinux-5b9272e93f2efe3f6cda60cc2c26817b2ce49386.tar.bz2
can: j1939: extend UAPI to notify about RX status
To be able to create applications with user friendly feedback, we need be able to provide receive status information. Typical ETP transfer may take seconds or even hours. To give user some clue or show a progress bar, the stack should push status updates. Same as for the TX information, the socket error queue will be used with following new signals: - J1939_EE_INFO_RX_RTS - received and accepted request to send signal. - J1939_EE_INFO_RX_DPO - received data package offset signal - J1939_EE_INFO_RX_ABORT - RX session was aborted Instead of completion signal, user will get data package. To activate this signals, application should set SOF_TIMESTAMPING_RX_SOFTWARE to the SO_TIMESTAMPING socket option. This will avoid unpredictable application behavior for the old software. Link: https://lore.kernel.org/r/20210707094854.30781-3-o.rempel@pengutronix.de Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Diffstat (limited to 'net/can/j1939/j1939-priv.h')
-rw-r--r--net/can/j1939/j1939-priv.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/can/j1939/j1939-priv.h b/net/can/j1939/j1939-priv.h
index 93b8ad7f7d04..f6df20808f5e 100644
--- a/net/can/j1939/j1939-priv.h
+++ b/net/can/j1939/j1939-priv.h
@@ -23,6 +23,9 @@ enum j1939_sk_errqueue_type {
J1939_ERRQUEUE_TX_ACK,
J1939_ERRQUEUE_TX_SCHED,
J1939_ERRQUEUE_TX_ABORT,
+ J1939_ERRQUEUE_RX_RTS,
+ J1939_ERRQUEUE_RX_DPO,
+ J1939_ERRQUEUE_RX_ABORT,
};
/* j1939 devices */
@@ -87,6 +90,7 @@ struct j1939_priv {
struct list_head j1939_socks;
struct kref rx_kref;
+ u32 rx_tskey;
};
void j1939_ecu_put(struct j1939_ecu *ecu);