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