X-Git-Url: http://git.tuebingen.mpg.de/?a=blobdiff_plain;f=user.h;h=c64983e251c6aa4fec56016f0f42c6dccfa0e367;hb=c7d5ddb6906ab8a18181fee29ac78d604db5fdb9;hp=d31702328efd18d9e16e807e332c799e476ac157;hpb=097617e14184af884c2839dd9b82c26aee5d7316;p=adu.git diff --git a/user.h b/user.h index d317023..c64983e 100644 --- a/user.h +++ b/user.h @@ -1,3 +1,11 @@ +/* + * Copyright (C) 2008 Andre Noll + * + * Licensed under the GPL v2. For licencing details see COPYING. + */ + +/** \file user.h \brief User structures and exported symbols from user.c. */ + /** The columns of the id table. */ enum user_table_columns { /** The numer of the directory. */ @@ -20,12 +28,6 @@ struct user_info { char *pw_name; /** The user table of this user.*/ struct osl_table *table; - /** Total number of files owned by this user. */ - uint64_t files; - /** Total number of bytes owned by this user. */ - uint64_t bytes; - /** Total number of directories that contain at least one file */ - uint64_t dirs; /** The description of the user table. */ struct osl_table_description *desc; }; @@ -33,17 +35,17 @@ struct user_info { /** An opaque struct that contains info about which users are admissible. */ struct uid_range; -int create_user_table(uint32_t uid, struct user_info **ui_ptr); -int read_uid_file(void); -int write_uid_file(void); +int create_user_table(const char *dirname, uint32_t uid, + struct user_info **ui_ptr); +int read_uid_file(const char *dirname); +int write_uid_file(const char *dirname); void create_hash_table(unsigned bits); -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); 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); +int open_admissible_user_tables(const char *dirname, + struct uid_range *admissible_uids);