diff options
Diffstat (limited to 'lib/subordinateio.h')
-rw-r--r-- | lib/subordinateio.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/lib/subordinateio.h b/lib/subordinateio.h index a21d72b8..d32733de 100644 --- a/lib/subordinateio.h +++ b/lib/subordinateio.h @@ -11,10 +11,12 @@ #include <sys/types.h> +#include "../libsubid/subid.h" + extern int sub_uid_close(void); extern bool have_sub_uids(const char *owner, uid_t start, unsigned long count); extern bool sub_uid_file_present (void); -extern bool sub_uid_assigned(const char *owner); +extern bool local_sub_uid_assigned(const char *owner); extern int sub_uid_lock (void); extern int sub_uid_setdbname (const char *filename); extern /*@observer@*/const char *sub_uid_dbname (void); @@ -23,11 +25,16 @@ extern int sub_uid_unlock (void); extern int sub_uid_add (const char *owner, uid_t start, unsigned long count); extern int sub_uid_remove (const char *owner, uid_t start, unsigned long count); extern uid_t sub_uid_find_free_range(uid_t min, uid_t max, unsigned long count); +extern int list_owner_ranges(const char *owner, enum subid_type id_type, struct subid_range **ranges); +extern bool new_subid_range(struct subordinate_range *range, enum subid_type id_type, bool reuse); +extern bool release_subid_range(struct subordinate_range *range, enum subid_type id_type); +extern int find_subid_owners(unsigned long id, enum subid_type id_type, uid_t **uids); +extern void free_subordinate_ranges(struct subordinate_range **ranges, int count); extern int sub_gid_close(void); extern bool have_sub_gids(const char *owner, gid_t start, unsigned long count); extern bool sub_gid_file_present (void); -extern bool sub_gid_assigned(const char *owner); +extern bool local_sub_gid_assigned(const char *owner); extern int sub_gid_lock (void); extern int sub_gid_setdbname (const char *filename); extern /*@observer@*/const char *sub_gid_dbname (void); |