qemu/slirp/src/misc.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: BSD-3-Clause */
   2/*
   3 * Copyright (c) 1995 Danny Gasparovski.
   4 */
   5
   6#ifndef MISC_H
   7#define MISC_H
   8
   9#include "libslirp.h"
  10
  11struct gfwd_list {
  12        SlirpWriteCb write_cb;
  13        void *opaque;
  14        struct in_addr ex_addr;         /* Server address */
  15        int ex_fport;                   /* Port to telnet to */
  16        char *ex_exec;                  /* Command line of what to exec */
  17        struct gfwd_list *ex_next;
  18};
  19
  20#define EMU_NONE 0x0
  21
  22/* TCP emulations */
  23#define EMU_CTL 0x1
  24#define EMU_FTP 0x2
  25#define EMU_KSH 0x3
  26#define EMU_IRC 0x4
  27#define EMU_REALAUDIO 0x5
  28#define EMU_RLOGIN 0x6
  29#define EMU_IDENT 0x7
  30
  31#define EMU_NOCONNECT 0x10      /* Don't connect */
  32
  33struct tos_t {
  34    uint16_t lport;
  35    uint16_t fport;
  36    uint8_t tos;
  37    uint8_t emu;
  38};
  39
  40struct emu_t {
  41    uint16_t lport;
  42    uint16_t fport;
  43    uint8_t tos;
  44    uint8_t emu;
  45    struct emu_t *next;
  46};
  47
  48struct slirp_quehead {
  49    struct slirp_quehead *qh_link;
  50    struct slirp_quehead *qh_rlink;
  51};
  52
  53void slirp_insque(void *, void *);
  54void slirp_remque(void *);
  55int fork_exec(struct socket *so, const char *ex);
  56
  57struct gfwd_list *
  58add_guestfwd(struct gfwd_list **ex_ptr,
  59             SlirpWriteCb write_cb, void *opaque,
  60             struct in_addr addr, int port);
  61
  62struct gfwd_list *
  63add_exec(struct gfwd_list **ex_ptr, const char *cmdline,
  64         struct in_addr addr, int port);
  65
  66#endif
  67