]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/basic/uid-range.h
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
9 typedef struct UidRangeEntry
{
13 typedef struct UidRange
{
14 UidRangeEntry
*entries
;
18 UidRange
*uid_range_free(UidRange
*range
);
19 DEFINE_TRIVIAL_CLEANUP_FUNC(UidRange
*, uid_range_free
);
21 int uid_range_add_internal(UidRange
**range
, uid_t start
, uid_t nr
, bool coalesce
);
22 static inline int uid_range_add(UidRange
**range
, uid_t start
, uid_t nr
) {
23 return uid_range_add_internal(range
, start
, nr
, true);
25 int uid_range_add_str(UidRange
**range
, const char *s
);
27 int uid_range_next_lower(const UidRange
*range
, uid_t
*uid
);
29 bool uid_range_covers(const UidRange
*range
, uid_t start
, uid_t nr
);
30 static inline bool uid_range_contains(const UidRange
*range
, uid_t uid
) {
31 return uid_range_covers(range
, uid
, 1);
34 int uid_range_load_userns(UidRange
**ret
, const char *path
);