diff options
author | Alex Blasche <alexander.blasche@qt.io> | 2020-06-12 09:42:48 +0200 |
---|---|---|
committer | Alex Blasche <alexander.blasche@qt.io> | 2020-06-12 09:42:48 +0200 |
commit | a733079f1e618ec4a3411e39ebdaeac10614b0ff (patch) | |
tree | 4b3158be4d47408987cdec6b3ca53e2e143c91f7 /src/plugins/canbus/socketcan/socketcanbackend.h | |
parent | 74f2537d56f7e957a9462247f634c5288a39e985 (diff) | |
parent | c12af8832389785b8be7ffcdddcdb8480c1e124d (diff) |
Merge remote-tracking branch 'gerrit/5.15' into dev
Change-Id: I5514315b4a8e45c968f874216cdec8f13582a647
Diffstat (limited to 'src/plugins/canbus/socketcan/socketcanbackend.h')
-rw-r--r-- | src/plugins/canbus/socketcan/socketcanbackend.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/plugins/canbus/socketcan/socketcanbackend.h b/src/plugins/canbus/socketcan/socketcanbackend.h index 0497244..b6cb5ef 100644 --- a/src/plugins/canbus/socketcan/socketcanbackend.h +++ b/src/plugins/canbus/socketcan/socketcanbackend.h @@ -54,6 +54,30 @@ #include <memory> +#ifndef CANFD_MTU +// CAN FD support was added by Linux kernel 3.6 +// For prior kernels we redefine the missing defines here +// they are taken from linux/can/raw.h & linux/can.h + +enum { + CAN_RAW_FD_FRAMES = 5 +}; + +#define CAN_MAX_DLEN 8 +#define CANFD_MAX_DLEN 64 +struct canfd_frame { + canid_t can_id; /* 32 bit CAN_ID + EFF/RTR/ERR flags */ + __u8 len; /* frame payload length in byte */ + __u8 flags; /* additional flags for CAN FD */ + __u8 __res0; /* reserved / padding */ + __u8 __res1; /* reserved / padding */ + __u8 data[CANFD_MAX_DLEN] __attribute__((aligned(8))); +}; +#define CAN_MTU (sizeof(struct can_frame)) +#define CANFD_MTU (sizeof(struct canfd_frame)) + +#endif + QT_BEGIN_NAMESPACE class LibSocketCan; |