13be6ef06SEitan Adler /* 23be6ef06SEitan Adler * This program may be freely redistributed, 33be6ef06SEitan Adler * but this entire comment MUST remain intact. 43be6ef06SEitan Adler * 53be6ef06SEitan Adler * Copyright (c) 1984, 1989, William LeFebvre, Rice University 63be6ef06SEitan Adler * Copyright (c) 1989, 1990, 1992, William LeFebvre, Northwestern University 73be6ef06SEitan Adler * Copyright (c) 2016, Randy Westlund 83be6ef06SEitan Adler */ 93be6ef06SEitan Adler #ifndef USERNAME_H 103be6ef06SEitan Adler #define USERNAME_H 113be6ef06SEitan Adler 12f6234b51SEitan Adler #include <stdbool.h> 13f6234b51SEitan Adler 14*01a55f00SEitan Adler int enter_user(int uid, char *name, bool wecare); 15*01a55f00SEitan Adler int get_user(int uid); 163be6ef06SEitan Adler void init_hash(void); 17*01a55f00SEitan Adler char *username(int uid); 18*01a55f00SEitan Adler int userid(char *username); 193be6ef06SEitan Adler 20668af25dSEitan Adler /* 21668af25dSEitan Adler * "Table_size" defines the size of the hash tables used to map uid to 22668af25dSEitan Adler * username. The number of users in /etc/passwd CANNOT be greater than 23668af25dSEitan Adler * this number. If the error message "table overflow: too many users" 24668af25dSEitan Adler * is printed by top, then "Table_size" needs to be increased. Things will 25668af25dSEitan Adler * work best if the number is a prime number that is about twice the number 26668af25dSEitan Adler * of lines in /etc/passwd. 27668af25dSEitan Adler */ 28668af25dSEitan Adler #define Table_size 20011 29668af25dSEitan Adler 303be6ef06SEitan Adler #endif /* USERNAME_H */ 31