Linux Audio

Check our new training course

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