/* SPDX-License-Identifier: GPL-2.0-only WITH Linux-syscall-note */ /* * linux/can/netlink.h * * Definitions for the CAN netlink interface * * Copyright (c) 2009 Wolfgang Grandegger <[email protected]> * * This program is free software; you can redistribute it and/or modify * it under the terms of the version 2 of the GNU General Public License * as published by the Free Software Foundation * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ #ifndef _UAPI_CAN_NETLINK_H #define _UAPI_CAN_NETLINK_H #include <linux/types.h> /* * CAN bit-timing parameters * * For further information, please read chapter "8 BIT TIMING * REQUIREMENTS" of the "Bosch CAN Specification version 2.0" * at http://www.semiconductors.bosch.de/pdf/can2spec.pdf. */ struct can_bittiming { … }; /* * CAN hardware-dependent bit-timing constant * * Used for calculating and checking bit-timing parameters */ struct can_bittiming_const { … }; /* * CAN clock parameters */ struct can_clock { … }; /* * CAN operational and error states */ enum can_state { … }; /* * CAN bus error counters */ struct can_berr_counter { … }; /* * CAN controller mode */ struct can_ctrlmode { … }; #define CAN_CTRLMODE_LOOPBACK … #define CAN_CTRLMODE_LISTENONLY … #define CAN_CTRLMODE_3_SAMPLES … #define CAN_CTRLMODE_ONE_SHOT … #define CAN_CTRLMODE_BERR_REPORTING … #define CAN_CTRLMODE_FD … #define CAN_CTRLMODE_PRESUME_ACK … #define CAN_CTRLMODE_FD_NON_ISO … #define CAN_CTRLMODE_CC_LEN8_DLC … #define CAN_CTRLMODE_TDC_AUTO … #define CAN_CTRLMODE_TDC_MANUAL … /* * CAN device statistics */ struct can_device_stats { … }; /* * CAN netlink interface */ enum { … }; /* * CAN FD Transmitter Delay Compensation (TDC) * * Please refer to struct can_tdc_const and can_tdc in * include/linux/can/bittiming.h for further details. */ enum { … }; /* * IFLA_CAN_CTRLMODE_EXT nest: controller mode extended parameters */ enum { … }; /* u16 termination range: 1..65535 Ohms */ #define CAN_TERMINATION_DISABLED … #endif /* !_UAPI_CAN_NETLINK_H */