1f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* headers to use the BSD sockets */
2f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#ifndef QEMU__SOCKET_H
3f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define QEMU__SOCKET_H
4f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
5f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "qemu/option.h"
6f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
7f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#include "android/sockets.h"
8f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define  socket_error()  errno
9f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#define  closesocket     socket_close
10f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
11f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* New, ipv6-ready socket helper functions, see qemu-sockets.c */
12f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgint inet_listen_opts(QemuOpts *opts, int port_offset);
13f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgint inet_listen(const char *str, char *ostr, int olen,
14f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org                int socktype, int port_offset);
15f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgint inet_connect_opts(QemuOpts *opts);
16f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgint inet_connect(const char *str, int socktype);
17f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgint inet_dgram_opts(QemuOpts *opts);
18f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgconst char *inet_strfamily(int family);
19f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
20f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgint unix_listen_opts(QemuOpts *opts);
21f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgint unix_listen(const char *path, char *ostr, int olen);
22f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgint unix_connect_opts(QemuOpts *opts);
23f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgint unix_connect(const char *path);
24f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
25f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org/* Old, ipv4 only bits.  Don't use for new code. */
26f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgint parse_host_port(SockAddress*  saddr, const char *str);
27f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgint parse_host_src_port(SockAddress*  haddr, SockAddress*  saddr,
28f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org                        const char *str);
29f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
30f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.orgvoid qemu_set_block(int fd);
31f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org
32f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org#endif /* QEMU__SOCKET_H */
33f2ba7591b1407a7ee9209f842c50696914dc2dedkbr@chromium.org