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 tcp_keepintvl; 46 extern uint8_t client_ethaddr[6]; 47 extern const char *slirp_special_ip; 48 extern int slirp_restrict; 49 50 #define PROTO_SLIP 0x1 51 #ifdef USE_PPP 52 #define PROTO_PPP 0x2 53 #endif 54 55 void if_encap(const uint8_t *ip_data, int ip_data_len); 56 ssize_t slirp_send(struct socket *so, const void *buf, size_t len, int flags); 57