0.7.1-alt1
[qemu] / qemu / slirp / libslirp.h
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