diff -r 3ebf16150b2e -r e747d2e26af0 drivers/can_lincan/lincan.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/drivers/can_lincan/lincan.h Wed Apr 04 13:04:31 2007 +0200 @@ -0,0 +1,86 @@ +/* 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 + +#ifdef __KERNEL__ + +#include +#include +#include + +#else /* __KERNEL__ */ + +#include +#include +#include + +#endif /* __KERNEL__ */ + +#include "./canmsg.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* CAN ioctl magic number */ +#define CAN_IOC_MAGIC 'd' + +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 */ +#define CAN_DRV_QRY_VERSION 1 /* returns driver version as (major<<16) | (minor<<8) | patch */ +#define CAN_DRV_QRY_MSGFORMAT 2 /* format of canmsg_t structure */ + +#define CMD_START _IOW(CAN_IOC_MAGIC, 1, channel_t) +#define CMD_STOP _IOW(CAN_IOC_MAGIC, 2, channel_t) +//#define CMD_RESET 3 + +#define CONF_BAUD _IOW(CAN_IOC_MAGIC, 4, bittiming_t) +//#define CONF_ACCM +//#define CONF_XTDACCM +//#define CONF_TIMING +//#define CONF_OMODE +#define CONF_FILTER _IOW(CAN_IOC_MAGIC, 8, unsigned char) + +//#define CONF_FENABLE +//#define CONF_FDISABLE + +#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"*/ +#endif + +#endif /*_CAN_DRVAPI_T_H*/