blob: 0dd8d81ce4edc05f85b1d4426a13ed3dd6e20e74 [file] [log] [blame]
bellardf0cbd3e2004-04-22 00:10:48 +00001/*
2 * Copyright (c) 1995 Danny Gasparovski.
ths5fafdf22007-09-16 21:08:06 +00003 *
4 * Please read the file COPYRIGHT for the
bellardf0cbd3e2004-04-22 00:10:48 +00005 * terms and conditions of the copyright.
6 */
7
8#ifdef HAVE_SYS_SELECT_H
9#include <sys/select.h>
10#endif
11
12#define TOWRITEMAX 512
bellardf0cbd3e2004-04-22 00:10:48 +000013
bellardf0cbd3e2004-04-22 00:10:48 +000014extern int slirp_socket;
15extern int slirp_socket_unit;
16extern int slirp_socket_port;
Stefan Weilb6dce922010-07-22 22:15:23 +020017extern uint32_t slirp_socket_addr;
bellardf0cbd3e2004-04-22 00:10:48 +000018extern char *slirp_socket_passwd;
19extern int ctty_closed;
20
21/*
22 * Get the difference in 2 times from updtim()
23 * Allow for wraparound times, "just in case"
24 * x is the greater of the 2 (current time) and y is
25 * what it's being compared against.
26 */
27#define TIME_DIFF(x,y) (x)-(y) < 0 ? ~0-(y)+(x) : (x)-(y)
28
29extern char *slirp_tty;
30extern char *exec_shell;
31extern u_int curtime;
32extern fd_set *global_readfds, *global_writefds, *global_xfds;
bellardf0cbd3e2004-04-22 00:10:48 +000033extern struct in_addr loopback_addr;
bellardf0cbd3e2004-04-22 00:10:48 +000034extern char *username;
35extern char *socket_path;
36extern int towrite_max;
37extern int ppp_exit;
bellardf0cbd3e2004-04-22 00:10:48 +000038extern int tcp_keepintvl;
bellardf0cbd3e2004-04-22 00:10:48 +000039
40#define PROTO_SLIP 0x1
41#ifdef USE_PPP
42#define PROTO_PPP 0x2
43#endif
44
Jan Kiszka460fec62009-06-24 14:42:31 +020045void if_encap(Slirp *slirp, const uint8_t *ip_data, int ip_data_len);
aliguorie1c5a2b2009-01-08 19:18:21 +000046ssize_t slirp_send(struct socket *so, const void *buf, size_t len, int flags);