]> rtime.felk.cvut.cz Git - lincan.git/blobdiff - lincan/include/can.h
LinCAN driver major structured comments and documentation update
[lincan.git] / lincan / include / can.h
index 6ccb6dcf63bd1d7ef87ad6beebb31653cb882e68..344dcf67ed767ae136db5175fd897cf134c16c10 100644 (file)
@@ -1,3 +1,6 @@
+#ifndef _CANMSG_T_H
+#define _CANMSG_T_H
+
 #include <linux/types.h>
 #include <linux/ioctl.h>
 
@@ -7,6 +10,19 @@
 
 #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;
@@ -16,6 +32,13 @@ struct canmsg_t {
        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)
@@ -38,8 +61,11 @@ typedef unsigned short channel_t;
 //#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*/