diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2013-04-24 10:16:13 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2013-04-24 10:16:13 +0000 |
commit | 9ecd475cd871bd06b930849b05f5c773d4a7e5ce (patch) | |
tree | 7220dbff1b6129514d80bfa4e262a03f65d5d68a /winsup/cygwin/globals.cc | |
parent | bd91f4a96a8bc21bd501a92965b350756d9e3b28 (diff) | |
download | cygnal-9ecd475cd871bd06b930849b05f5c773d4a7e5ce.tar.gz cygnal-9ecd475cd871bd06b930849b05f5c773d4a7e5ce.tar.bz2 cygnal-9ecd475cd871bd06b930849b05f5c773d4a7e5ce.zip |
* autoload.cc (CreateSymbolicLink): Define.
* environ.cc (set_winsymlinks): Set allow_winsymlinks.
(parse_thing): Change "winsymlinks" to set by function.
* globals.cc (enum winsym_t): Define.
(allow_winsymlinks): Define as winsym_t.
(ro_u_afs): New R/O Unicode string.
* mount.cc (fs_info::update): Fix comment. Handle AFS.
(fs_names): Add "afs".
* mount.h (enum fs_info_type): Add afs.
(class fs_info): Implement afs.
* path.cc (symlink): Drop third parameter in call to symlink_worker.
(symlink_nfs): New function.
(symlink_native): New function.
(symlink_worker): Drop third argument. Handle native symlink type by
calling symlink_native. Move code to handle NFS to symlink_nfs. Fix
formatting. Slightly restructure code.
* path.h (class path_conv): Add fs_is_afs method.
(symlink_worker): Declare here.
* security.h: Define privilege constants as unsigned int instead of as
unsigned long.
* syscalls.cc (mknod_worker): Set third parameter in symlink_worker
call to WSYM_lnk.
* winsup.h (symlink_worker): Drop declaration here.
Diffstat (limited to 'winsup/cygwin/globals.cc')
-rw-r--r-- | winsup/cygwin/globals.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/winsup/cygwin/globals.cc b/winsup/cygwin/globals.cc index d7d278fca..887326156 100644 --- a/winsup/cygwin/globals.cc +++ b/winsup/cygwin/globals.cc @@ -49,6 +49,16 @@ enum exit_states ES_FINAL }; +/* The type of symlink to create. The value is set depending on the + "winsymlinks" setting of the CYGWIN environment variable. */ +enum winsym_t +{ + WSYM_sysfile = 0, + WSYM_lnk, + WSYM_native, + WSYM_nfs +}; + exit_states NO_COPY exit_state; /* Set in init.cc. Used to check if Cygwin DLL is dynamically loaded. */ @@ -58,7 +68,7 @@ int NO_COPY dynamically_loaded; bool allow_glob = true; bool ignore_case_with_glob = false; bool dos_file_warning = true; -bool allow_winsymlinks = false; +winsym_t allow_winsymlinks = WSYM_sysfile; bool reset_com = false; bool pipe_byte = false; bool detect_bloda = false; @@ -124,6 +134,7 @@ extern "C" { extern UNICODE_STRING _RDATA ro_u_unixfs = _ROU (L"UNIXFS"); extern UNICODE_STRING _RDATA ro_u_nwfs = _ROU (L"NWFS"); extern UNICODE_STRING _RDATA ro_u_ncfsd = _ROU (L"NcFsd"); + extern UNICODE_STRING _RDATA ro_u_afs = _ROU (L"AFSRDRFsd"); extern UNICODE_STRING _RDATA ro_u_volume = _ROU (L"\\??\\Volume{"); extern UNICODE_STRING _RDATA ro_u_pipedir = _ROU (L"\\\\?\\PIPE\\"); extern UNICODE_STRING _RDATA ro_u_globalroot = _ROU (L"\\\\.\\GLOBALROOT"); |