00001 /* 00002 Unix SMB/CIFS implementation. 00003 Samba utility functions 00004 Copyright (C) Simo Sorce 2001 00005 00006 This program is free software; you can redistribute it and/or modify 00007 it under the terms of the GNU General Public License as published by 00008 the Free Software Foundation; either version 2 of the License, or 00009 (at your option) any later version. 00010 00011 This program is distributed in the hope that it will be useful, 00012 but WITHOUT ANY WARRANTY; without even the implied warranty of 00013 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00014 GNU General Public License for more details. 00015 00016 You should have received a copy of the GNU General Public License 00017 along with this program; if not, write to the Free Software 00018 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00019 */ 00020 00021 #ifndef _UTIL_GETENT_H 00022 #define _UTIL_GETENT_H 00023 00024 /* Element for a single linked list of group entries */ 00025 /* Replace the use of struct group in some cases */ 00026 /* Used by getgrent_list() */ 00027 00028 struct sys_grent { 00029 char *gr_name; 00030 char *gr_passwd; 00031 gid_t gr_gid; 00032 char **gr_mem; 00033 struct sys_grent *next; 00034 }; 00035 00036 /* Element for a single linked list of passwd entries */ 00037 /* Replace the use of struct passwd in some cases */ 00038 /* Used by getpwent_list() */ 00039 00040 struct sys_pwent { 00041 char *pw_name; 00042 char *pw_passwd; 00043 uid_t pw_uid; 00044 gid_t pw_gid; 00045 char *pw_gecos; 00046 char *pw_dir; 00047 char *pw_shell; 00048 struct sys_pwent *next; 00049 }; 00050 00051 /* Element for a single linked list of user names in a group. */ 00052 /* Used to return group lists that may span multiple lines in 00053 /etc/group file. */ 00054 /* Used by get_users_in_group() */ 00055 00056 struct sys_userlist { 00057 struct sys_userlist *next, *prev; 00058 char *unix_name; 00059 }; 00060 00061 #endif /* _UTIL_GETENT_H */