]>
Commit | Line | Data |
---|---|---|
db9ecf05 | 1 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ |
89a5a90c LP |
2 | #pragma once |
3 | ||
0c15577a | 4 | #include "forward.h" |
89a5a90c | 5 | |
33cbda04 LP |
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); | |
c53e07e2 | 9 | } |
33cbda04 LP |
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); | |
c53e07e2 | 12 | } |
33cbda04 LP |
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); | |
c53e07e2 | 15 | } |
89a5a90c | 16 | |
b8df25dc | 17 | int getxattr_at_bool(int fd, const char *path, const char *name, int at_flags); |
ed024aba | 18 | int getxattr_at_strv(int fd, const char *path, const char *name, int at_flags, char ***ret_strv); |
70554f7e | 19 | |
b8df25dc | 20 | int listxattr_at_malloc(int fd, const char *path, int at_flags, char **ret); |
c53e07e2 LP |
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 | } | |
a4d2461c | 30 | |
b8df25dc MY |
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 | ||
05587cec | 48 | int xsetxattr_strv(int fd, const char *path, int at_flags, const char *name, char * const *l); |
9fbe26cf | 49 | |
b8df25dc | 50 | int xremovexattr(int fd, const char *path, int at_flags, const char *name); |
baca3581 MY |
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 | } |