]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/basic/xattr-util.h
man: note that templated surviving units need a drop-in for their slice
[thirdparty/systemd.git] / src / basic / xattr-util.h
CommitLineData
db9ecf05 1/* SPDX-License-Identifier: LGPL-2.1-or-later */
89a5a90c
LP
2#pragma once
3
89a5a90c 4#include <stdbool.h>
11c3a366 5#include <stddef.h>
89a5a90c
LP
6#include <sys/types.h>
7
8#include "time-util.h"
9
c53e07e2
LP
10int getxattr_at_malloc(int fd, const char *path, const char *name, int flags, char **ret);
11static inline int getxattr_malloc(const char *path, const char *name, char **ret) {
12 return getxattr_at_malloc(AT_FDCWD, path, name, AT_SYMLINK_FOLLOW, ret);
13}
14static inline int lgetxattr_malloc(const char *path, const char *name, char **ret) {
15 return getxattr_at_malloc(AT_FDCWD, path, name, 0, ret);
16}
17static inline int fgetxattr_malloc(int fd, const char *name, char **ret) {
18 return getxattr_at_malloc(fd, NULL, name, AT_EMPTY_PATH, ret);
19}
89a5a90c 20
70554f7e
LP
21int getxattr_at_bool(int fd, const char *path, const char *name, int flags);
22
89a5a90c
LP
23int fd_setcrtime(int fd, usec_t usec);
24
c53e07e2
LP
25int fd_getcrtime_at(int fd, const char *name, int flags, usec_t *ret);
26static inline int fd_getcrtime(int fd, usec_t *ret) {
27 return fd_getcrtime_at(fd, NULL, 0, ret);
28}
29
7de2d2e1 30
c53e07e2
LP
31int listxattr_at_malloc(int fd, const char *path, int flags, char **ret);
32static inline int listxattr_malloc(const char *path, char **ret) {
33 return listxattr_at_malloc(AT_FDCWD, path, AT_SYMLINK_FOLLOW, ret);
34}
35static inline int llistxattr_malloc(const char *path, char **ret) {
36 return listxattr_at_malloc(AT_FDCWD, path, 0, ret);
37}
38static inline int flistxattr_malloc(int fd, char **ret) {
39 return listxattr_at_malloc(fd, NULL, AT_EMPTY_PATH, ret);
40}
a4d2461c
DDM
41
42int xsetxattr(int fd, const char *path, const char *name, const char *value, size_t size, int flags);