1
2
3
4
5
6
7
8#ifndef _MISC_H_
9#define _MISC_H_
10
11struct ex_list {
12 int ex_pty;
13 struct in_addr ex_addr;
14 int ex_fport;
15 const char *ex_exec;
16 struct ex_list *ex_next;
17};
18
19#ifndef HAVE_STRDUP
20char *strdup(const char *);
21#endif
22
23#define EMU_NONE 0x0
24
25
26#define EMU_CTL 0x1
27#define EMU_FTP 0x2
28#define EMU_KSH 0x3
29#define EMU_IRC 0x4
30#define EMU_REALAUDIO 0x5
31#define EMU_RLOGIN 0x6
32#define EMU_IDENT 0x7
33#define EMU_RSH 0x8
34
35#define EMU_NOCONNECT 0x10
36
37struct tos_t {
38 uint16_t lport;
39 uint16_t fport;
40 uint8_t tos;
41 uint8_t emu;
42};
43
44struct emu_t {
45 uint16_t lport;
46 uint16_t fport;
47 uint8_t tos;
48 uint8_t emu;
49 struct emu_t *next;
50};
51
52void slirp_insque(void *, void *);
53void slirp_remque(void *);
54int add_exec(struct ex_list **, int, char *, struct in_addr, int);
55int fork_exec(struct socket *so, const char *ex, int do_pty);
56
57#endif
58