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 */ 17struct arg_list_dummy_wrapper { char *argv[SLIRP_MAX_ARGS]; }; 18 19struct 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 27extern const struct net_user_info slirp_user_info; 28 29extern int slirp_user_read(int fd, void *buf, int len, struct slirp_data *pri); 30extern int slirp_user_write(int fd, void *buf, int len, 31 struct slirp_data *pri); 32 33#endif 34