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