Statistics
| Branch: | Revision:

root / slirp / libslirp.h @ 460fec67

History | View | Annotate | Download (1.7 kB)

1
#ifndef _LIBSLIRP_H
2
#define _LIBSLIRP_H
3

    
4
#include <qemu-common.h>
5

    
6
#ifdef CONFIG_SLIRP
7

    
8
struct Slirp;
9
typedef struct Slirp Slirp;
10

    
11
void slirp_init(int restricted, struct in_addr vnetwork,
12
                struct in_addr vnetmask, struct in_addr vhost,
13
                const char *vhostname, const char *tftp_path,
14
                const char *bootfile, struct in_addr vdhcp_start,
15
                struct in_addr vnameserver);
16

    
17
void slirp_select_fill(int *pnfds,
18
                       fd_set *readfds, fd_set *writefds, fd_set *xfds);
19

    
20
void slirp_select_poll(fd_set *readfds, fd_set *writefds, fd_set *xfds,
21
                       int select_error);
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_add_hostfwd(int is_udp, struct in_addr host_addr, int host_port,
30
                      struct in_addr guest_addr, int guest_port);
31
int slirp_remove_hostfwd(int is_udp, struct in_addr host_addr, int host_port);
32
int slirp_add_exec(int do_pty, const void *args, struct in_addr guest_addr,
33
                   int guest_port);
34

    
35
void slirp_connection_info(Monitor *mon);
36

    
37
void slirp_socket_recv(struct in_addr guest_addr, int guest_port,
38
                       const uint8_t *buf, int size);
39
size_t slirp_socket_can_recv(struct in_addr guest_addr, int guest_port);
40

    
41
#else /* !CONFIG_SLIRP */
42

    
43
static inline void slirp_select_fill(int *pnfds, fd_set *readfds,
44
                                     fd_set *writefds, fd_set *xfds) { }
45

    
46
static inline void slirp_select_poll(fd_set *readfds, fd_set *writefds,
47
                                     fd_set *xfds, int select_error) { }
48
#endif /* !CONFIG_SLIRP */
49

    
50
#endif