uid-range: tie up number and array of uid range entries
This renames UidRange -> UidRangeEntry, and reintroduces UidRange which contains the array of UidRangeEntry and its size. No fucntional changes, just refactoring.
This commit is contained in:
+20
-10
@@ -4,21 +4,31 @@
|
||||
#include <stdbool.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
typedef struct UidRange {
|
||||
#include "macro.h"
|
||||
|
||||
typedef struct UidRangeEntry {
|
||||
uid_t start, nr;
|
||||
} UidRangeEntry;
|
||||
|
||||
typedef struct UidRange {
|
||||
UidRangeEntry *entries;
|
||||
size_t n_entries;
|
||||
} UidRange;
|
||||
|
||||
int uid_range_add_internal(UidRange **p, size_t *n, uid_t start, uid_t nr, bool coalesce);
|
||||
static inline int uid_range_add(UidRange **p, size_t *n, uid_t start, uid_t nr) {
|
||||
return uid_range_add_internal(p, n, start, nr, true);
|
||||
UidRange *uid_range_free(UidRange *range);
|
||||
DEFINE_TRIVIAL_CLEANUP_FUNC(UidRange*, uid_range_free);
|
||||
|
||||
int uid_range_add_internal(UidRange **range, uid_t start, uid_t nr, bool coalesce);
|
||||
static inline int uid_range_add(UidRange **range, uid_t start, uid_t nr) {
|
||||
return uid_range_add_internal(range, start, nr, true);
|
||||
}
|
||||
int uid_range_add_str(UidRange **p, size_t *n, const char *s);
|
||||
int uid_range_add_str(UidRange **range, const char *s);
|
||||
|
||||
int uid_range_next_lower(const UidRange *p, size_t n, uid_t *uid);
|
||||
bool uid_range_covers(const UidRange *p, size_t n, uid_t start, uid_t nr);
|
||||
int uid_range_next_lower(const UidRange *range, uid_t *uid);
|
||||
|
||||
static inline bool uid_range_contains(const UidRange *p, size_t n, uid_t uid) {
|
||||
return uid_range_covers(p, n, uid, 1);
|
||||
bool uid_range_covers(const UidRange *range, uid_t start, uid_t nr);
|
||||
static inline bool uid_range_contains(const UidRange *range, uid_t uid) {
|
||||
return uid_range_covers(range, uid, 1);
|
||||
}
|
||||
|
||||
int uid_range_load_userns(UidRange **p, size_t *n, const char *path);
|
||||
int uid_range_load_userns(UidRange **ret, const char *path);
|
||||
|
||||
Reference in New Issue
Block a user