unix: add can netlink types and constants

Change-Id: Ie234f26c38a9ced6407f2970fa97b49d18119f06
Reviewed-on: https://go-review.googlesource.com/c/sys/+/387474
Reviewed-by: Matt Layher <mdlayher@gmail.com>
Trust: Matt Layher <mdlayher@gmail.com>
Run-TryBot: Matt Layher <mdlayher@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Trust: Johan Brandhorst-Satzkorn <johan.brandhorst@gmail.com>
This commit is contained in:
Oscar Söderlund
2022-02-23 15:53:57 +00:00
committed by Matt Layher
parent f2425489ef
commit 96fed51e14
4 changed files with 149 additions and 0 deletions
+61
View File
@@ -82,6 +82,7 @@ struct termios2 {
#include <linux/blkpg.h>
#include <linux/bpf.h>
#include <linux/can.h>
#include <linux/can/netlink.h>
#include <linux/can/raw.h>
#include <linux/capability.h>
#include <linux/cgroupstats.h>
@@ -426,6 +427,19 @@ struct tipc_service_name {
// From the union.
__u32 domain;
};
// copied from /usr/include/linux/can/netlink.h modified with explicit unsigned chars.
struct my_can_bittiming_const {
uint8_t name[16];
__u32 tseg1_min;
__u32 tseg1_max;
__u32 tseg2_min;
__u32 tseg2_max;
__u32 sjw_max;
__u32 brp_min;
__u32 brp_max;
__u32 brp_inc;
};
*/
import "C"
@@ -3982,3 +3996,50 @@ const (
NL_POLICY_TYPE_ATTR_MASK = C.NL_POLICY_TYPE_ATTR_MASK
NL_POLICY_TYPE_ATTR_MAX = C.NL_POLICY_TYPE_ATTR_MAX
)
// CAN netlink types
type CANBitTiming C.struct_can_bittiming
type CANBitTimingConst C.struct_my_can_bittiming_const
type CANClock C.struct_can_clock
type CANBusErrorCounters C.struct_can_berr_counter
type CANCtrlMode C.struct_can_ctrlmode
type CANDeviceStats C.struct_can_device_stats
// Generated by:
// perl -nlE '/^\s*(CAN_STATE\w+)/ && say "$1 = C.$1"' /usr/include/linux/can/netlink.h
const (
CAN_STATE_ERROR_ACTIVE = C.CAN_STATE_ERROR_ACTIVE
CAN_STATE_ERROR_WARNING = C.CAN_STATE_ERROR_WARNING
CAN_STATE_ERROR_PASSIVE = C.CAN_STATE_ERROR_PASSIVE
CAN_STATE_BUS_OFF = C.CAN_STATE_BUS_OFF
CAN_STATE_STOPPED = C.CAN_STATE_STOPPED
CAN_STATE_SLEEPING = C.CAN_STATE_SLEEPING
CAN_STATE_MAX = C.CAN_STATE_MAX
)
// Generated by:
// perl -nlE '/^\s*(IFLA_CAN\w+)/ && say "$1 = C.$1"' /usr/include/linux/can/netlink.h
const (
IFLA_CAN_UNSPEC = C.IFLA_CAN_UNSPEC
IFLA_CAN_BITTIMING = C.IFLA_CAN_BITTIMING
IFLA_CAN_BITTIMING_CONST = C.IFLA_CAN_BITTIMING_CONST
IFLA_CAN_CLOCK = C.IFLA_CAN_CLOCK
IFLA_CAN_STATE = C.IFLA_CAN_STATE
IFLA_CAN_CTRLMODE = C.IFLA_CAN_CTRLMODE
IFLA_CAN_RESTART_MS = C.IFLA_CAN_RESTART_MS
IFLA_CAN_RESTART = C.IFLA_CAN_RESTART
IFLA_CAN_BERR_COUNTER = C.IFLA_CAN_BERR_COUNTER
IFLA_CAN_DATA_BITTIMING = C.IFLA_CAN_DATA_BITTIMING
IFLA_CAN_DATA_BITTIMING_CONST = C.IFLA_CAN_DATA_BITTIMING_CONST
IFLA_CAN_TERMINATION = C.IFLA_CAN_TERMINATION
IFLA_CAN_TERMINATION_CONST = C.IFLA_CAN_TERMINATION_CONST
IFLA_CAN_BITRATE_CONST = C.IFLA_CAN_BITRATE_CONST
IFLA_CAN_DATA_BITRATE_CONST = C.IFLA_CAN_DATA_BITRATE_CONST
IFLA_CAN_BITRATE_MAX = C.IFLA_CAN_BITRATE_MAX
)