Home | History | Annotate | Download | only in slirp
      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