1/* vi: set sw=4 ts=4: */ 2/* Copyright (C) 1991,92,95,96,97,98,99,2001 Free Software Foundation, Inc. 3 This file is part of the GNU C Library. 4 5 The GNU C Library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 The GNU C Library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with the GNU C Library; if not, write to the Free 17 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 18 02111-1307 USA. */ 19 20/* 21 * POSIX Standard: 9.2.2 User Database Access <pwd.h> 22 */ 23 24#ifndef BB_PWD_H 25#define BB_PWD_H 1 26 27PUSH_AND_SET_FUNCTION_VISIBILITY_TO_HIDDEN 28 29/* This file is #included after #include <pwd.h> 30 * We will use libc-defined structures, but will #define function names 31 * so that function calls are directed to bb_internal_XXX replacements 32 */ 33#undef endpwent 34#define setpwent bb_internal_setpwent 35#define endpwent bb_internal_endpwent 36#define getpwent bb_internal_getpwent 37#define getpwuid bb_internal_getpwuid 38#define getpwnam bb_internal_getpwnam 39#define getpwnam_r bb_internal_getpwnam_r 40 41/* All function names below should be remapped by #defines above 42 * in order to not collide with libc names. */ 43 44/* Rewind the password-file stream. */ 45void FAST_FUNC setpwent(void); 46 47/* Close the password-file stream. */ 48void FAST_FUNC endpwent(void); 49 50/* Read an entry from the password-file stream, opening it if necessary. */ 51struct passwd* FAST_FUNC getpwent(void); 52 53/* Search for an entry with a matching user ID. */ 54struct passwd* FAST_FUNC getpwuid(uid_t __uid); 55 56/* Search for an entry with a matching username. */ 57struct passwd* FAST_FUNC getpwnam(const char *__name); 58 59/* Reentrant versions of some of the functions above. */ 60int FAST_FUNC getpwnam_r(const char *__restrict __name, 61 struct passwd *__restrict __resultbuf, 62 char *__restrict __buffer, size_t __buflen, 63 struct passwd **__restrict __result); 64 65POP_SAVED_FUNCTION_VISIBILITY 66 67#endif 68