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