]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/nspawn/nspawn-def.h
Fail on unknown (alphanumerical) specifiers
[thirdparty/systemd.git] / src / nspawn / nspawn-def.h
CommitLineData
3603efde
LP
1#pragma once
2
3/***
4 This file is part of systemd.
5
6 Copyright 2017 Lennart Poettering
7
8 systemd is free software; you can redistribute it and/or modify it
9 under the terms of the GNU Lesser General Public License as published by
10 the Free Software Foundation; either version 2.1 of the License, or
11 (at your option) any later version.
12
13 systemd is distributed in the hope that it will be useful, but
14 WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 Lesser General Public License for more details.
17
18 You should have received a copy of the GNU Lesser General Public License
19 along with systemd; If not, see <http://www.gnu.org/licenses/>.
20***/
21
22#include <sys/types.h>
23
24/* Note that devpts's gid= parameter parses GIDs as signed values, hence we stay away from the upper half of the 32bit
25 * UID range here. We leave a bit of room at the lower end and a lot of room at the upper end, so that other subsystems
26 * may have their own allocation ranges too. */
27#define UID_SHIFT_PICK_MIN ((uid_t) UINT32_C(0x00080000))
28#define UID_SHIFT_PICK_MAX ((uid_t) UINT32_C(0x6FFF0000))
29
30/* While we are chmod()ing a directory tree, we set the top-level UID base to this "busy" base, so that we can always
31 * recognize trees we are were chmod()ing recursively and got interrupted in */
32#define UID_BUSY_BASE ((uid_t) UINT32_C(0xFFFE0000))
33#define UID_BUSY_MASK ((uid_t) UINT32_C(0xFFFF0000))