diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2007-01-17 19:26:58 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2007-01-17 19:26:58 +0000 |
commit | 96d7dee2f0ae6f69124d2cd2f495e93135dbb741 (patch) | |
tree | d08fe91a382b48eb6fb11e3559a6466c5cd53c16 /winsup/cygwin/wincap.cc | |
parent | 12ffdde350a85a5bbdfac74dad9a3732ca136088 (diff) | |
download | cygnal-96d7dee2f0ae6f69124d2cd2f495e93135dbb741.tar.gz cygnal-96d7dee2f0ae6f69124d2cd2f495e93135dbb741.tar.bz2 cygnal-96d7dee2f0ae6f69124d2cd2f495e93135dbb741.zip |
* Makefile.in (DLL_OFILES): Add fhandler_procnet.o.
* autoload.cc (GetAdaptersAddresses): Define.
* devices.h (FH_PROCNET): Define new device.
* devices.in (dev_procnet_storage): Add "/proc/net" entry.
* devices.cc: Regenerate.
* dir.cc (readdir_worker): Use isproc_dev macro.
* dtable.cc (build_fh_pc): Add FH_PROCNET.
* fhandler.h (class fhandler_procnet): New class.
* fhandler_proc.cc: Add "net" subdirectory handling.
* fhandler_procnet.cc: New file handling "/proc/net" directory.
* path.cc (isvirtual_dev): Move to path.h.
* path.h (isproc_dev): New macro to identify /proc files by device.
(isvirtual_dev): Moved here. Define using isproc_dev.
* syscalls.cc (unlink): Use isproc_dev macro.
* wincap.h (wincapc::has_gaa_prefixes): New element.
(wincapc::has_gaa_on_link_prefix): New element.
* wincap.cc: Implement above elements throughout.
(wincapc::init): Check XP for service pack and set has_gaa_prefixes
appropriately.
* include/cygwin/in6.h: Include asm/byteorder.h.
Diffstat (limited to 'winsup/cygwin/wincap.cc')
-rw-r--r-- | winsup/cygwin/wincap.cc | 32 |
1 files changed, 30 insertions, 2 deletions
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc index 730263415..d9aa59093 100644 --- a/winsup/cygwin/wincap.cc +++ b/winsup/cygwin/wincap.cc @@ -1,7 +1,7 @@ /* wincap.cc -- figure out on which OS we're running. Set the capability class to the appropriate values. - Copyright 2001, 2002, 2003, 2004, 2005, 2006 Red Hat, Inc. + Copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007 Red Hat, Inc. This file is part of Cygwin. @@ -72,6 +72,8 @@ static NO_COPY wincaps wincap_unknown = { needs_logon_sid_in_sid_list:false, needs_count_in_si_lpres2:false, has_recycle_dot_bin:false, + has_gaa_prefixes:false, + has_gaa_on_link_prefix:false, }; static NO_COPY wincaps wincap_95 = { @@ -135,6 +137,8 @@ static NO_COPY wincaps wincap_95 = { needs_logon_sid_in_sid_list:false, needs_count_in_si_lpres2:false, has_recycle_dot_bin:false, + has_gaa_prefixes:false, + has_gaa_on_link_prefix:false, }; static NO_COPY wincaps wincap_95osr2 = { @@ -198,6 +202,8 @@ static NO_COPY wincaps wincap_95osr2 = { needs_logon_sid_in_sid_list:false, needs_count_in_si_lpres2:false, has_recycle_dot_bin:false, + has_gaa_prefixes:false, + has_gaa_on_link_prefix:false, }; static NO_COPY wincaps wincap_98 = { @@ -261,6 +267,8 @@ static NO_COPY wincaps wincap_98 = { needs_logon_sid_in_sid_list:false, needs_count_in_si_lpres2:false, has_recycle_dot_bin:false, + has_gaa_prefixes:false, + has_gaa_on_link_prefix:false, }; static NO_COPY wincaps wincap_98se = { @@ -324,6 +332,8 @@ static NO_COPY wincaps wincap_98se = { needs_logon_sid_in_sid_list:false, needs_count_in_si_lpres2:false, has_recycle_dot_bin:false, + has_gaa_prefixes:false, + has_gaa_on_link_prefix:false, }; static NO_COPY wincaps wincap_me = { @@ -387,6 +397,8 @@ static NO_COPY wincaps wincap_me = { needs_logon_sid_in_sid_list:false, needs_count_in_si_lpres2:false, has_recycle_dot_bin:false, + has_gaa_prefixes:false, + has_gaa_on_link_prefix:false, }; static NO_COPY wincaps wincap_nt3 = { @@ -450,6 +462,8 @@ static NO_COPY wincaps wincap_nt3 = { needs_logon_sid_in_sid_list:true, needs_count_in_si_lpres2:false, has_recycle_dot_bin:false, + has_gaa_prefixes:false, + has_gaa_on_link_prefix:false, }; static NO_COPY wincaps wincap_nt4 = { @@ -513,6 +527,8 @@ static NO_COPY wincaps wincap_nt4 = { needs_logon_sid_in_sid_list:true, needs_count_in_si_lpres2:false, has_recycle_dot_bin:false, + has_gaa_prefixes:false, + has_gaa_on_link_prefix:false, }; static NO_COPY wincaps wincap_nt4sp4 = { @@ -576,6 +592,8 @@ static NO_COPY wincaps wincap_nt4sp4 = { needs_logon_sid_in_sid_list:true, needs_count_in_si_lpres2:false, has_recycle_dot_bin:false, + has_gaa_prefixes:false, + has_gaa_on_link_prefix:false, }; static NO_COPY wincaps wincap_2000 = { @@ -639,6 +657,8 @@ static NO_COPY wincaps wincap_2000 = { needs_logon_sid_in_sid_list:true, needs_count_in_si_lpres2:false, has_recycle_dot_bin:false, + has_gaa_prefixes:false, + has_gaa_on_link_prefix:false, }; static NO_COPY wincaps wincap_xp = { @@ -702,6 +722,8 @@ static NO_COPY wincaps wincap_xp = { needs_logon_sid_in_sid_list:false, needs_count_in_si_lpres2:false, has_recycle_dot_bin:false, + has_gaa_prefixes:false, + has_gaa_on_link_prefix:false, }; static NO_COPY wincaps wincap_2003 = { @@ -765,6 +787,8 @@ static NO_COPY wincaps wincap_2003 = { needs_logon_sid_in_sid_list:false, needs_count_in_si_lpres2:false, has_recycle_dot_bin:false, + has_gaa_prefixes:true, + has_gaa_on_link_prefix:false, }; static NO_COPY wincaps wincap_vista = { @@ -773,7 +797,7 @@ static NO_COPY wincaps wincap_vista = { heapslop:0x4, shared:FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, is_winnt:true, - is_server:true, + is_server:false, access_denied_on_delete:false, has_delete_on_close:true, has_page_guard:true, @@ -828,6 +852,8 @@ static NO_COPY wincaps wincap_vista = { needs_logon_sid_in_sid_list:false, needs_count_in_si_lpres2:true, has_recycle_dot_bin:true, + has_gaa_prefixes:true, + has_gaa_on_link_prefix:true, }; wincapc wincap __attribute__((section (".cygwin_dll_common"), shared)); @@ -877,6 +903,8 @@ wincapc::init () case 1: caps = &wincap_xp; + if (strcmp (version.szCSDVersion, "Service Pack 1") >= 0) + ((wincaps *)this->caps)->has_gaa_prefixes = true; break; default: |