X-Git-Url: http://git.tuebingen.mpg.de/?p=adu.git;a=blobdiff_plain;f=user.h;h=c561a3fe8335a90d1cc8261ba4fafa63543273a3;hp=0eba5bbdc610facd7ae85227cd09a17bc0ed0bc7;hb=4e757d60f7642c61e09a20a2a1de442b23208966;hpb=26ace9b8c1dc872e5da1b1122b45f01419761aab diff --git a/user.h b/user.h index 0eba5bb..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,19 +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 free_hash_table(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); @@ -53,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);