From b211f4c17e1939f2bd00c07af2d30a8f1fec67df Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sat, 22 Feb 2014 19:38:12 +0000 Subject: * external.cc (cygwin_internal): Add cases for CW_GETNSSSEP, CW_GETPWSID and CW_GETGRSID. * grp.cc (internal_getgrsid_from_db): New function. * passwd.cc (internal_getpwsid_from_db): New function. (pg_ent::setent): Add special case for call from mkpasswd/mkgroup. * pwdgrp.h (internal_getpwsid_from_db): Declare. (internal_getgrsid_from_db): Declare. (enum nss_enum_t): Move to include/sys/cygwin.h. (class pg_ent): Add comment. * uinfo.cc (pwdgrp::fetch_account_from_windows): Fix typo in comment. Change "UNIX" to "Unix" in domain name. * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_GETNSSSEP, CW_GETPWSID and CW_GETGRSID. (enum nss_enum_t): Define here. --- winsup/cygwin/include/sys/cygwin.h | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'winsup/cygwin/include/sys/cygwin.h') diff --git a/winsup/cygwin/include/sys/cygwin.h b/winsup/cygwin/include/sys/cygwin.h index 46c3595e6..32b9172a8 100644 --- a/winsup/cygwin/include/sys/cygwin.h +++ b/winsup/cygwin/include/sys/cygwin.h @@ -146,7 +146,10 @@ typedef enum CW_FREE_DRIVE_MAP, CW_SETENT, CW_GETENT, - CW_ENDENT + CW_ENDENT, + CW_GETNSSSEP, + CW_GETPWSID, + CW_GETGRSID } cygwin_getinfo_types; #define CW_LOCK_PINFO CW_LOCK_PINFO @@ -200,6 +203,9 @@ typedef enum #define CW_SETENT CW_SETENT #define CW_GETENT CW_GETENT #define CW_ENDENT CW_ENDENT +#define CW_GETNSSSEP CW_GETNSSSEP +#define CW_GETPWSID CW_GETPWSID +#define CW_GETGRSID CW_GETGRSID /* Token type for CW_SET_EXTERNAL_TOKEN */ enum @@ -208,6 +214,20 @@ CW_TOKEN_IMPERSONATION = 0, CW_TOKEN_RESTRICTED = 1 }; +/* Enumeration source constants for CW_SETENT called from mkpasswd/mkgroup. */ +enum nss_enum_t +{ + ENUM_NONE = 0x00, + ENUM_CACHE = 0x01, + ENUM_FILES = 0x02, + ENUM_BUILTIN = 0x04, + ENUM_LOCAL = 0x08, + ENUM_PRIMARY = 0x10, + ENUM_TDOMS = 0x20, + ENUM_TDOMS_ALL = 0x40, + ENUM_ALL = 0x7f +}; + #define CW_NEXTPID 0x80000000 /* or with pid to get next one */ uintptr_t cygwin_internal (cygwin_getinfo_types, ...); -- cgit v1.2.3