|  | #ifndef __UM_SLIRP_H | 
|  | #define __UM_SLIRP_H | 
|  |  | 
|  | #include "slip_common.h" | 
|  |  | 
|  | #define SLIRP_MAX_ARGS 100 | 
|  | /* | 
|  | * XXX this next definition is here because I don't understand why this | 
|  | * initializer doesn't work in slirp_kern.c: | 
|  | * | 
|  | *   argv :  { init->argv[ 0 ... SLIRP_MAX_ARGS-1 ] }, | 
|  | * | 
|  | * or why I can't typecast like this: | 
|  | * | 
|  | *   argv :  (char* [SLIRP_MAX_ARGS])(init->argv), | 
|  | */ | 
|  | struct arg_list_dummy_wrapper { char *argv[SLIRP_MAX_ARGS]; }; | 
|  |  | 
|  | struct slirp_data { | 
|  | void *dev; | 
|  | struct arg_list_dummy_wrapper argw; | 
|  | int pid; | 
|  | int slave; | 
|  | struct slip_proto slip; | 
|  | }; | 
|  |  | 
|  | extern const struct net_user_info slirp_user_info; | 
|  |  | 
|  | extern int slirp_user_read(int fd, void *buf, int len, struct slirp_data *pri); | 
|  | extern int slirp_user_write(int fd, void *buf, int len, | 
|  | struct slirp_data *pri); | 
|  |  | 
|  | #endif |