00001 #ifndef _LIBSLIRP_H
00002 #define _LIBSLIRP_H
00003
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif
00007
00008 void slirp_init(int restrict, char *special_ip);
00009
00010 void slirp_select_fill(int *pnfds,
00011 fd_set *readfds, fd_set *writefds, fd_set *xfds);
00012
00013 void slirp_select_poll(fd_set *readfds, fd_set *writefds, fd_set *xfds);
00014
00015 void slirp_input(const uint8_t *pkt, int pkt_len);
00016
00017
00018 int slirp_can_output(void);
00019 void slirp_output(const uint8_t *pkt, int pkt_len);
00020
00021 int slirp_redir(int is_udp, int host_port,
00022 struct in_addr guest_addr, int guest_port);
00023 int slirp_add_exec(int do_pty, const void *args, int addr_low_byte,
00024 int guest_port);
00025
00026 extern const char *tftp_prefix;
00027 extern char slirp_hostname[33];
00028
00029 void slirp_stats(void);
00030 void slirp_socket_recv(int addr_low_byte, int guest_port, const uint8_t *buf,
00031 int size);
00032 size_t slirp_socket_can_recv(int addr_low_byte, int guest_port);
00033
00034 #ifdef __cplusplus
00035 }
00036 #endif
00037
00038 #endif