X-Git-Url: http://rtime.felk.cvut.cz/gitweb/lincan.git/blobdiff_plain/328a0f0a261a7349b3731dbfdfc6591188003c48..c50bf8f274d978d24d9fbc10641fb6f6fc11868d:/lincan/include/can.h diff --git a/lincan/include/can.h b/lincan/include/can.h index 0473dcc..8ff57ea 100644 --- a/lincan/include/can.h +++ b/lincan/include/can.h @@ -1,3 +1,12 @@ +/* can.h + * Header file for the Linux CAN-bus driver. + * Written by Arnaud Westenberg email:arnaud@wanadoo.nl + * Rewritten for new CAN queues by Pavel Pisa - OCERA team member + * email:pisa@cmp.felk.cvut.cz + * This software is released under the GPL-License. + * Version lincan-0.3 17 Jun 2004 + */ + #ifndef _CAN_DRVAPI_T_H #define _CAN_DRVAPI_T_H @@ -9,6 +18,7 @@ #else /* __KERNEL__ */ +#include #include #include #include @@ -27,6 +37,23 @@ extern "C" { typedef unsigned long bittiming_t; typedef unsigned short channel_t; +/** + * struct can_baudparams_t - datatype for calling CONF_BAUDPARAMS IOCTL + * @flags: reserved for additional flags for chip configuration, should be written -1 or 0 + * @baudrate: baud rate in Hz + * @sjw: synchronization jump width (0-3) prescaled clock cycles + * @sampl_pt: sample point in % (0-100) sets (TSEG1+1)/(TSEG1+TSEG2+2) ratio + * + * The structure is used to configure new set of parameters into CAN controller chip. + * If default value of some field should be preserved, fill field by value -1. + */ +struct can_baudparams_t { + long flags; + long baudrate; + long sjw; + long sample_pt; +}; + /* CAN ioctl functions */ #define CAN_DRV_QUERY _IO(CAN_IOC_MAGIC, 0) #define CAN_DRV_QRY_BRANCH 0 /* returns driver branch value - "LINC" for LinCAN driver */ @@ -50,6 +77,8 @@ typedef unsigned short channel_t; #define STAT _IO(CAN_IOC_MAGIC, 9) #define CANQUE_FILTER _IOW(CAN_IOC_MAGIC, 10, struct canfilt_t) #define CANQUE_FLUSH _IO(CAN_IOC_MAGIC, 11) +#define CONF_BAUDPARAMS _IOW(CAN_IOC_MAGIC, 11, struct can_baudparams_t) +#define CANRTR_READ _IOWR(CAN_IOC_MAGIC, 12, struct canmsg_t) #ifdef __cplusplus } /* extern "C"*/