X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=user.h;h=c561a3fe8335a90d1cc8261ba4fafa63543273a3;hb=f638c88fad8a1350cf56d5f60ddef297ece92805;hp=31f3a62155f7f6d0d1ab44ad088fed413ded3053;hpb=d2766d0ff7604df7308a10e4fa4272f4d8a06e87;p=adu.git diff --git a/user.h b/user.h index 31f3a62..c561a3f 100644 --- a/user.h +++ b/user.h @@ -1,3 +1,9 @@ +/* + * Copyright (C) 2008 Andre Noll + * + * Licensed under the GPL v2. For licencing details see COPYING. + */ + /** The columns of the id table. */ enum user_table_columns { /** The numer of the directory. */ @@ -33,18 +39,12 @@ struct user_info { /** An opaque struct that contains info about which users are admissible. */ struct uid_range; -enum search_uid_flags { - OPEN_USER_TABLE = 1, - CREATE_USER_TABLE = 2, -}; -int search_uid(uint32_t uid, struct uid_range *urs, - enum search_uid_flags flags, struct user_info **ui_ptr); - -int read_uid_file(struct uid_range *admissible_uids); +int create_user_table(uint32_t uid, struct user_info **ui_ptr); +int read_uid_file(void); int write_uid_file(void); void create_hash_table(unsigned bits); -void sort_hash_table(int (*comp)(const void *, const void *)); +void sort_hash_table(int (*comp)(struct user_info *, struct user_info *)); int for_each_admissible_user(int (*func)(struct user_info *, void *), void *data); @@ -52,3 +52,4 @@ int parse_uid_arg(const char *orig_arg, struct uid_range **ur); int append_users(char **users, int num_users, struct uid_range **admissible_uids, int num_uid_ranges); void close_user_tables(void); +int open_admissible_user_tables(struct uid_range *admissible_uids);