summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@gnumonks.org>2011-06-09 15:04:30 +0200
committerPablo Neira Ayuso <pablo@gnumonks.org>2011-06-13 19:15:59 +0200
commit0849c9af2a5637da5ce24118e2f4b9ab9da9c6d9 (patch)
treebe1811304975dcd416bba82217e4dbf3e9456957 /include
parent139e12782c5cbbcb31ac89a1c59d8d5b4215ebf5 (diff)
socket: add OSMO_SOCK_F_[CONNECT|BIND|NON_BLOCK] flags
This extends the socket infrastructure in libosmocore to allow to create non-blocking sockets. Basically, it replaces the connect0_bind1 parameter by one flags parameter.
Diffstat (limited to 'include')
-rw-r--r--include/osmocom/core/socket.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/include/osmocom/core/socket.h b/include/osmocom/core/socket.h
index b2601c76..612b12c8 100644
--- a/include/osmocom/core/socket.h
+++ b/include/osmocom/core/socket.h
@@ -5,14 +5,19 @@
struct sockaddr;
+/* flags for osmo_sock_init. */
+#define OSMO_SOCK_F_CONNECT (1 << 0)
+#define OSMO_SOCK_F_BIND (1 << 1)
+#define OSMO_SOCK_F_NONBLOCK (1 << 2)
+
int osmo_sock_init(uint16_t family, uint16_t type, uint8_t proto,
- const char *host, uint16_t port, int connect0_bind1);
+ const char *host, uint16_t port, unsigned int flags);
int osmo_sock_init_ofd(struct osmo_fd *ofd, int family, int type, int proto,
- const char *host, uint16_t port, int connect0_bind1);
+ const char *host, uint16_t port, unsigned int flags);
int osmo_sock_init_sa(struct sockaddr *ss, uint16_t type,
- uint8_t proto, int connect0_bind1);
+ uint8_t proto, unsigned int flags);
/* determine if the given address is a local address */
int osmo_sockaddr_is_local(struct sockaddr *addr, unsigned int addrlen);