aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin/external.cc
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2003-11-04 15:48:19 +0000
committerCorinna Vinschen <corinna@vinschen.de>2003-11-04 15:48:19 +0000
commitbcd06214e106481e7a5e86560365cca8a3549752 (patch)
tree7c07b247d7e300e585d3f77853fdc938bfbde9e1 /winsup/cygwin/external.cc
parentc35391d0d2b0c5fd057aa1ccd4c215a0082919d5 (diff)
downloadnewlib-bcd06214e106481e7a5e86560365cca8a3549752.zip
newlib-bcd06214e106481e7a5e86560365cca8a3549752.tar.gz
newlib-bcd06214e106481e7a5e86560365cca8a3549752.tar.bz2
* external.cc (cygwin_internal): Add CW_GET_POSIX_SECURITY_ATTRIBUTE
handling. * include/cygwin/version.h: Bump API minor number. * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_GET_POSIX_SECURITY_ATTRIBUTE. * exceptions.cc (init_global_security): Move from here... * sec_helper.cc (init_global_security): ...to here.
Diffstat (limited to 'winsup/cygwin/external.cc')
-rw-r--r--winsup/cygwin/external.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/winsup/cygwin/external.cc b/winsup/cygwin/external.cc
index 114a3de..839d380 100644
--- a/winsup/cygwin/external.cc
+++ b/winsup/cygwin/external.cc
@@ -265,6 +265,15 @@ cygwin_internal (cygwin_getinfo_types t, ...)
int deferrno = va_arg (arg, int);
return geterrno_from_win_error (error, deferrno);
}
+ case CW_GET_POSIX_SECURITY_ATTRIBUTE:
+ {
+ int attribute = va_arg (arg, int);
+ PSECURITY_ATTRIBUTES psa = va_arg (arg, PSECURITY_ATTRIBUTES);
+ void *sd_buf = va_arg (arg, void *);
+ DWORD sd_buf_size = va_arg (arg, DWORD);
+ set_security_attribute (attribute, psa, sd_buf, sd_buf_size);
+ return psa->lpSecurityDescriptor ? 0 : -1;
+ }
default:
return (DWORD) -1;
}