root / slirp / libslirp.h @ 64e58fe5
History | View | Annotate | Download (2 kB)
1 | f0cbd3ec | bellard | #ifndef _LIBSLIRP_H
|
---|---|---|---|
2 | f0cbd3ec | bellard | #define _LIBSLIRP_H
|
3 | f0cbd3ec | bellard | |
4 | 6dbe553f | Jan Kiszka | #include <qemu-common.h> |
5 | 6dbe553f | Jan Kiszka | |
6 | d918f23e | Jan Kiszka | #ifdef CONFIG_SLIRP
|
7 | d918f23e | Jan Kiszka | |
8 | 460fec67 | Jan Kiszka | struct Slirp;
|
9 | 460fec67 | Jan Kiszka | typedef struct Slirp Slirp; |
10 | 460fec67 | Jan Kiszka | |
11 | df7a86ed | Ed Swierk | int get_dns_addr(struct in_addr *pdns_addr); |
12 | df7a86ed | Ed Swierk | |
13 | 9f8bd042 | Jan Kiszka | Slirp *slirp_init(int restricted, struct in_addr vnetwork, |
14 | 9f8bd042 | Jan Kiszka | struct in_addr vnetmask, struct in_addr vhost, |
15 | 9f8bd042 | Jan Kiszka | const char *vhostname, const char *tftp_path, |
16 | 9f8bd042 | Jan Kiszka | const char *bootfile, struct in_addr vdhcp_start, |
17 | 9f8bd042 | Jan Kiszka | struct in_addr vnameserver, void *opaque); |
18 | ad0d8c4c | Jan Kiszka | void slirp_cleanup(Slirp *slirp);
|
19 | f0cbd3ec | bellard | |
20 | 5fafdf24 | ths | void slirp_select_fill(int *pnfds, |
21 | f0cbd3ec | bellard | fd_set *readfds, fd_set *writefds, fd_set *xfds); |
22 | f0cbd3ec | bellard | |
23 | d918f23e | Jan Kiszka | void slirp_select_poll(fd_set *readfds, fd_set *writefds, fd_set *xfds,
|
24 | d918f23e | Jan Kiszka | int select_error);
|
25 | f0cbd3ec | bellard | |
26 | 9f8bd042 | Jan Kiszka | void slirp_input(Slirp *slirp, const uint8_t *pkt, int pkt_len); |
27 | f0cbd3ec | bellard | |
28 | f0cbd3ec | bellard | /* you must provide the following functions: */
|
29 | 9f8bd042 | Jan Kiszka | int slirp_can_output(void *opaque); |
30 | 9f8bd042 | Jan Kiszka | void slirp_output(void *opaque, const uint8_t *pkt, int pkt_len); |
31 | f0cbd3ec | bellard | |
32 | 9f8bd042 | Jan Kiszka | int slirp_add_hostfwd(Slirp *slirp, int is_udp, |
33 | 9f8bd042 | Jan Kiszka | struct in_addr host_addr, int host_port, |
34 | c92ef6a2 | Jan Kiszka | struct in_addr guest_addr, int guest_port); |
35 | 9f8bd042 | Jan Kiszka | int slirp_remove_hostfwd(Slirp *slirp, int is_udp, |
36 | 9f8bd042 | Jan Kiszka | struct in_addr host_addr, int host_port); |
37 | 9f8bd042 | Jan Kiszka | int slirp_add_exec(Slirp *slirp, int do_pty, const void *args, |
38 | bb53fc53 | Jan Kiszka | struct in_addr *guest_addr, int guest_port); |
39 | 9bf05444 | bellard | |
40 | 9f8bd042 | Jan Kiszka | void slirp_connection_info(Slirp *slirp, Monitor *mon);
|
41 | 6dbe553f | Jan Kiszka | |
42 | 9f8bd042 | Jan Kiszka | void slirp_socket_recv(Slirp *slirp, struct in_addr guest_addr, |
43 | 9f8bd042 | Jan Kiszka | int guest_port, const uint8_t *buf, int size); |
44 | 9f8bd042 | Jan Kiszka | size_t slirp_socket_can_recv(Slirp *slirp, struct in_addr guest_addr,
|
45 | 9f8bd042 | Jan Kiszka | int guest_port);
|
46 | 31a60e22 | blueswir1 | |
47 | d918f23e | Jan Kiszka | #else /* !CONFIG_SLIRP */ |
48 | d918f23e | Jan Kiszka | |
49 | d918f23e | Jan Kiszka | static inline void slirp_select_fill(int *pnfds, fd_set *readfds, |
50 | d918f23e | Jan Kiszka | fd_set *writefds, fd_set *xfds) { } |
51 | d918f23e | Jan Kiszka | |
52 | d918f23e | Jan Kiszka | static inline void slirp_select_poll(fd_set *readfds, fd_set *writefds, |
53 | d918f23e | Jan Kiszka | fd_set *xfds, int select_error) { }
|
54 | d918f23e | Jan Kiszka | #endif /* !CONFIG_SLIRP */ |
55 | d918f23e | Jan Kiszka | |
56 | f0cbd3ec | bellard | #endif |