]>
Commit | Line | Data |
---|---|---|
1 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ | |
2 | #pragma once | |
3 | ||
4 | #include "forward.h" | |
5 | ||
6 | int getxattr_at_malloc(int fd, const char *path, const char *name, int at_flags, char **ret, size_t *ret_size); | |
7 | static inline int getxattr_malloc(const char *path, const char *name, char **ret, size_t *ret_size) { | |
8 | return getxattr_at_malloc(AT_FDCWD, path, name, AT_SYMLINK_FOLLOW, ret, ret_size); | |
9 | } | |
10 | static inline int lgetxattr_malloc(const char *path, const char *name, char **ret, size_t *ret_size) { | |
11 | return getxattr_at_malloc(AT_FDCWD, path, name, 0, ret, ret_size); | |
12 | } | |
13 | static inline int fgetxattr_malloc(int fd, const char *name, char **ret, size_t *ret_size) { | |
14 | return getxattr_at_malloc(fd, NULL, name, AT_EMPTY_PATH, ret, ret_size); | |
15 | } | |
16 | ||
17 | int getxattr_at_bool(int fd, const char *path, const char *name, int at_flags); | |
18 | int getxattr_at_strv(int fd, const char *path, const char *name, int at_flags, char ***ret_strv); | |
19 | ||
20 | int listxattr_at_malloc(int fd, const char *path, int at_flags, char **ret); | |
21 | static inline int listxattr_malloc(const char *path, char **ret) { | |
22 | return listxattr_at_malloc(AT_FDCWD, path, AT_SYMLINK_FOLLOW, ret); | |
23 | } | |
24 | static inline int llistxattr_malloc(const char *path, char **ret) { | |
25 | return listxattr_at_malloc(AT_FDCWD, path, 0, ret); | |
26 | } | |
27 | static inline int flistxattr_malloc(int fd, char **ret) { | |
28 | return listxattr_at_malloc(fd, NULL, AT_EMPTY_PATH, ret); | |
29 | } | |
30 | ||
31 | int xsetxattr_full( | |
32 | int fd, | |
33 | const char *path, | |
34 | int at_flags, | |
35 | const char *name, | |
36 | const char *value, | |
37 | size_t size, | |
38 | int xattr_flags); | |
39 | static inline int xsetxattr( | |
40 | int fd, | |
41 | const char *path, | |
42 | int at_flags, | |
43 | const char *name, | |
44 | const char *value) { | |
45 | return xsetxattr_full(fd, path, at_flags, name, value, SIZE_MAX, 0); | |
46 | } | |
47 | ||
48 | int xsetxattr_strv(int fd, const char *path, int at_flags, const char *name, char * const *l); | |
49 | ||
50 | int xremovexattr(int fd, const char *path, int at_flags, const char *name); | |
51 | ||
52 | int fd_setcrtime(int fd, usec_t usec); | |
53 | int getcrtime_at(int fd, const char *path, int at_flags, usec_t *ret); | |
54 | static inline int fd_getcrtime(int fd, usec_t *ret) { | |
55 | return getcrtime_at(fd, NULL, 0, ret); | |
56 | } |