Merge branch 'for-linus' of ssh://master.kernel.org/pub/scm/linux/kernel/git/ieee1394...
[pandora-kernel.git] / arch / um / include / net_kern.h
index f7de6df..125ab42 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
  * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
  * Licensed under the GPL
  */
@@ -11,6 +11,7 @@
 #include <linux/skbuff.h>
 #include <linux/socket.h>
 #include <linux/list.h>
+#include <linux/workqueue.h>
 
 struct uml_net {
        struct list_head list;
@@ -18,7 +19,6 @@ struct uml_net {
        struct platform_device pdev;
        int index;
        unsigned char mac[ETH_ALEN];
-       int have_mac;
 };
 
 struct uml_net_private {
@@ -27,16 +27,16 @@ struct uml_net_private {
        struct net_device *dev;
        struct timer_list tl;
        struct net_device_stats stats;
+       struct work_struct work;
        int fd;
        unsigned char mac[ETH_ALEN];
-       int have_mac;
        unsigned short (*protocol)(struct sk_buff *);
        int (*open)(void *);
        void (*close)(int, void *);
        void (*remove)(void *);
        int (*read)(int, struct sk_buff **skb, struct uml_net_private *);
        int (*write)(int, struct sk_buff **skb, struct uml_net_private *);
-       
+
        void (*add_address)(unsigned char *, unsigned char *, void *);
        void (*delete_address)(unsigned char *, unsigned char *, void *);
        int (*set_mtu)(int mtu, void *);
@@ -52,32 +52,20 @@ struct net_kern_info {
 
 struct transport {
        struct list_head list;
-       char *name;
-       int (*setup)(char *, char **, void *);
-       struct net_user_info *user;
-       struct net_kern_info *kern;
-       int private_size;
-       int setup_size;
+       const char *name;
+       int (* const setup)(char *, char **, void *);
+       const struct net_user_info *user;
+       const struct net_kern_info *kern;
+       const int private_size;
+       const int setup_size;
 };
 
 extern struct net_device *ether_init(int);
 extern unsigned short ether_protocol(struct sk_buff *);
-extern int setup_etheraddr(char *str, unsigned char *addr);
 extern struct sk_buff *ether_adjust_skb(struct sk_buff *skb, int extra);
-extern int tap_setup_common(char *str, char *type, char **dev_name, 
+extern int tap_setup_common(char *str, char *type, char **dev_name,
                            char **mac_out, char **gate_addr);
 extern void register_transport(struct transport *new);
 extern unsigned short eth_protocol(struct sk_buff *skb);
 
 #endif
-
-/*
- * Overrides for Emacs so that we follow Linus's tabbing style.
- * Emacs will notice this stuff at the end of the file and automatically
- * adjust the settings for this buffer only.  This must remain at the end
- * of the file.
- * ---------------------------------------------------------------------------
- * Local variables:
- * c-file-style: "linux"
- * End:
- */