Common Trace Format 2 generation
[deliverable/lttng-tools.git] / src / common / unix.hpp
diff --git a/src/common/unix.hpp b/src/common/unix.hpp
new file mode 100644 (file)
index 0000000..b662160
--- /dev/null
@@ -0,0 +1,54 @@
+/*
+ * Copyright (C) 2012 David Goulet <dgoulet@efficios.com>
+ *
+ * SPDX-License-Identifier: GPL-2.0-only
+ *
+ */
+
+#ifndef _LTTCOMM_UNIX_H
+#define _LTTCOMM_UNIX_H
+
+#include <limits.h>
+#include <sys/un.h>
+
+#include <common/compat/socket.hpp>
+#include <common/macros.hpp>
+#include <common/payload.hpp>
+#include <common/payload-view.hpp>
+
+int lttcomm_create_unix_sock(const char *pathname);
+int lttcomm_create_anon_unix_socketpair(int *fds);
+int lttcomm_connect_unix_sock(const char *pathname);
+int lttcomm_accept_unix_sock(int sock);
+int lttcomm_listen_unix_sock(int sock);
+int lttcomm_close_unix_sock(int sock);
+
+/* Send a message accompanied by fd(s) over a unix socket. */
+ssize_t lttcomm_send_fds_unix_sock(int sock, const int *fds, size_t nb_fd);
+ssize_t lttcomm_send_payload_view_fds_unix_sock(int sock,
+               struct lttng_payload_view *view);
+ssize_t lttcomm_send_fds_unix_sock_non_block(
+               int sock, const int *fds, size_t nb_fd);
+ssize_t lttcomm_send_payload_view_fds_unix_sock_non_block(int sock,
+               struct lttng_payload_view *view);
+
+/* Recv a message accompanied by fd(s) from a unix socket */
+ssize_t lttcomm_recv_fds_unix_sock(int sock, int *fds, size_t nb_fd);
+ssize_t lttcomm_recv_payload_fds_unix_sock(int sock, size_t nb_fd,
+               struct lttng_payload *payload);
+ssize_t lttcomm_recv_fds_unix_sock_non_block(int sock, int *fds, size_t nb_fd);
+ssize_t lttcomm_recv_payload_fds_unix_sock_non_block(int sock, size_t nb_fd,
+               struct lttng_payload *payload);
+
+ssize_t lttcomm_recv_unix_sock(int sock, void *buf, size_t len);
+ssize_t lttcomm_recv_unix_sock_non_block(int sock, void *buf, size_t len);
+ssize_t lttcomm_send_unix_sock(int sock, const void *buf, size_t len);
+ssize_t lttcomm_send_unix_sock_non_block(int sock, const void *buf, size_t len);
+
+ssize_t lttcomm_send_creds_unix_sock(int sock, const void *buf, size_t len);
+ssize_t lttcomm_recv_creds_unix_sock(int sock, void *buf, size_t len,
+               lttng_sock_cred *creds);
+
+int lttcomm_setsockopt_creds_unix_sock(int sock);
+
+#endif /* _LTTCOMM_UNIX_H */
This page took 0.026091 seconds and 5 git commands to generate.