89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering#pragma once
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering/***
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering This file is part of systemd.
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering Copyright 2010 Lennart Poettering
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering systemd is free software; you can redistribute it and/or modify it
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering under the terms of the GNU Lesser General Public License as published by
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering the Free Software Foundation; either version 2.1 of the License, or
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering (at your option) any later version.
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering systemd is distributed in the hope that it will be useful, but
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering WITHOUT ANY WARRANTY; without even the implied warranty of
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering Lesser General Public License for more details.
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering You should have received a copy of the GNU Lesser General Public License
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering***/
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering#include <stdbool.h>
11c3a36649e5e5e77db499c92f3cdcbd619efd3aThomas Hindoe Paaboel Andersen#include <stddef.h>
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering#include <sys/types.h>
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering#include "time-util.h"
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poetteringint getxattr_malloc(const char *path, const char *name, char **value, bool allow_symlink);
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poetteringint fgetxattr_malloc(int fd, const char *name, char **value);
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poetteringssize_t fgetxattrat_fake(int dirfd, const char *filename, const char *attribute, void *value, size_t size, int flags);
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poetteringint fd_setcrtime(int fd, usec_t usec);
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poettering
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poetteringint fd_getcrtime(int fd, usec_t *usec);
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poetteringint path_getcrtime(const char *p, usec_t *usec);
89a5a90cb0935cdad84a0b98d41789ad879d0d83Lennart Poetteringint fd_getcrtime_at(int dirfd, const char *name, usec_t *usec, int flags);