linux/arch/um/drivers/slirp.h
<<
>>
Prefs
   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
  35