diff options
Diffstat (limited to 'winsup/cygwin/external.cc')
-rw-r--r-- | winsup/cygwin/external.cc | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/winsup/cygwin/external.cc b/winsup/cygwin/external.cc index 4dc87bf80..47b18809c 100644 --- a/winsup/cygwin/external.cc +++ b/winsup/cygwin/external.cc @@ -1,7 +1,7 @@ /* external.cc: Interface to Cygwin internals from external programs. Copyright 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, - 2008, 2009, 2010, 2011, 2012 Red Hat, Inc. + 2008, 2009, 2010, 2011, 2012, 2014 Red Hat, Inc. Written by Christopher Faylor <cgf@cygnus.com> @@ -26,6 +26,7 @@ details. */ #include "child_info.h" #include "environ.h" #include "cygserver_setpwd.h" +#include "pwdgrp.h" #include <unistd.h> #include <stdlib.h> #include <wchar.h> @@ -553,6 +554,24 @@ cygwin_internal (cygwin_getinfo_types t, ...) } break; + case CW_GETPWSID: + { + va_arg (arg, int); + PSID psid = va_arg (arg, PSID); + cygpsid sid (psid); + res = (uintptr_t) internal_getpwsid (sid); + } + break; + + case CW_GETGRSID: + { + va_arg (arg, int); + PSID psid = va_arg (arg, PSID); + cygpsid sid (psid); + res = (uintptr_t) internal_getgrsid (sid); + } + break; + default: set_errno (ENOSYS); } |