linux/include/uapi/linux/can/netlink.h

/* 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 */