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 | |