Relicence all source and header files included in LGPL code
[lttng-tools.git] / src / common / utils.h
index b6e5c97db345769c53408e0261989c35f3d71db3..791b1098e79fefce2b72229986d564f76c652ad0 100644 (file)
@@ -1,19 +1,19 @@
 /*
  * Copyright (C) 2012 David Goulet <dgoulet@efficios.com>
  *
- * SPDX-License-Identifier: GPL-2.0-only
+ * SPDX-License-Identifier: LGPL-2.1-only
  *
  */
 
 #ifndef _COMMON_UTILS_H
 #define _COMMON_UTILS_H
 
-#include <sys/types.h>
-#include <unistd.h>
-#include <stdint.h>
 #include <getopt.h>
+#include <lttng/lttng-error.h>
 #include <stdbool.h>
+#include <stdint.h>
 #include <sys/types.h>
+#include <unistd.h>
 
 #include <common/compat/directory-handle.h>
 
 #define MEBI_LOG2 20
 #define GIBI_LOG2 30
 
-char *utils_partial_realpath(const char *path, char *resolved_path,
-               size_t size);
-char *utils_expand_path(const char *path);
-char *utils_expand_path_keep_symlink(const char *path);
 int utils_create_pipe(int *dst);
 int utils_create_pipe_cloexec(int *dst);
 int utils_create_pipe_cloexec_nonblock(int *dst);
@@ -43,7 +39,10 @@ int utils_get_count_order_u32(uint32_t x);
 int utils_get_count_order_u64(uint64_t x);
 const char *utils_get_home_dir(void);
 char *utils_get_user_home_dir(uid_t uid);
-size_t utils_get_current_time_str(const char *format, char *dst, size_t len);
+
+size_t utils_get_current_time_str(const char *format, char *dst, size_t len)
+       ATTR_FORMAT_STRFTIME(1);
+
 int utils_get_group_id(const char *name, bool warn, gid_t *gid);
 char *utils_generate_optstring(const struct option *long_options,
                size_t opt_count);
@@ -54,5 +53,20 @@ int utils_show_help(int section, const char *page_name, const char *help_msg);
 int utils_get_memory_available(size_t *value);
 int utils_get_memory_total(size_t *value);
 int utils_change_working_directory(const char *path);
+enum lttng_error_code utils_user_id_from_name(
+               const char *user_name, uid_t *user_id);
+enum lttng_error_code utils_group_id_from_name(
+               const char *group_name, gid_t *group_id);
+
+/*
+ * Parse `str` as an unsigned long long value.
+ *
+ * Return 0 on success.  Return -1 on failure which can be because:
+ *
+ * - `str` is zero length
+ * - `str` contains invalid
+ */
+int utils_parse_unsigned_long_long(const char *str,
+               unsigned long long *value);
 
 #endif /* _COMMON_UTILS_H */
This page took 0.02406 seconds and 4 git commands to generate.