X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fsessiond-comm%2Funix.h;fp=src%2Fcommon%2Fsessiond-comm%2Funix.h;h=19b91ce40e0dcb689529e886f6737ac9664b8fe8;hp=0000000000000000000000000000000000000000;hb=0d37f2bce95a09b86a1afde525c429d0ae7d19e9;hpb=ceed52b545103258e84f1c7040700be9dbbbaec6 diff --git a/src/common/sessiond-comm/unix.h b/src/common/sessiond-comm/unix.h new file mode 100644 index 000000000..19b91ce40 --- /dev/null +++ b/src/common/sessiond-comm/unix.h @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2012 - David Goulet + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License, version 2 only, as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along with + * this program; if not, write to the Free Software Foundation, Inc., 51 + * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + */ + +#ifndef _LTTCOMM_UNIX_H +#define _LTTCOMM_UNIX_H + +#define _GNU_SOURCE +#include +#include + +#include + +#include "sessiond-comm.h" + +extern int lttcomm_create_unix_sock(const char *pathname); +extern int lttcomm_connect_unix_sock(const char *pathname); +extern int lttcomm_accept_unix_sock(int sock); +extern int lttcomm_listen_unix_sock(int sock); +extern int lttcomm_close_unix_sock(int sock); + +/* Send a message accompanied by fd(s) over a unix socket. */ +extern ssize_t lttcomm_send_fds_unix_sock(int sock, int *fds, size_t nb_fd); +/* Recv a message accompanied by fd(s) from a unix socket */ +extern ssize_t lttcomm_recv_fds_unix_sock(int sock, int *fds, size_t nb_fd); + +extern ssize_t lttcomm_recv_unix_sock(int sock, void *buf, size_t len); +extern ssize_t lttcomm_send_unix_sock(int sock, void *buf, size_t len); + +extern ssize_t lttcomm_send_creds_unix_sock(int sock, void *buf, size_t len); +extern ssize_t lttcomm_recv_creds_unix_sock(int sock, void *buf, size_t len, + lttng_sock_cred *creds); + +extern int lttcomm_setsockopt_creds_unix_sock(int sock); + +#endif /* _LTTCOMM_UNIX_H */