11da177e4SLinus Torvalds #ifndef __UM_SLIRP_H 21da177e4SLinus Torvalds #define __UM_SLIRP_H 31da177e4SLinus Torvalds 4a3c77c67SJeff Dike #include "slip_common.h" 51da177e4SLinus Torvalds 61da177e4SLinus Torvalds #define SLIRP_MAX_ARGS 100 71da177e4SLinus Torvalds /* 81da177e4SLinus Torvalds * XXX this next definition is here because I don't understand why this 91da177e4SLinus Torvalds * initializer doesn't work in slirp_kern.c: 101da177e4SLinus Torvalds * 111da177e4SLinus Torvalds * argv : { init->argv[ 0 ... SLIRP_MAX_ARGS-1 ] }, 121da177e4SLinus Torvalds * 131da177e4SLinus Torvalds * or why I can't typecast like this: 141da177e4SLinus Torvalds * 151da177e4SLinus Torvalds * argv : (char* [SLIRP_MAX_ARGS])(init->argv), 161da177e4SLinus Torvalds */ 171da177e4SLinus Torvalds struct arg_list_dummy_wrapper { char *argv[SLIRP_MAX_ARGS]; }; 181da177e4SLinus Torvalds 191da177e4SLinus Torvalds struct slirp_data { 201da177e4SLinus Torvalds void *dev; 211da177e4SLinus Torvalds struct arg_list_dummy_wrapper argw; 221da177e4SLinus Torvalds int pid; 231da177e4SLinus Torvalds int slave; 24a3c77c67SJeff Dike struct slip_proto slip; 251da177e4SLinus Torvalds }; 261da177e4SLinus Torvalds 27*5e7672ecSJeff Dike extern const struct net_user_info slirp_user_info; 281da177e4SLinus Torvalds 291da177e4SLinus Torvalds extern int slirp_user_read(int fd, void *buf, int len, struct slirp_data *pri); 30a3c77c67SJeff Dike extern int slirp_user_write(int fd, void *buf, int len, 31a3c77c67SJeff Dike struct slirp_data *pri); 321da177e4SLinus Torvalds 331da177e4SLinus Torvalds #endif 34