• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This header was generated from the Linux kernel headers by update_headers.py,
3  * to provide necessary information from kernel to userspace, such as constants,
4  * structures, and macros, and thus, contains no copyrightable information.
5  */
6 #ifndef _UAPI_CAN_NETLINK_H
7 #define _UAPI_CAN_NETLINK_H
8 #include <linux/types.h>
9 struct can_bittiming {
10 	__u32 bitrate;
11 	__u32 sample_point;
12 	__u32 tq;
13 	__u32 prop_seg;
14 	__u32 phase_seg1;
15 	__u32 phase_seg2;
16 	__u32 sjw;
17 	__u32 brp;
18 };
19 struct can_bittiming_const {
20 	char name[16];
21 	__u32 tseg1_min;
22 	__u32 tseg1_max;
23 	__u32 tseg2_min;
24 	__u32 tseg2_max;
25 	__u32 sjw_max;
26 	__u32 brp_min;
27 	__u32 brp_max;
28 	__u32 brp_inc;
29 };
30 struct can_clock {
31 	__u32 freq;
32 };
33 enum can_state {
34 	CAN_STATE_ERROR_ACTIVE = 0,
35 	CAN_STATE_ERROR_WARNING,
36 	CAN_STATE_ERROR_PASSIVE,
37 	CAN_STATE_BUS_OFF,
38 	CAN_STATE_STOPPED,
39 	CAN_STATE_SLEEPING,
40 	CAN_STATE_MAX
41 };
42 struct can_berr_counter {
43 	__u16 txerr;
44 	__u16 rxerr;
45 };
46 struct can_ctrlmode {
47 	__u32 mask;
48 	__u32 flags;
49 };
50 #define CAN_CTRLMODE_LOOPBACK		0x01
51 #define CAN_CTRLMODE_LISTENONLY		0x02
52 #define CAN_CTRLMODE_3_SAMPLES		0x04
53 #define CAN_CTRLMODE_ONE_SHOT		0x08
54 #define CAN_CTRLMODE_BERR_REPORTING	0x10
55 #define CAN_CTRLMODE_FD			0x20
56 #define CAN_CTRLMODE_PRESUME_ACK	0x40
57 #define CAN_CTRLMODE_FD_NON_ISO		0x80
58 struct can_device_stats {
59 	__u32 bus_error;
60 	__u32 error_warning;
61 	__u32 error_passive;
62 	__u32 bus_off;
63 	__u32 arbitration_lost;
64 	__u32 restarts;
65 };
66 enum {
67 	IFLA_CAN_UNSPEC,
68 	IFLA_CAN_BITTIMING,
69 	IFLA_CAN_BITTIMING_CONST,
70 	IFLA_CAN_CLOCK,
71 	IFLA_CAN_STATE,
72 	IFLA_CAN_CTRLMODE,
73 	IFLA_CAN_RESTART_MS,
74 	IFLA_CAN_RESTART,
75 	IFLA_CAN_BERR_COUNTER,
76 	IFLA_CAN_DATA_BITTIMING,
77 	IFLA_CAN_DATA_BITTIMING_CONST,
78 	IFLA_CAN_TERMINATION,
79 	IFLA_CAN_TERMINATION_CONST,
80 	IFLA_CAN_BITRATE_CONST,
81 	IFLA_CAN_DATA_BITRATE_CONST,
82 	IFLA_CAN_BITRATE_MAX,
83 	__IFLA_CAN_MAX
84 };
85 #define IFLA_CAN_MAX	(__IFLA_CAN_MAX - 1)
86 #define CAN_TERMINATION_DISABLED 0
87 #endif
88