]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/basic/mkdir.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
5 This file is part of systemd.
7 Copyright 2010 Lennart Poettering
8 Copyright 2013 Kay Sievers
11 #include <sys/types.h>
13 typedef enum MkdirFlags
{
14 MKDIR_FOLLOW_SYMLINK
= 1 << 0,
15 MKDIR_WARN_MODE
= 1 << 1,
18 int mkdir_errno_wrapper(const char *pathname
, mode_t mode
);
19 int mkdir_safe(const char *path
, mode_t mode
, uid_t uid
, gid_t gid
, MkdirFlags flags
);
20 int mkdir_parents(const char *path
, mode_t mode
);
21 int mkdir_p(const char *path
, mode_t mode
);
23 /* mandatory access control(MAC) versions */
24 int mkdir_safe_label(const char *path
, mode_t mode
, uid_t uid
, gid_t gid
, MkdirFlags flags
);
25 int mkdir_parents_label(const char *path
, mode_t mode
);
26 int mkdir_p_label(const char *path
, mode_t mode
);
29 typedef int (*mkdir_func_t
)(const char *pathname
, mode_t mode
);
30 int mkdir_safe_internal(const char *path
, mode_t mode
, uid_t uid
, gid_t gid
, MkdirFlags flags
, mkdir_func_t _mkdir
);
31 int mkdir_parents_internal(const char *prefix
, const char *path
, mode_t mode
, mkdir_func_t _mkdir
);
32 int mkdir_p_internal(const char *prefix
, const char *path
, mode_t mode
, mkdir_func_t _mkdir
);