directory-handle: make lttng_directory_handle_stat public
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 29 Jan 2020 04:37:49 +0000 (23:37 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 30 Jan 2020 06:55:34 +0000 (01:55 -0500)
Allow users of the directory handle API to perform stat() calls
relative to a directory handle (through statat() or stat(), depending
on the implementation).

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I4415da6d719999ad051678d0defd9e3edf93c19a

src/common/compat/directory-handle.c
src/common/compat/directory-handle.h

index 15ee5b5de68902cc0933209337c41dd1122df898..9548da216298ff23980e5e84dcf8cc24975c5608 100644 (file)
@@ -36,9 +36,6 @@
  * of the internal API below.
  */
 static
  * of the internal API below.
  */
 static
-int lttng_directory_handle_stat(const struct lttng_directory_handle *handle,
-               const char *path, struct stat *st);
-static
 int lttng_directory_handle_mkdir(
                const struct lttng_directory_handle *handle,
                const char *path, mode_t mode);
 int lttng_directory_handle_mkdir(
                const struct lttng_directory_handle *handle,
                const char *path, mode_t mode);
@@ -244,7 +241,7 @@ void lttng_directory_handle_invalidate(struct lttng_directory_handle *handle)
        handle->dirfd = -1;
 }
 
        handle->dirfd = -1;
 }
 
-static
+LTTNG_HIDDEN
 int lttng_directory_handle_stat(const struct lttng_directory_handle *handle,
                const char *path, struct stat *st)
 {
 int lttng_directory_handle_stat(const struct lttng_directory_handle *handle,
                const char *path, struct stat *st)
 {
@@ -602,7 +599,7 @@ void lttng_directory_handle_invalidate(struct lttng_directory_handle *handle)
        handle->base_path = NULL;
 }
 
        handle->base_path = NULL;
 }
 
-static
+LTTNG_HIDDEN
 int lttng_directory_handle_stat(const struct lttng_directory_handle *handle,
                const char *subdirectory, struct stat *st)
 {
 int lttng_directory_handle_stat(const struct lttng_directory_handle *handle,
                const char *subdirectory, struct stat *st)
 {
index 0ad5c851072ab68de75788aeeb42c657dbd19e8c..551fa50b439b84c85cc6d2bfa667943836973454 100644 (file)
@@ -18,8 +18,9 @@
 #ifndef _COMPAT_DIRECTORY_HANDLE_H
 #define _COMPAT_DIRECTORY_HANDLE_H
 
 #ifndef _COMPAT_DIRECTORY_HANDLE_H
 #define _COMPAT_DIRECTORY_HANDLE_H
 
-#include <common/macros.h>
 #include <common/credentials.h>
 #include <common/credentials.h>
+#include <common/macros.h>
+#include <sys/stat.h>
 #include <urcu/ref.h>
 
 enum lttng_directory_handle_rmdir_recursive_flags {
 #include <urcu/ref.h>
 
 enum lttng_directory_handle_rmdir_recursive_flags {
@@ -257,6 +258,15 @@ int lttng_directory_handle_remove_subdirectory_recursive_as_user(
                const struct lttng_credentials *creds,
                int flags);
 
                const struct lttng_credentials *creds,
                int flags);
 
+/*
+ * stat() a file relative to a directory handle.
+ */
+LTTNG_HIDDEN
+int lttng_directory_handle_stat(
+               const struct lttng_directory_handle *handle,
+               const char *name,
+               struct stat *stat_buf);
+
 /*
  * Compare two directory handles.
  *
 /*
  * Compare two directory handles.
  *
This page took 0.029366 seconds and 5 git commands to generate.