X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Ffd-tracker%2Futils.h;h=9c3d48937a4bf2af8e5361dd2be8aea662a33726;hp=86af3c6e1aadf695317a082160b37dbb2fd71874;hb=c922647daed3dd022be11980063b5fb816d8c091;hpb=184597e3d22331d64e93acab4691670534f218cb diff --git a/src/common/fd-tracker/utils.h b/src/common/fd-tracker/utils.h index 86af3c6e1..9c3d48937 100644 --- a/src/common/fd-tracker/utils.h +++ b/src/common/fd-tracker/utils.h @@ -1,24 +1,16 @@ /* - * Copyright (C) 2018 - Jérémie Galarneau + * Copyright (C) 2018 Jérémie Galarneau * - * 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. + * SPDX-License-Identifier: LGPL-2.1-only * - * 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 FD_TRACKER_UTILS_H #define FD_TRACKER_UTILS_H +#include #include +#include struct lttng_poll_event; @@ -28,12 +20,30 @@ struct lttng_poll_event; */ int fd_tracker_util_close_fd(void *, int *fd); +/* + * Create a pipe and track its underlying fds. + */ +int fd_tracker_util_pipe_open_cloexec( + struct fd_tracker *tracker, const char *name, int *pipe); +int fd_tracker_util_pipe_close(struct fd_tracker *tracker, int *pipe); + /* * Create a poll event and track its underlying fd, if applicable. */ -int fd_tracker_util_poll_create(struct fd_tracker *tracker, const char *name, - struct lttng_poll_event *events, int size, int flags); -int fd_tracker_util_poll_clean(struct fd_tracker *tracker, - struct lttng_poll_event *events); +int fd_tracker_util_poll_create(struct fd_tracker *tracker, + const char *name, + struct lttng_poll_event *events, + int size, + int flags); +int fd_tracker_util_poll_clean( + struct fd_tracker *tracker, struct lttng_poll_event *events); + +struct lttng_directory_handle *fd_tracker_create_directory_handle( + struct fd_tracker *tracker, const char *path); + +struct lttng_directory_handle *fd_tracker_create_directory_handle_from_handle( + struct fd_tracker *tracker, + struct lttng_directory_handle *handle, + const char *path); #endif /* FD_TRACKER_UTILS_H */