| /* SPDX-License-Identifier: GPL-2.0 */ |
| #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 |