summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/include/sys
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2014-02-22 19:38:12 +0000
committerCorinna Vinschen <corinna@vinschen.de>2014-02-22 19:38:12 +0000
commitb211f4c17e1939f2bd00c07af2d30a8f1fec67df (patch)
tree3975b6ccdeeb0a623059395d88c26c5d827d38a7 /winsup/cygwin/include/sys
parent98cc373860377673c6634edcb529b21e10807618 (diff)
downloadcygnal-b211f4c17e1939f2bd00c07af2d30a8f1fec67df.tar.gz
cygnal-b211f4c17e1939f2bd00c07af2d30a8f1fec67df.tar.bz2
cygnal-b211f4c17e1939f2bd00c07af2d30a8f1fec67df.zip
* 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.
Diffstat (limited to 'winsup/cygwin/include/sys')
-rw-r--r--winsup/cygwin/include/sys/cygwin.h22
1 files changed, 21 insertions, 1 deletions
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, ...);