00001
00002
00003
00004
00005
00006
00007
00008 #ifdef HAVE_SYS_SELECT_H
00009 #include <sys/select.h>
00010 #endif
00011
00012 #define TOWRITEMAX 512
00013
00014 extern struct timeval tt;
00015 extern int link_up;
00016 extern int slirp_socket;
00017 extern int slirp_socket_unit;
00018 extern int slirp_socket_port;
00019 extern u_int32_t slirp_socket_addr;
00020 extern char *slirp_socket_passwd;
00021 extern int ctty_closed;
00022
00023
00024
00025
00026
00027
00028
00029 #define TIME_DIFF(x,y) (x)-(y) < 0 ? ~0-(y)+(x) : (x)-(y)
00030
00031 extern char *slirp_tty;
00032 extern char *exec_shell;
00033 extern u_int curtime;
00034 extern fd_set *global_readfds, *global_writefds, *global_xfds;
00035 extern struct in_addr ctl_addr;
00036 extern struct in_addr special_addr;
00037 extern struct in_addr alias_addr;
00038 extern struct in_addr our_addr;
00039 extern struct in_addr loopback_addr;
00040 extern struct in_addr dns_addr;
00041 extern char *username;
00042 extern char *socket_path;
00043 extern int towrite_max;
00044 extern int ppp_exit;
00045 extern int tcp_keepintvl;
00046 extern uint8_t client_ethaddr[6];
00047 extern const char *slirp_special_ip;
00048 extern int slirp_restrict;
00049
00050 #define PROTO_SLIP 0x1
00051 #ifdef USE_PPP
00052 #define PROTO_PPP 0x2
00053 #endif
00054
00055 void if_encap(const uint8_t *ip_data, int ip_data_len);
00056 ssize_t slirp_send(struct socket *so, const void *buf, size_t len, int flags);