bellard | f0cbd3e | 2004-04-22 00:10:48 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (c) 1995 Danny Gasparovski. |
ths | 5fafdf2 | 2007-09-16 21:08:06 +0000 | [diff] [blame] | 3 | * |
| 4 | * Please read the file COPYRIGHT for the |
bellard | f0cbd3e | 2004-04-22 00:10:48 +0000 | [diff] [blame] | 5 | * terms and conditions of the copyright. |
| 6 | */ |
| 7 | |
| 8 | #ifndef _MISC_H_ |
| 9 | #define _MISC_H_ |
| 10 | |
| 11 | struct ex_list { |
| 12 | int ex_pty; /* Do we want a pty? */ |
Jan Kiszka | a13a412 | 2009-06-24 14:42:28 +0200 | [diff] [blame] | 13 | struct in_addr ex_addr; /* Server address */ |
bellard | f0cbd3e | 2004-04-22 00:10:48 +0000 | [diff] [blame] | 14 | int ex_fport; /* Port to telnet to */ |
blueswir1 | 9634d90 | 2007-10-26 19:01:16 +0000 | [diff] [blame] | 15 | const char *ex_exec; /* Command line of what to exec */ |
bellard | f0cbd3e | 2004-04-22 00:10:48 +0000 | [diff] [blame] | 16 | struct ex_list *ex_next; |
| 17 | }; |
| 18 | |
bellard | f0cbd3e | 2004-04-22 00:10:48 +0000 | [diff] [blame] | 19 | #ifndef HAVE_STRDUP |
Blue Swirl | 6cb9c6d | 2009-07-01 19:11:17 +0000 | [diff] [blame] | 20 | char *strdup(const char *); |
bellard | f0cbd3e | 2004-04-22 00:10:48 +0000 | [diff] [blame] | 21 | #endif |
| 22 | |
Blue Swirl | 6cb9c6d | 2009-07-01 19:11:17 +0000 | [diff] [blame] | 23 | void do_wait(int); |
bellard | f0cbd3e | 2004-04-22 00:10:48 +0000 | [diff] [blame] | 24 | |
| 25 | #define EMU_NONE 0x0 |
| 26 | |
| 27 | /* TCP emulations */ |
| 28 | #define EMU_CTL 0x1 |
| 29 | #define EMU_FTP 0x2 |
| 30 | #define EMU_KSH 0x3 |
| 31 | #define EMU_IRC 0x4 |
| 32 | #define EMU_REALAUDIO 0x5 |
| 33 | #define EMU_RLOGIN 0x6 |
| 34 | #define EMU_IDENT 0x7 |
| 35 | #define EMU_RSH 0x8 |
| 36 | |
| 37 | #define EMU_NOCONNECT 0x10 /* Don't connect */ |
| 38 | |
bellard | f0cbd3e | 2004-04-22 00:10:48 +0000 | [diff] [blame] | 39 | struct tos_t { |
| 40 | u_int16_t lport; |
| 41 | u_int16_t fport; |
| 42 | u_int8_t tos; |
| 43 | u_int8_t emu; |
| 44 | }; |
| 45 | |
| 46 | struct emu_t { |
| 47 | u_int16_t lport; |
| 48 | u_int16_t fport; |
| 49 | u_int8_t tos; |
| 50 | u_int8_t emu; |
| 51 | struct emu_t *next; |
| 52 | }; |
| 53 | |
bellard | f0cbd3e | 2004-04-22 00:10:48 +0000 | [diff] [blame] | 54 | extern int x_port, x_server, x_display; |
| 55 | |
Blue Swirl | 6cb9c6d | 2009-07-01 19:11:17 +0000 | [diff] [blame] | 56 | int show_x(char *, struct socket *); |
| 57 | void redir_x(u_int32_t, int, int, int); |
| 58 | void slirp_insque(void *, void *); |
| 59 | void slirp_remque(void *); |
| 60 | int add_exec(struct ex_list **, int, char *, struct in_addr, int); |
| 61 | int slirp_openpty(int *, int *); |
blueswir1 | 9634d90 | 2007-10-26 19:01:16 +0000 | [diff] [blame] | 62 | int fork_exec(struct socket *so, const char *ex, int do_pty); |
Blue Swirl | 6cb9c6d | 2009-07-01 19:11:17 +0000 | [diff] [blame] | 63 | void snooze_hup(int); |
| 64 | void snooze(void); |
| 65 | void relay(int); |
| 66 | void add_emu(char *); |
| 67 | void u_sleep(int); |
| 68 | void fd_nonblock(int); |
| 69 | void fd_block(int); |
| 70 | int rsh_exec(struct socket *, struct socket *, char *, char *, char *); |
bellard | f0cbd3e | 2004-04-22 00:10:48 +0000 | [diff] [blame] | 71 | |
| 72 | #endif |