9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering#ifndef foosdpathhfoo
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering#define foosdpathhfoo
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering/***
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering This file is part of systemd.
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering Copyright 2014 Lennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering systemd is free software; you can redistribute it and/or modify it
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering under the terms of the GNU Lesser General Public License as published by
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering the Free Software Foundation; either version 2.1 of the License, or
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering (at your option) any later version.
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering systemd is distributed in the hope that it will be useful, but
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering WITHOUT ANY WARRANTY; without even the implied warranty of
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering Lesser General Public License for more details.
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering You should have received a copy of the GNU Lesser General Public License
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering***/
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering#include <inttypes.h>
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
04c0136989b7eb896bfb0fb176e11233d69e1453Lennart Poettering#include "_sd-common.h"
04c0136989b7eb896bfb0fb176e11233d69e1453Lennart Poettering
04c0136989b7eb896bfb0fb176e11233d69e1453Lennart Poettering_SD_BEGIN_DECLARATIONS;
04c0136989b7eb896bfb0fb176e11233d69e1453Lennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poetteringenum {
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering /* Temporary files */
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_TEMPORARY = 0x0ULL,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_TEMPORARY_LARGE,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering /* Vendor supplied data */
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_BINARIES,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_INCLUDE,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_LIBRARY_PRIVATE,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_LIBRARY_ARCH,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_SHARED,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_CONFIGURATION_FACTORY,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_STATE_FACTORY,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering /* System configuration, runtime, state, ... */
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_CONFIGURATION,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_RUNTIME,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_RUNTIME_LOGS,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_STATE_PRIVATE,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_STATE_LOGS,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_STATE_CACHE,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SYSTEM_STATE_SPOOL,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering /* Vendor supplied data */
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_BINARIES,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_LIBRARY_PRIVATE,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_LIBRARY_ARCH,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_SHARED,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering /* User configuration, state, runtime ... */
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_CONFIGURATION, /* takes both actual configuration (like /etc) and state (like /var/lib) */
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_RUNTIME,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_STATE_CACHE,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering /* User resources */
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER, /* $HOME itself */
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_DOCUMENTS,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_MUSIC,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_PICTURES,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_VIDEOS,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_DOWNLOAD,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_PUBLIC,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_TEMPLATES,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_USER_DESKTOP,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering /* Search paths */
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SEARCH_BINARIES,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SEARCH_LIBRARY_PRIVATE,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SEARCH_LIBRARY_ARCH,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SEARCH_SHARED,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SEARCH_CONFIGURATION_FACTORY,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SEARCH_STATE_FACTORY,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering SD_PATH_SEARCH_CONFIGURATION,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering _SD_PATH_MAX,
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering};
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poetteringint sd_path_home(uint64_t type, const char *suffix, char **path);
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poetteringint sd_path_search(uint64_t type, const char *suffix, char ***paths);
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering
04c0136989b7eb896bfb0fb176e11233d69e1453Lennart Poettering_SD_END_DECLARATIONS;
04c0136989b7eb896bfb0fb176e11233d69e1453Lennart Poettering
9a00f57a5ba7ed431e6bac8d8b36518708503b4eLennart Poettering#endif