+#ifndef _CANMSG_T_H
+#define _CANMSG_T_H
+
#include <linux/types.h>
#include <linux/ioctl.h>
#define CAN_MSG_LENGTH 8
+/**
+ * struct canmsg_t - structure representing CAN message
+ * @flags: message flags, %MSG_RTR .. message is Remote Transmission Request,
+ * %MSG_EXT .. message with extended ID, %MSG_OVR indication of queue
+ * overflow condition
+ * @cob: communication object number (not used)
+ * @id: ID of CAN message
+ * @timestamp: not used
+ * @length: length of used data
+ * @data: data bytes buffer
+ *
+ * Header: can.h
+ */
struct canmsg_t {
short flags;
int cob;
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)
//#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*/