]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/include/can.h
CAN driver infrastructure redesign to LinCAN-0.2 version
[lincan.git] / lincan / include / can.h
index 071deae0a4681c918862efef10591bd77532f2bb..e31073283e3a5abf4a3f1a4716b4a2c3582e8b10 100644 (file)
@@ -1,3 +1,6 @@
+#ifndef _CANMSG_T_H
+#define _CANMSG_T_H
+
 #include <linux/types.h>
 #include <linux/ioctl.h>
 
@@ -13,9 +16,16 @@ struct canmsg_t {
        unsigned long   id;
        unsigned long   timestamp;
        unsigned int    length;
-       char            data[CAN_MSG_LENGTH];
+       unsigned char   data[CAN_MSG_LENGTH];
 } PACKED;
 
+struct canfilt_t {
+       int             flags;
+       int             cob;
+       unsigned long   id;
+       unsigned long   mask;
+};
+
 /* Definitions to use for canmsg_t flags */
 #define MSG_RTR (1<<0)
 #define MSG_OVR (1<<1)
@@ -24,22 +34,25 @@ struct canmsg_t {
 /* CAN ioctl magic number */
 #define CAN_IOC_MAGIC 'd'
 
-unsigned long bittiming;
-unsigned short channel;
+typedef unsigned long bittiming_t;
+typedef unsigned short channel_t;
 
 /* CAN ioctl functions */
-#define CMD_START _IOW(CAN_IOC_MAGIC, 1, channel)
-#define CMD_STOP _IOW(CAN_IOC_MAGIC, 2, channel)
+#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)
+#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 CONF_FILTER_QUE0 _IOW(CAN_IOC_MAGIC, 10, struct canfilt_t)
+
+#endif /*_CANMSG_T_H*/