On Thu, Oct 13, 2011 at 01:26:51PM +0200, Marc Kleine-Budde wrote: > On 10/13/2011 01:02 PM, Kurt Van Dijck wrote: > > On Thu, Oct 13, 2011 at 11:24:59AM +0200, Marc Kleine-Budde wrote: > >> On 10/12/2011 02:55 PM, Kurt Van Dijck wrote: > >>> Not sure where exactly to put this. > >>> > >>> When using libsocketcan on > >>> git://git.pengutronix.de/git/tools/libsocketcan.git, > >>> I kind of missed a method to fetch the can device statistics. > >>> This patch adds that functionality. > >>> I think this is the proper library to put such function. > >>> > >>> Signed-off-by: Kurt Van Dijck <kurt.van.di...@eia.be> > >>> --- > >>> diff --git a/include/libsocketcan.h b/include/libsocketcan.h > >>> index 10c012c..6098d6a 100644 > >>> --- a/include/libsocketcan.h > >>> +++ b/include/libsocketcan.h > >>> @@ -45,5 +45,6 @@ int can_get_state(const char *name, int *state); > >>> int can_get_clock(const char *name, struct can_clock *clock); > >>> int can_get_bittiming_const(const char *name, struct can_bittiming_const > >>> *btc); > >>> int can_get_berr_counter(const char *name, struct can_berr_counter *bc); > >>> +int can_get_device_stats(const char *name, struct can_device_stats *cds); > >>> > >>> #endif > >>> diff --git a/src/libsocketcan.c b/src/libsocketcan.c > >>> index 2ac3f2a..34d3875 100644 > >>> --- a/src/libsocketcan.c > >>> +++ b/src/libsocketcan.c > >>> @@ -53,6 +53,7 @@ > >>> #define GET_CLOCK 5 > >>> #define GET_BITTIMING_CONST 6 > >>> #define GET_BERR_COUNTER 7 > >>> +#define GET_XSTATS 8 > >>> > >>> struct get_req { > >>> struct nlmsghdr n; > >>> @@ -386,6 +387,17 @@ static int do_get_nl_link(int fd, __u8 acquire, > >>> const char *name, void *res) > >>> else > >>> continue; > >>> > >>> + if (acquire == GET_XSTATS) { > >>> + if (!linkinfo[IFLA_INFO_XSTATS]) > >>> + fprintf(stderr, "no can statistics found\n"); > > what about "return -1;" here? > Not "return -1;" here implies that the "return ret;" at the end is executed, and ret == -1.
I depends on how the netlink attributes come in the stream. I'm not specialised in that. Any hints? _______________________________________________ Socketcan-core mailing list Socketcan-core@lists.berlios.de https://lists.berlios.de/mailman/listinfo/socketcan-core