summaryrefslogtreecommitdiffstats
path: root/src/shared/libosmocore/include/osmocom/core/socket.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/shared/libosmocore/include/osmocom/core/socket.h')
-rw-r--r--src/shared/libosmocore/include/osmocom/core/socket.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/shared/libosmocore/include/osmocom/core/socket.h b/src/shared/libosmocore/include/osmocom/core/socket.h
new file mode 100644
index 00000000..f15a03a9
--- /dev/null
+++ b/src/shared/libosmocore/include/osmocom/core/socket.h
@@ -0,0 +1,35 @@
+#ifndef _OSMOCORE_SOCKET_H
+#define _OSMOCORE_SOCKET_H
+
+/*! \defgroup socket Socket convenience functions
+ * @{
+ */
+
+/*! \file socket.h
+ * \brief Osmocom socket convenience functions
+ */
+
+#include <stdint.h>
+
+struct sockaddr;
+struct osmo_fd;
+
+/* 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, unsigned int flags);
+
+int osmo_sock_init_ofd(struct osmo_fd *ofd, int family, int type, int proto,
+ const char *host, uint16_t port, unsigned int flags);
+
+int osmo_sock_init_sa(struct sockaddr *ss, uint16_t type,
+ uint8_t proto, unsigned int flags);
+
+int osmo_sockaddr_is_local(struct sockaddr *addr, unsigned int addrlen);
+
+/*! @} */
+
+#endif /* _OSMOCORE_SOCKET_H */