fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / drivers / w1 / w1_netlink.h
index 7064ded..56122b9 100644 (file)
 #define __W1_NETLINK_H
 
 #include <asm/types.h>
+#include <linux/connector.h>
 
 #include "w1.h"
 
-struct w1_netlink_msg 
+enum w1_netlink_message_types {
+       W1_SLAVE_ADD = 0,
+       W1_SLAVE_REMOVE,
+       W1_MASTER_ADD,
+       W1_MASTER_REMOVE,
+       W1_MASTER_CMD,
+       W1_SLAVE_CMD,
+};
+
+struct w1_netlink_msg
 {
-       union
-       {
-               struct w1_reg_num       id;
-               __u64                   w1_id;
+       __u8                            type;
+       __u8                            reserved;
+       __u16                           len;
+       union {
+               __u8                    id[8];
+               struct w1_mst {
+                       __u32           id;
+                       __u32           res;
+               } mst;
        } id;
-       __u64                           val;
+       __u8                            data[0];
+};
+
+#define W1_CMD_READ            0x0
+#define W1_CMD_WRITE           0x1
+#define W1_CMD_SEARCH          0x2
+#define W1_CMD_ALARM_SEARCH    0x3
+
+struct w1_netlink_cmd
+{
+       __u8                            cmd;
+       __u8                            res;
+       __u16                           len;
+       __u8                            data[0];
 };
 
 #ifdef __KERNEL__
 
 void w1_netlink_send(struct w1_master *, struct w1_netlink_msg *);
+int w1_init_netlink(void);
+void w1_fini_netlink(void);
 
 #endif /* __KERNEL__ */
 #endif /* __W1_NETLINK_H */