1: #ifndef _LIBSLIRP_H
2: #define _LIBSLIRP_H
3:
4: #ifdef _WIN32
5: #include <winsock2.h>
6: int inet_aton(const char *cp, struct in_addr *ia);
7: #else
8: #include <sys/select.h>
9: #include <arpa/inet.h>
10: #endif
11:
12: #ifdef __cplusplus
13: extern "C" {
14: #endif
15:
16: void slirp_init(void);
17:
18: void slirp_select_fill(int *pnfds,
19: fd_set *readfds, fd_set *writefds, fd_set *xfds);
20:
21: void slirp_select_poll(fd_set *readfds, fd_set *writefds, fd_set *xfds);
22:
23: void slirp_input(const uint8_t *pkt, int pkt_len);
24:
25: /* you must provide the following functions: */
26: int slirp_can_output(void);
27: void slirp_output(const uint8_t *pkt, int pkt_len);
28:
29: int slirp_redir(int is_udp, int host_port,
30: struct in_addr guest_addr, int guest_port);
31: int slirp_add_exec(int do_pty, const char *args, int addr_low_byte,
32: int guest_port);
33:
34: extern const char *tftp_prefix;
35:
36: #ifdef __cplusplus
37: }
38: #endif
39:
40: #endif
unix.superglobalmegacorp.com