lincan.h

Go to the documentation of this file.
00001 /* can.h
00002  * Header file for the Linux CAN-bus driver.
00003  * Written by Arnaud Westenberg email:arnaud@wanadoo.nl
00004  * Rewritten for new CAN queues by Pavel Pisa - OCERA team member
00005  * email:pisa@cmp.felk.cvut.cz
00006  * This software is released under the GPL-License.
00007  * Version lincan-0.3  17 Jun 2004
00008  */
00009 
00010 #ifndef _CAN_DRVAPI_T_H
00011 #define _CAN_DRVAPI_T_H
00012 
00013 #ifdef __KERNEL__
00014 
00015 #include <linux/time.h>
00016 #include <linux/types.h>
00017 #include <linux/ioctl.h>
00018 
00019 #else /* __KERNEL__ */
00020 
00021 #include <sys/time.h>
00022 #include <sys/types.h>
00023 #include <sys/ioctl.h>
00024 
00025 #endif /* __KERNEL__ */
00026 
00027 #include "./canmsg.h"
00028 
00029 #ifdef __cplusplus
00030 extern "C" {
00031 #endif
00032 
00033 /* CAN ioctl magic number */
00034 #define CAN_IOC_MAGIC 'd'
00035 
00036 typedef unsigned long bittiming_t;
00037 typedef unsigned short channel_t;
00038 
00049 struct can_baudparams_t {
00050         long flags;
00051         long baudrate;
00052         long sjw;
00053         long sample_pt;
00054 };
00055 
00056 /* CAN ioctl functions */
00057 #define CAN_DRV_QUERY _IO(CAN_IOC_MAGIC, 0)
00058 #define CAN_DRV_QRY_BRANCH    0 /* returns driver branch value - "LINC" for LinCAN driver */
00059 #define CAN_DRV_QRY_VERSION   1 /* returns driver version as (major<<16) | (minor<<8) | patch */
00060 #define CAN_DRV_QRY_MSGFORMAT 2 /* format of canmsg_t structure */
00061 
00062 #define CMD_START _IOW(CAN_IOC_MAGIC, 1, channel_t)
00063 #define CMD_STOP _IOW(CAN_IOC_MAGIC, 2, channel_t)
00064 //#define CMD_RESET 3
00065 
00066 #define CONF_BAUD _IOW(CAN_IOC_MAGIC, 4, bittiming_t)
00067 //#define CONF_ACCM
00068 //#define CONF_XTDACCM
00069 //#define CONF_TIMING
00070 //#define CONF_OMODE
00071 #define CONF_FILTER _IOW(CAN_IOC_MAGIC, 8, unsigned char)
00072 
00073 //#define CONF_FENABLE
00074 //#define CONF_FDISABLE
00075 
00076 #define STAT _IO(CAN_IOC_MAGIC, 9)
00077 #define CANQUE_FILTER _IOW(CAN_IOC_MAGIC, 10, struct canfilt_t)
00078 #define CANQUE_FLUSH  _IO(CAN_IOC_MAGIC, 11)
00079 #define CONF_BAUDPARAMS  _IOW(CAN_IOC_MAGIC, 11, struct can_baudparams_t)
00080 #define CANRTR_READ  _IOWR(CAN_IOC_MAGIC, 12, struct canmsg_t)
00081 
00082 #ifdef __cplusplus
00083 } /* extern "C"*/
00084 #endif
00085 
00086 #endif /*_CAN_DRVAPI_T_H*/

Generated on Fri Jun 8 08:51:38 2007 for CanFestival by  doxygen 1.5.1