OSDN Git Service

* autoload.cc (WSAIoctl): Define.
[pf3gnuchains/pf3gnuchains3x.git] / winsup / cygwin / ChangeLog
1 2007-01-21  Corinna Vinschen  <corinna@vinschen.de>
2
3         * autoload.cc (WSAIoctl): Define.
4         (SendARP): Define.
5         * cygwin.din: Export if_freenameindex, if_indextoname, if_nameindex and
6         if_nametoindex.
7         * fhandler_procnet.cc: Drop including wchar.h.  Drop definitions of
8         GAA_FLAG_INCLUDE_ALL_INTERFACES, IP_ADAPTER_UNICAST_ADDRESS_VISTA.
9         (fhandler_procnet::exists): Check for has_gaa_prefixes.  Call
10         get_adapters_addresses here.
11         (fhandler_procnet::readdir): Ditto.
12         (prefix): Move to net.cc.
13         (fhandler_procnet::fill_filebuf): Call get_adapters_addresses here.
14         Simplify allocation.  Use AdapterName rather than FriendlyName as
15         interface name.  Use IfIndex if available, Ipv6IfIndex otherwise.
16         (in6_are_prefix_equal): Move to net.cc.
17         * fhandler_socket.cc: Define old SIOCGxxx values.
18         (CONV_OLD_TO_NEW_SIO): Convert old SIOCGxxx value to new one.
19         (struct __old_ifreq): Define old struct ifreq.
20         (fhandler_socket::ioctl): Handle old SIOCGxxx values.  Handle new
21         SIOCGIFFRNDLYNAM command.  Simplify copying ifreq data to user space.
22         Call get_ifconf with additional SOCKET parameter.
23         * net.cc (IP_ADAPTER_UNICAST_ADDRESS_LH): Define.
24         (IP_ADAPTER_ADDRESSES_LH): Define.
25         (SIO_GET_INTERFACE_LIST): Define.
26         (sockaddr_in6_old): Define.
27         (sockaddr_gen): Define.
28         (INTERFACE_INFO): Define.
29         (IN_LOOPBACK): Define.
30         (in_are_prefix_equal): New static function.
31         (ip_addr_prefix): New function, replaces prefix function, add AF_INET
32         handling.
33         (GAA_FLAG_INCLUDE_ALL_INTERFACES): Define.
34         (get_adapters_addresses): New function.
35         (WS_IFF_xxx): Define Winsock interface flag values.
36         (convert_ifr_flags): New function to convert Winsock interface flag
37         values to Cygwin interface flag values.
38         (get_xp_ifconf): New get_ifconf implementation for XP SP1 and above.
39         (get_2k_ifconf): Fix interface index.  Fix formatting.
40         (get_nt_ifconf): Fix formatting.
41         (get_95_ifconf): Ditto.
42         (get_ifconf): Take additional SOCKET parameter.  Call get_xp_ifconf
43         on XP SP1 and above.
44         (if_nametoindex): New function.
45         (if_indextoname): New function.
46         (if_nameindex): New function.
47         (if_freenameindex): New function.
48         (in6_are_prefix_equal): Moved here from fhandler_procnet.cc.
49         * wincap.cc (wincap_xp): Define has_gaa_prefixes as true by default.
50         (wincapc::init): Assume has_osversioninfoex by default.  Call
51         GetVersionEx with OSVERSIONINFOEX first.  Call with OSVERSIONINFO only
52         if that fails.  Simplify NT4 case and try to avoid strcmp.  Check XP
53         Service Pack using version.wServicePackMajor to avoid strcmp.
54         * include/asm/socket.h (SIOCGIFFRNDLYNAM): Define.
55         * include/cygwin/if.h: Fix formatting.
56         (IFF_POINTTOPOINT): Define.
57         (IFF_NOARP): Define.
58         (IFF_LOWER_UP): Define.
59         (IFF_DORMANT): Define.
60         (struct if_nameindex): Define.
61         (IFRF_FRIENDLYNAMESIZ): Define.
62         (struct ifreq_frndlyname): Define.
63         (IFNAMSIZ): Redefine as 44.
64         (IF_NAMESIZE): Define.
65         (struct ifreq): Redefine ifru_flags as int.  Define ifru_data.  Pad size
66         to sizeof sockaddr_in6 for further extensions.
67         (ifr_data): Define.
68         (ifr_frndlyname): Define.
69         (if_nametoindex): Declare.
70         (if_indextoname): Declare.
71         (if_nameindex): Declare.
72         (if_freenameindex): Declare.
73         * include/cygwin/version.h: Bump API minor number.
74         (CYGWIN_VERSION_CHECK_FOR_OLD_IFREQ): Define check for old vs. new
75         ifreq structure.
76
77 2007-01-18  Corinna Vinschen  <corinna@vinschen.de>
78
79         * spawn.cc (spawn_guts): Don't set cwd for non-Cygwin child processes
80         on NT to allow starting them in virtual directories.
81
82 2007-01-18  Corinna Vinschen  <corinna@vinschen.de>
83
84         * mmap.cc (list::hash): Fix type to __ino64_t.
85         (list::get_hash): Ditto.
86         (list::set): Add struct stat parameter.  Use that instead of calling
87         fstat.
88         (map::get_list_by_fd): Ditto.
89         (map::add_list): Ditto.
90         (mmap_is_attached_or_noreserve): Call get_list_by_fd appropriately.
91         (mmap_worker): Add pameters for map list and file stat information.
92         Propagate to called functions.
93         (mmap64): Use fstat on files early.  Replace call to GetFileSize.
94         Call get_list_by_fd and mmap_worker appropriately.
95
96 2007-01-18  Corinna Vinschen  <corinna@vinschen.de>
97
98         * fhandler_procnet.cc: Drop declaration of htonl and ntohs.  Include
99         asm/byteorder.h instead.
100
101 2007-01-18  Corinna Vinschen  <corinna@vinschen.de>
102
103         * include/cygwin/in6.h: Drop inclusion of asm/byteorder.h.
104         * fhandler_procnet.cc: Declare htonl and ntohs here.
105
106 2007-01-17  Corinna Vinschen  <corinna@vinschen.de>
107
108         * Makefile.in (DLL_OFILES): Add fhandler_procnet.o.
109         * autoload.cc (GetAdaptersAddresses): Define.
110         * devices.h (FH_PROCNET): Define new device.
111         * devices.in (dev_procnet_storage): Add "/proc/net" entry.
112         * devices.cc: Regenerate.
113         * dir.cc (readdir_worker): Use isproc_dev macro.
114         * dtable.cc (build_fh_pc): Add FH_PROCNET.
115         * fhandler.h (class fhandler_procnet): New class.
116         * fhandler_proc.cc: Add "net" subdirectory handling.
117         * fhandler_procnet.cc: New file handling "/proc/net" directory.
118         * path.cc (isvirtual_dev): Move to path.h.
119         * path.h (isproc_dev): New macro to identify /proc files by device.
120         (isvirtual_dev): Moved here.  Define using isproc_dev.
121         * syscalls.cc (unlink): Use isproc_dev macro.
122         * wincap.h (wincapc::has_gaa_prefixes): New element.
123         (wincapc::has_gaa_on_link_prefix): New element.
124         * wincap.cc: Implement above elements throughout.
125         (wincapc::init): Check XP for service pack and set has_gaa_prefixes
126         appropriately.
127         * include/cygwin/in6.h: Include asm/byteorder.h.
128
129 2007-01-17  Corinna Vinschen  <corinna@vinschen.de>
130
131         * include/asm/socket.h (SIOGIFINDEX): Define.
132
133 2007-01-17  Corinna Vinschen  <corinna@vinschen.de>
134
135         * mmap.cc (MapView9x): Note possible uselessness of retrying.
136         (MapViewNT): Ditto.
137         (mmap64): Fix pre-reservation to work for non NULL, non MAP_FIXED.
138
139 2007-01-16  Corinna Vinschen  <corinna@vinschen.de>
140
141         * autoload.cc (RtlAnsiStringToUnicodeString): Define.
142         (RtlOemStringToUnicodeString): Define.
143         * ntdll.h (struct _RTL_USER_PROCESS_PARAMETERS): Define.
144         (struct _PEB): Redefine with a bit of content.
145         (RtlAnsiStringToUnicodeString): Declare.
146         (RtlOemStringToUnicodeString): Declare.
147         * path.cc: Include ntdll.h.
148         (_upp): New global variable pointing to user process parameter block.
149         (get_user_proc_parms): New static function to retrieve user process
150         parameter block.
151         (close_user_proc_parms_cwd_handle): New function to close handle to
152         current working directory in user process parameter block.
153         (cwdstuff::init): Drop redundant declaration of dynamically_loaded.
154         Set current dir only on 9x.  Call close_user_proc_parms_cwd_handle
155         on NT instead.
156         (cwdstuff::keep_in_sync): Only on 9x.
157         (cwdstuff::set): Keep behaviour on 9x.  On NT write cwd path into user
158         process parameter block and set cwd handle to NULL.  Fix comments to
159         reflect new behaviour.
160
161 2007-01-16  Corinna Vinschen  <corinna@vinschen.de>
162
163         * fhandler_socket.cc (fhandler_socket::ioctl): Handle SIOCGIFINDEX.
164         * net.cc (get_2k_ifconf): Ditto.
165         (get_nt_ifconf): Fake SIOCGIFINDEX.
166         (get_95_ifconf): Ditto.
167         (get_ifconf): Handle SIOCGIFINDEX.  Fake it for loopback on systems
168         not supporting IP Helper Lib.
169         * include/asm/socket.h (SIOCGIFINDEX): Define.
170         * include/cygwin/if.h (struct ifreq): Add member for interface index.
171         (ifr_ifindex): Define.
172
173 2007-01-16  Corinna Vinschen  <corinna@vinschen.de>
174
175         * include/cygwin/in6.h (struct ipv6_mreq): Change type of interface
176         member to uint32_t.
177         (struct in6_pktinfo): Ditto.
178
179 2007-01-16  Corinna Vinschen  <corinna@vinschen.de>
180
181         * include/cygwin/in.h (struct ip_mreq_source): Define.
182         (struct ip_msfilter): Define.
183         (IP_MSFILTER_SIZE): Define.
184         (struct in_pktinfo): Define.
185         (struct group_req): Define.
186         (struct group_source_req): Define.
187         (struct group_filter): Define.
188         (GROUP_FILTER_SIZE): Define.
189         (INADDR_ALLRTRS_GROUP): Define.
190         * include/cygwin/socket.h: Define protocol agnostic multicast options.
191
192 2007-01-15  Corinna Vinschen  <corinna@vinschen.de>
193
194         * CYGWIN_LICENSE: Fix web pages and contact information.
195
196 2007-01-15  Corinna Vinschen  <corinna@vinschen.de>
197
198         * ntdll.h: Adjust status definitions.
199
200 2007-01-15  Corinna Vinschen  <corinna@vinschen.de>
201
202         * cygheap.cc (cygheap_init): Add TODO comment.
203
204 2007-01-15  Corinna Vinschen  <corinna@vinschen.de>
205
206         * ntdll.h (STATUS_SHARING_VIOLATION): Define.
207
208 2007-01-13  Corinna Vinschen  <corinna@vinschen.de>
209
210         * syscalls.cc (unlink_nt): Don't move files to recycle bin which are
211         not in use.
212
213 2007-01-13  Christopher Faylor  <me@cgf.cx>
214
215         * glob.cc: Update copyright notice with latest from FreeBSD.
216         (glob0): Use correct type for c variable to propagate previously
217         detected protection.
218
219 2007-01-12  Corinna Vinschen  <corinna@vinschen.de>
220
221         * cygheap.cc (_csbrk): Fix off-by-one error.
222         * cygwin.sc: Give .cygheap a minimum size of 512K.
223
224 2007-01-12  Christopher Faylor  <me@cgf.cx>
225
226         * external.cc (sync_winenv): Use cur_environ () rather than
227         __cygwin_environ.
228
229 2007-01-12  Corinna Vinschen  <corinna@vinschen.de>
230
231         * fork.cc (child_copy): Add missing Windows PID in debug output.
232
233 2007-01-12  Corinna Vinschen  <corinna@vinschen.de>
234
235         * syscalls.cc: Update copyright.
236
237 2007-01-10  Corinna Vinschen  <corinna@vinschen.de>
238
239         * mmap.cc (mmap64): Pre-Reserve space for the whole mapping to get a
240         useful, valid address before the actual mappings take place.
241         Fix typo in comment.
242
243 2007-01-10  Corinna Vinschen  <corinna@vinschen.de>
244
245         * syscalls.cc (sync): Use b_drive for B: drive (Thanks to Howard Chu).
246
247 2007-01-09  Corinna Vinschen  <corinna@vinschen.de>
248
249         * syscalls.cc (getpagesize): Change condition for clarity.
250         (getsystempagesize): Ditto.
251
252 2007-01-09  Corinna Vinschen  <corinna@vinschen.de>
253
254         * mmap.cc: Do bookkeeping in 4K pages, rather than in 64K chunks.
255
256 2007-01-07  Corinna Vinschen  <corinna@vinschen.de>
257
258         * security.h (setacl): Add parameter for writability flag.
259         * sec_acl.cc (setacl): Ditto.  Set to true if any ACE with write
260         permissions is created.
261         * fhandler_disk_file.cc (fhandler_disk_file::facl): Reset
262         FILE_ATTRIBUTE_READONLY if ACL contains an ACE with write permissions.
263
264 2007-01-05  Corinna Vinschen  <corinna@vinschen.de>
265
266         * include/strings.h: Don't include string.h.  Only declare functions
267         according to SUSv3.
268
269 2007-01-04  Corinna Vinschen  <corinna@vinschen.de>
270
271         (get_ifconf): Set MTU for loopback to more correct value.
272
273 2007-01-04  Corinna Vinschen  <corinna@vinschen.de>
274
275         * fhandler_socket.cc (fhandler_socket::ioctl): Don't fake results
276         for SIOCGIFFLAGS here.  Call get_ifconf instead.
277         * net.cc (get_2k_ifconf): Clean up code to generate interface name.
278         Handle SIOCGIFFLAGS here.
279         (get_nt_ifconf): Fake SIOCGIFFLAGS here.
280         (get_95_ifconf): Ditto.
281         (get_ifconf): Don't fake loopback on systems with IP Helper Lib.
282         Set MTU for loopback to a more "modern" value.
283
284 2007-01-04  Brian Ford  <Brian.Ford@FlightSafety.com>
285             Corinna Vinschen  <corinna@vinschen.de>
286
287         * fhandler.h (PREFERRED_IO_BLKSIZE): Define as 64K.
288         * fhandler.cc (fhandler_base::fstat): Set st_blksize to
289         PREFERRED_IO_BLKSIZE.
290         * fhandler_disk_file.cc (fhandler_base::fstat_helper): Ditto.
291         * fhandler_mailslot.cc (fhandler_mailslot::fstat): Ditto.
292         * fhandler_raw.cc (fhandler_dev_raw::fstat): Ditto.
293
294 2007-01-01  Christopher Faylor  <me@cgf.cx>
295
296         * spawn.cc (spawn_guts): Don't expect synchronization from a non-cygwin
297         _P_NOWAIT process.