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