include: update includes to Linux v6.9 upstream
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>pull/498/head
parent
1a2992e15c
commit
8ba360ea31
|
|
@ -193,9 +193,14 @@ struct canfd_frame {
|
||||||
#define CANXL_XLF 0x80 /* mandatory CAN XL frame flag (must always be set!) */
|
#define CANXL_XLF 0x80 /* mandatory CAN XL frame flag (must always be set!) */
|
||||||
#define CANXL_SEC 0x01 /* Simple Extended Content (security/segmentation) */
|
#define CANXL_SEC 0x01 /* Simple Extended Content (security/segmentation) */
|
||||||
|
|
||||||
|
/* the 8-bit VCID is optionally placed in the canxl_frame.prio element */
|
||||||
|
#define CANXL_VCID_OFFSET 16 /* bit offset of VCID in prio element */
|
||||||
|
#define CANXL_VCID_VAL_MASK 0xFFUL /* VCID is an 8-bit value */
|
||||||
|
#define CANXL_VCID_MASK (CANXL_VCID_VAL_MASK << CANXL_VCID_OFFSET)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct canxl_frame - CAN with e'X'tended frame 'L'ength frame structure
|
* struct canxl_frame - CAN with e'X'tended frame 'L'ength frame structure
|
||||||
* @prio: 11 bit arbitration priority with zero'ed CAN_*_FLAG flags
|
* @prio: 11 bit arbitration priority with zero'ed CAN_*_FLAG flags / VCID
|
||||||
* @flags: additional flags for CAN XL
|
* @flags: additional flags for CAN XL
|
||||||
* @sdt: SDU (service data unit) type
|
* @sdt: SDU (service data unit) type
|
||||||
* @len: frame payload length in byte (CANXL_MIN_DLEN .. CANXL_MAX_DLEN)
|
* @len: frame payload length in byte (CANXL_MIN_DLEN .. CANXL_MAX_DLEN)
|
||||||
|
|
@ -205,7 +210,7 @@ struct canfd_frame {
|
||||||
* @prio shares the same position as @can_id from struct can[fd]_frame.
|
* @prio shares the same position as @can_id from struct can[fd]_frame.
|
||||||
*/
|
*/
|
||||||
struct canxl_frame {
|
struct canxl_frame {
|
||||||
canid_t prio; /* 11 bit priority for arbitration (canid_t) */
|
canid_t prio; /* 11 bit priority for arbitration / 8 bit VCID */
|
||||||
__u8 flags; /* additional flags for CAN XL */
|
__u8 flags; /* additional flags for CAN XL */
|
||||||
__u8 sdt; /* SDU (service data unit) type */
|
__u8 sdt; /* SDU (service data unit) type */
|
||||||
__u16 len; /* frame payload length in byte */
|
__u16 len; /* frame payload length in byte */
|
||||||
|
|
@ -293,6 +298,5 @@ struct can_filter {
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CAN_INV_FILTER 0x20000000U /* to be set in can_filter.can_id */
|
#define CAN_INV_FILTER 0x20000000U /* to be set in can_filter.can_id */
|
||||||
#define CAN_RAW_FILTER_MAX 512 /* maximum number of can_filter set via setsockopt() */
|
|
||||||
|
|
||||||
#endif /* !_UAPI_CAN_H */
|
#endif /* !_UAPI_CAN_H */
|
||||||
|
|
|
||||||
|
|
@ -137,6 +137,7 @@ struct can_isotp_ll_options {
|
||||||
#define CAN_ISOTP_WAIT_TX_DONE 0x0400 /* wait for tx completion */
|
#define CAN_ISOTP_WAIT_TX_DONE 0x0400 /* wait for tx completion */
|
||||||
#define CAN_ISOTP_SF_BROADCAST 0x0800 /* 1-to-N functional addressing */
|
#define CAN_ISOTP_SF_BROADCAST 0x0800 /* 1-to-N functional addressing */
|
||||||
#define CAN_ISOTP_CF_BROADCAST 0x1000 /* 1-to-N transmission w/o FC */
|
#define CAN_ISOTP_CF_BROADCAST 0x1000 /* 1-to-N transmission w/o FC */
|
||||||
|
#define CAN_ISOTP_DYN_FC_PARMS 0x2000 /* dynamic FC parameters BS/STmin */
|
||||||
|
|
||||||
/* protocol machine default values */
|
/* protocol machine default values */
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,8 @@
|
||||||
#include <linux/can.h>
|
#include <linux/can.h>
|
||||||
|
|
||||||
#define SOL_CAN_RAW (SOL_CAN_BASE + CAN_RAW)
|
#define SOL_CAN_RAW (SOL_CAN_BASE + CAN_RAW)
|
||||||
|
#define CAN_RAW_FILTER_MAX 512 /* maximum number of can_filter set via setsockopt() */
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
SCM_CAN_RAW_ERRQUEUE = 1,
|
SCM_CAN_RAW_ERRQUEUE = 1,
|
||||||
};
|
};
|
||||||
|
|
@ -63,6 +65,22 @@ enum {
|
||||||
CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */
|
CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */
|
||||||
CAN_RAW_JOIN_FILTERS, /* all filters must match to trigger */
|
CAN_RAW_JOIN_FILTERS, /* all filters must match to trigger */
|
||||||
CAN_RAW_XL_FRAMES, /* allow CAN XL frames (default:off) */
|
CAN_RAW_XL_FRAMES, /* allow CAN XL frames (default:off) */
|
||||||
|
CAN_RAW_XL_VCID_OPTS, /* CAN XL VCID configuration options */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* configuration for CAN XL virtual CAN identifier (VCID) handling */
|
||||||
|
struct can_raw_vcid_options {
|
||||||
|
|
||||||
|
__u8 flags; /* flags for vcid (filter) behaviour */
|
||||||
|
__u8 tx_vcid; /* VCID value set into canxl_frame.prio */
|
||||||
|
__u8 rx_vcid; /* VCID value for VCID filter */
|
||||||
|
__u8 rx_vcid_mask; /* VCID mask for VCID filter */
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
/* can_raw_vcid_options.flags for CAN XL virtual CAN identifier handling */
|
||||||
|
#define CAN_RAW_XL_VCID_TX_SET 0x01
|
||||||
|
#define CAN_RAW_XL_VCID_TX_PASS 0x02
|
||||||
|
#define CAN_RAW_XL_VCID_RX_FILTER 0x04
|
||||||
|
|
||||||
#endif /* !_UAPI_CAN_RAW_H */
|
#endif /* !_UAPI_CAN_RAW_H */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue