1 |
/* |
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 |
|
14 |
extern struct timeval tt; |
15 |
extern int link_up; |
16 |
extern int slirp_socket; |
17 |
extern int slirp_socket_unit; |
18 |
extern int slirp_socket_port; |
19 |
extern u_int32_t slirp_socket_addr; |
20 |
extern char *slirp_socket_passwd; |
21 |
extern 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 |
|
31 |
extern char *slirp_tty; |
32 |
extern char *exec_shell; |
33 |
extern u_int curtime; |
34 |
extern fd_set *global_readfds, *global_writefds, *global_xfds; |
35 |
extern struct in_addr ctl_addr; |
36 |
extern struct in_addr special_addr; |
37 |
extern struct in_addr alias_addr; |
38 |
extern struct in_addr our_addr; |
39 |
extern struct in_addr loopback_addr; |
40 |
extern struct in_addr dns_addr; |
41 |
extern char *username; |
42 |
extern char *socket_path; |
43 |
extern int towrite_max; |
44 |
extern int ppp_exit; |
45 |
extern int so_options; |
46 |
extern int tcp_keepintvl; |
47 |
extern uint8_t client_ethaddr[6]; |
48 |
|
49 |
#define PROTO_SLIP 0x1 |
50 |
#ifdef USE_PPP |
51 |
#define PROTO_PPP 0x2 |
52 |
#endif |
53 |
|
54 |
void if_encap(const uint8_t *ip_data, int ip_data_len); |