blob: 353462a5dbaa52cf24c37b46f1d568c7fd8eda70 [file] [log] [blame]
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -08001/*
2 * Copyright (c) 1995 Danny Gasparovski.
3 *
4 * Please read the file COPYRIGHT for the
5 * 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
13
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;
David 'Digit' Turner5d8f37a2009-09-14 14:32:27 -070022extern int slirp_restrict;
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -080023
24/*
25 * Get the difference in 2 times from updtim()
26 * Allow for wraparound times, "just in case"
27 * x is the greater of the 2 (current time) and y is
28 * what it's being compared against.
29 */
30#define TIME_DIFF(x,y) (x)-(y) < 0 ? ~0-(y)+(x) : (x)-(y)
31
32#define DNS_ADDR_MAX 4
33
34extern char *slirp_tty;
35extern char *exec_shell;
36extern u_int curtime;
37extern fd_set *global_readfds, *global_writefds, *global_xfds;
38extern uint32_t ctl_addr_ip;
39extern uint32_t special_addr_ip;
40extern uint32_t alias_addr_ip;
41extern uint32_t our_addr_ip;
42extern uint32_t loopback_addr_ip;
43extern uint32_t dns_addr[DNS_ADDR_MAX];
44extern int dns_addr_count;
45extern char *username;
46extern char *socket_path;
47extern int towrite_max;
48extern int ppp_exit;
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -080049extern int tcp_keepintvl;
50extern uint8_t client_ethaddr[6];
David 'Digit' Turner5d8f37a2009-09-14 14:32:27 -070051extern const char *slirp_special_ip;
52extern int slirp_restrict;
The Android Open Source Project8b23a6c2009-03-03 19:30:32 -080053
54#define PROTO_SLIP 0x1
55#ifdef USE_PPP
56#define PROTO_PPP 0x2
57#endif
58
59void if_encap(const uint8_t *ip_data, int ip_data_len);
David 'Digit' Turner5d8f37a2009-09-14 14:32:27 -070060ssize_t slirp_send(struct socket *so, const void *buf, size_t len, int flags);