1 /* 2 * netlink/route/link/can.h CAN interface 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation version 2.1 7 * of the License. 8 * 9 * Copyright (c) 2012 Benedikt Spranger <b.spranger@linutronix.de> 10 */ 11 12 #ifndef NETLINK_LINK_CAN_H_ 13 #define NETLINK_LINK_CAN_H_ 14 15 #include <netlink/netlink.h> 16 #include <netlink/route/link.h> 17 #include <linux/can/netlink.h> 18 19 #ifdef __cplusplus 20 extern "C" { 21 #endif 22 23 extern int rtnl_link_is_can(struct rtnl_link *link); 24 25 extern char *rtnl_link_can_ctrlmode2str(int, char *, size_t); 26 extern int rtnl_link_can_str2ctrlmode(const char *); 27 28 extern int rtnl_link_can_restart(struct rtnl_link *); 29 extern int rtnl_link_can_freq(struct rtnl_link *, uint32_t *); 30 extern int rtnl_link_can_state(struct rtnl_link *, uint32_t *); 31 32 extern int rtnl_link_can_berr_rx(struct rtnl_link *); 33 extern int rtnl_link_can_berr_tx(struct rtnl_link *); 34 extern int rtnl_link_can_berr(struct rtnl_link *, struct can_berr_counter *); 35 36 extern int rtnl_link_can_get_bt_const(struct rtnl_link *, 37 struct can_bittiming_const *); 38 extern int rtnl_link_can_get_bittiming(struct rtnl_link *, 39 struct can_bittiming *); 40 extern int rtnl_link_can_set_bittiming(struct rtnl_link *, 41 struct can_bittiming *); 42 43 extern int rtnl_link_can_get_bitrate(struct rtnl_link *, uint32_t *); 44 extern int rtnl_link_can_set_bitrate(struct rtnl_link *, uint32_t); 45 46 extern int rtnl_link_can_get_sample_point(struct rtnl_link *, uint32_t *); 47 extern int rtnl_link_can_set_sample_point(struct rtnl_link *, uint32_t); 48 49 extern int rtnl_link_can_get_restart_ms(struct rtnl_link *, uint32_t *); 50 extern int rtnl_link_can_set_restart_ms(struct rtnl_link *, uint32_t); 51 52 extern int rtnl_link_can_get_ctrlmode(struct rtnl_link *, uint32_t *); 53 extern int rtnl_link_can_set_ctrlmode(struct rtnl_link *, uint32_t); 54 extern int rtnl_link_can_unset_ctrlmode(struct rtnl_link *, uint32_t); 55 56 #ifdef __cplusplus 57 } 58 #endif 59 60 #endif 61