blob: ed5138559917a632bc409ff397ec9cf31c928cfb [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
14extern struct timeval tt;
15extern int link_up;
16extern int slirp_socket;
17extern int slirp_socket_unit;
18extern int slirp_socket_port;
19extern u_int32_t slirp_socket_addr;
20extern char *slirp_socket_passwd;
21extern int ctty_closed;
22
23/*
24 * Get the difference in 2 times from updtim()
25 * Allow for wraparound times, "just in case"
26 * x is the greater of the 2 (current time) and y is
27 * what it's being compared against.
28 */
29#define TIME_DIFF(x,y) (x)-(y) < 0 ? ~0-(y)+(x) : (x)-(y)
30
31extern char *slirp_tty;
32extern char *exec_shell;
33extern u_int curtime;
34extern fd_set *global_readfds, *global_writefds, *global_xfds;
35extern struct in_addr ctl_addr;
36extern struct in_addr special_addr;
bellard8dbca8d2006-05-03 19:58:17 +000037extern struct in_addr alias_addr;
bellardf0cbd3e2004-04-22 00:10:48 +000038extern struct in_addr our_addr;
39extern struct in_addr loopback_addr;
40extern struct in_addr dns_addr;
41extern char *username;
42extern char *socket_path;
43extern int towrite_max;
44extern int ppp_exit;
bellardf0cbd3e2004-04-22 00:10:48 +000045extern int tcp_keepintvl;
46extern uint8_t client_ethaddr[6];
blueswir10580ac92009-01-12 17:51:06 +000047extern const char *slirp_special_ip;
aliguoria9ba3a82009-01-08 19:24:00 +000048extern int slirp_restrict;
bellardf0cbd3e2004-04-22 00:10:48 +000049
50#define PROTO_SLIP 0x1
51#ifdef USE_PPP
52#define PROTO_PPP 0x2
53#endif
54
55void if_encap(const uint8_t *ip_data, int ip_data_len);
aliguorie1c5a2b2009-01-08 19:18:21 +000056ssize_t slirp_send(struct socket *so, const void *buf, size_t len, int flags);