+#ifndef _CANMSG_T_H
+#define _CANMSG_T_H
+
#include <linux/types.h>
#include <linux/ioctl.h>
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)
/* 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*/