Pull bugfix into test branch
[linux-2.6] / arch / um / drivers / slirp.h
1 #ifndef __UM_SLIRP_H
2 #define __UM_SLIRP_H
3
4 #include "slip_common.h"
5
6 #define SLIRP_MAX_ARGS 100
7 /*
8  * XXX this next definition is here because I don't understand why this
9  * initializer doesn't work in slirp_kern.c:
10  *
11  *   argv :  { init->argv[ 0 ... SLIRP_MAX_ARGS-1 ] },
12  *
13  * or why I can't typecast like this:
14  *
15  *   argv :  (char* [SLIRP_MAX_ARGS])(init->argv), 
16  */
17 struct arg_list_dummy_wrapper { char *argv[SLIRP_MAX_ARGS]; };
18
19 struct slirp_data {
20         void *dev;
21         struct arg_list_dummy_wrapper argw;
22         int pid;
23         int slave;
24         struct slip_proto slip;
25 };
26
27 extern const struct net_user_info slirp_user_info;
28
29 extern int slirp_user_read(int fd, void *buf, int len, struct slirp_data *pri);
30 extern int slirp_user_write(int fd, void *buf, int len,
31                             struct slirp_data *pri);
32
33 #endif