unified MX27, MX25, MX37 trees
[karo-tx-redboot.git] / packages / io / fileio / v2_0 / ChangeLog
1 2008-04-02 Xinghua Yang <yxinghua@sunnorth.com.cn>
2            Andrew Lunn <andrew.lunn@ascom.ch>
3
4         * cdl/fileio.cdl: Use CYGPKG_FILEIO_DIRENT_DTYPE to enable/disable
5         d_type field of struct dirent.
6         * include/dirent.h: Add a d_type field to struct dirent, in order to
7         distinguish file type directly without calling stat.
8         * doc/fileio.sgml: Documentation about this new member and the fact
9         it is not portable.
10
11 2007-08-17 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
12
13         tests/fnmatch.c (main): Fix cut/paste error in final pass/fail
14         report.
15         
16 2007-06-12  Andrew Lunn  <andrew.lunn@ascom.ch>
17
18         * src/misc.cxx (cyg_mtab_extra): Only create the array if it has more
19         than 0 entries.
20
21 2007-01-27  Andrew Lunn  <andrew.lunn@ascom.ch>
22
23         * tests/fnmatch.c: Test case for fnmatch.
24
25 2007-01-24  Peter Korsgaard  <peter.korsgaard@barco.com>
26
27         * cdl/fileio.cdl:
28         * src/fnmatch.c:
29         * include/fnmatch.h: Added fnmatch() implementation (from NetBSD).
30
31 2006-05-18  Paul Fine  <pfine@dtccom.com>
32
33         * include/fileio.h : Added a key and a structure to extract the
34         disk size and the available free space for a filesystem using
35         the cyg_fs_getinfo() interface.
36
37 2006-05-17  Andy Jackson <andy@grapevinetech.co.uk>
38         
39         * tests/fileio1.c: Compiler warning fixes.
40         * tests/testfs.c:  Compiler warning fixes.
41
42 2006-02-16  Peter Korsgaard  <jacmet@sunsite.dk>
43
44         * src/misc.cxx (cyg_mtab_lookup): Corrected implementation for
45         relative paths crossing mount points.
46         * tests/fileio1.c (cyg_user_start): Add a test for the above fix.
47
48 2005-10-20  Andrew Lunn  <andrew.lunn@ascom.ch>
49
50         * src/select.cxx: Needs sys/time.h for struct timeval.
51
52 2005-08-02  Andrew Lunn  <andrew.lunn@ascom.ch>
53
54         * tests/socket.c (SHOW_RESULT): Add a cast to avoid compiler
55         warnings about the format string not matching the parameters.
56         * tests/testfs.c: rename strcmp and strcpy to mystrcmp and
57         mystrcpy to avoid clashes with the normal implementations.
58         
59 2005-05-13  Peter Korsgaard  <jacmet@sunsite.dk>
60
61         * src/devfs.cxx (dev_stat, dev_fo_fstat): Corrected mode for block
62         devices, made nlink 1.
63         * src/devfs.cxx (dev_fo_fstat): Set st_dev to zero to match dev_stat.
64
65 2005-05-26  Gary Thomas  <gary@mlbassoc.com>
66
67         * tests/socket.c: Fix config test (CYGPKG_POSIX_SIGNALS)
68         
69         * tests/pselect.c: Fix config test (CYGPKG_POSIX_SIGNALS is
70         only defined in <pkgconf/posix.h>)  Also, reduce number of
71         iterations so test completes in a reasonable time (~30 seconds).
72
73 2005-03-27  Andrew Lunn  <andrew.lunn@ascom.ch>
74
75         * tests/testfs.c: Fixed compiler warnigs for passing wrong types
76         to diag_printf.
77         * tests/fileio1.c: Ditto
78         * tests/select.c: Ditto
79
80
81 2005-02-24  Andrew Lunn  <andrew.lunn@ascom.ch>
82
83         * include/fileio.h: Only include kapi.h when
84         CYGFUN_IO_FILEIO_SELECT is enabled and then define the select
85         support structures.
86
87 2005-01-27  Yoshinori Sato  <ysato@users.sourceforge.jp>
88
89         * src/io.cxx (ioctl): Change ioctl to use varargs so that it works
90         on with h8300 who's compiler does not like doing it the other way.
91         
92 2005-01-22  Andrew Lunn  <andrew.lunn@ascom.ch>
93
94         * src/misc.cxx (cyg_fs_root_lookup): New function to find the mount
95         point of a give filesystems root directory.
96         * src/fio.h:
97         * include/fileio.h: Made cyg_fs_{un}lock accessible outside of the 
98         fileio package.
99
100 2004-01-22  Andrew Lunn  <andrew.lunn@ascom.ch>
101
102         * 
103 2004-12-15  Andrew Lunn  <andrew.lunn@ascom.ch>
104
105         * src/select.cxx (cyg_pselect): We need the oldmask under all
106         conditions.
107
108 2004-12-01  Alex Paulis and Cameron Taylor  <ctaylor@waverider.com>
109
110         * include/fileio.h: Changed si_thread to si_waitFlag
111         * src/select.cxx: Improved efficiency: 1. Only threads waiting
112         on a selector are woken up in selwake. This is done by swapping
113         the condition variable for an event flag and registering threads
114         for wakeup in selrecord. 2. No mutex is now required. 3. Search
115         through the FD mask much streamlined.
116  
117 2004-11-17  Jani Monoses <jani@iv.ro>
118
119         * tests/socket.c: Allow building without kernel config.
120         
121 2004-11-14  Andrew Lunn  <andrew.lunn@ascom.ch>
122
123         * tests/fileio1.c: Start the test using cyg_user_start so that
124         it can be used without the kernel.      
125         * tests/testfs.c (testfs_time): If we don't have a kernel return 0
126         as the time rather than the current time.
127
128 2004-11-14  Jani Monoses <jani@iv.ro>
129
130         * src/devfs.cxx: Removed unneeded header files so the package can
131         be compiled without the kernel.
132
133 2004-10-13  David Brennan  <eCos@brennanhome.com>
134
135         * include/fileio.h: 
136         * src/file.cxx: Added support for cyg_fs_fssync,
137         cyg_fs_get_attrib, and cyg_fs_set_attrib
138
139 2004-10-13  David Brennan  <eCos@brennanhome.com>
140
141         * src/file.cxx: Added a check data ptr in LOCK_FS
142
143 2004-10-06  David Brennan  <eCos@brennanhome.com>
144
145         * tests/pselect.c: Added check for POSIX signals while building
146         the test case.
147         * tests/select.c: Include sys/select.h to prevent a possible warning.
148         
149 2004-10-01  Oyvind Harboe  <oyvind.harboe@zylin.com>
150
151         * src/select.cxx: place the CYGBLD_ATTRIB_INIT_PRI such that it
152         compiles for gcc 3.4.2 which is more picky about its placement.
153         
154 2004-07-23 Oyvind Harboe <oyvind.harboe@zylin.com>
155
156         * src/select.cxx: now correctly returns from select() on
157         e.g. closed file pointers.
158
159 2004-04-15  Jonathan Larmour  <jifl@eCosCentric.com>
160
161         * tests/fileio1.c: include stdio.h for rename() prototype.
162
163 2004-04-07  Andrew Lunn  <andrew.lunn@ascom.ch>
164
165         * src/fd.cxx: Fix the assert just added. 0 is a valid fd.
166
167 2004-03-25  Sebastien Couret  <sebastien.couret@elios-informatique.fr>
168
169         * src/fd.cxx: Added CYG_ASSERT bound checking for file descriptor
170         numbers (0<fd<CYGNUM_FILEIO_NFD).
171
172 2004-03-12  Jonathan Larmour  <jifl@eCosCentric.com>
173
174         * src/fio.h: If no POSIX then CYG_FILEIO_DELIVER_SIGNALS
175         and CYG_FILEIO_SIGMASK_SET call CYG_UNUSED_PARAM on their
176         arguments to silence warnings.
177         * src/file.cxx (rename): Use a throw specifier to match
178         prototype.
179
180 2004-02-16  Andrew Lunn  <andrew.lunn@ascom.ch>
181
182         * src/io.cxx (readwritev): For EWOULDBLOCK and EAGAIN return
183         the number of bytes written if any have been written.
184
185 2004-01-07  Jonathan Larmour  <jifl@eCosCentric.com>
186
187         * src/select.cxx: No need to make pselect() dependent on
188         CYGPKG_POSIX - that would depend on the arguments. Assert instead,
189         and more correctly make it contingent on CYGPKG_POSIX_SIGNALS.
190
191         * src/fio.h: Separate out signal functionality into its own separate
192         test.
193
194 2003-12-21  Sandeep Kumar <sandeep@codito.com>
195
196         * src/dir.cxx (readdir_r): Handle NULL dirp argument and return
197         EBADF
198
199 2003-12-03  Dan Jakubiec  <djakubiec@yahoo.com>
200
201         * src/select.cxx (pselect): Fixed the pselect() call to correctly
202         handle NULL timeout arguments.  The previous implementation would
203         cause a random timeout value to be used.
204
205 2003-11-28  David Woodhouse  <dwmw2@redhat.com>
206
207         * include/fileio.h, include/sockio.h, src/dir.cxx, src/fd.cxx,
208         src/io.cxx: Don't include kernel headers if no kernel support.
209
210 2003-10-23  Savin Zlobec  <savin@elatec.si>
211
212         * src/io.cxx: Added cyg_fs_fsetinfo and cyg_fs_fgetinfo functions.
213         
214         * src/file.cxx: Added cyg_fs_setinfo and cyg_fs_getinfo functions.
215         
216         * include/fileio.h: Added cyg_fs_fsetinfo, cyg_fs_fgetinfo,
217         cyg_fs_setinfo and cyg_fs_getinfo function prototypes.
218
219 2003-10-16  Andrew Lunn  <andrew.lunn@ascom.ch>
220
221         * src/socket.cxx (bind): Pass a copy of the socket address so the
222         stack can modify it without changing the users copy. Bug found by
223         reji@codito.com.
224
225 2003-10-06  Andrew Lunn  <andrew.lunn@ascom.ch>
226
227         * src/fio.h (CYG_FILEIO_SIGMASK_SET): Fixed a compiler warning
228         about an unused variable.
229
230 2003-09-22 Eric Doenges <Eric.Doenges@DynaPel.com>
231         * src/devfs.cxx: prototype of dev_fo_select now matches
232         implementation
233         * include/fileio.h: changed definition of cyg_fileop_select to
234         return a cyg_bool instead of int to match current implementations
235         * src/misc.cxx: changed cyg_fileio_seltrue() to match prototype.
236
237 2003-07-11  Andrew Lunn  <andrew.lunn@ascom.ch>
238
239         * src/socket.cxx (socket): If there are no network stacks configured
240         return EAFNOSUPPORT when opening a socket.
241
242 2003-04-11  Jonathan Larmour  <jifl@eCosCentric.com>
243
244         * src/socket.cxx: Give nstab_lock mutex a priority. Also it's
245         local, so make static.
246         Change nstab and nstab_end to cyg_nstab and cyg_nstab_end for
247         cleaner namespace.
248         * include/sockio.h: nstab -> cyg_nstab.
249         * src/misc.cxx, src/dir.cxx, src/fio.h, src/file.cxx: Change
250         fstab, fstab_end, mtab, mtab_end, cdir_dir, cdir_mtab_entry to
251         have cyg_ prefix for cleaner namespace.
252
253 2003-03-20  Gary Thomas  <gary@mlbassoc.com>
254
255         * src/devfs.cxx: Remove unnecessary checks for -EAGAIN (should
256         no longer happen in lower layers).
257
258 2003-03-08  Jonathan Larmour  <jifl@eCosCentric.com>
259
260         * tests/pselect.c (pthread_entry1): Allow for infrequent but
261         occasional off by one error due to race condition when
262         signalling.
263
264 2003-02-24  Jonathan Larmour  <jifl@eCosCentric.com>
265
266         * cdl/fileio.cdl: Add doc link.
267
268 2003-02-20  Bart Veer  <bartv@ecoscentric.com>
269
270         * cdl/fileio.cdl: identify test binaries, not test sources
271
272 2003-01-30  Andrew Lunn  <andrew.lunn@ascom.ch>
273
274         * cdl/fileio.cdl: Added interface CYGINT_IO_FILEIO_FS which any
275         FS which FILEIO can use should implement. 
276
277 2003-01-23  Gary Thomas  <gary@mlbassoc.com>
278
279         * src/misc.cxx (cyg_mtab_lookup): Return an error if the current
280         directory is not known - happens if no file systems are mounted.
281
282 2002-11-10  Nick Garnett  <nickg@ecoscentric.com>
283
284         * src/fio.h: Added macros to deal with signal handling. These will
285         call into the POSIX package if it is present, but are null if it
286         is not.
287
288         * src/select.cxx: Renamed original select() to cyg_pselect() and
289         added select() and pselect() routine from POSIX-200X to call
290         it. Reorganized code a little and added calls to macros to deal
291         with signal delivery and detection.
292
293         * cdl/fileio.cdl: 
294         * tests/pselect.c: New test added to verify the signal masking and
295         delivery behaviour of pselect().
296
297         * tests/select.c: Fixed up some printfs to make it a little tidier.
298
299 2002-11-03  Gary Thomas  <gthomas@ecoscentric.com>
300
301         * src/io.cxx: 
302         * cdl/fileio.cdl: Add readv()/writev() support.
303
304 2002-08-08  Nick Garnett  <nickg@calivar.demon.co.uk>
305
306         * src/select.cxx (select): Changed mechanism for calculating
307         select timeout to avoid possible race conditions between this code
308         and the timer DSR.
309
310 2002-05-29  Jesper Skov  <jskov@redhat.com>
311
312         * tests/fileio1.c: Removed strcat definition. Rely on string.h to
313         provide it.
314
315 2002-05-28  Jonathan Larmour  <jlarmour@redhat.com>
316
317         * include/limits.h (NAME_MAX): Increase default to 64.
318         * cdl/fileio.cdl: Set CYGBLD_ISO_NAME_MAX_HEADER.
319
320 2002-04-11  Nick Garnett  <nickg@redhat.com>
321
322         * doc/fileio.sgml: Added a section on writing a new
323         filesystem. This probably still needs more work, but it's better
324         than nothing.
325
326 2002-04-05  Nick Garnett  <nickg@redhat.com>
327
328         * src/devfs.cxx: Changed test for EAGAIN in dev_fo_read() and
329         dev_fo_write() to negate value first. 
330
331 2002-03-07  Nick Garnett  <nickg@redhat.com>
332
333         * doc/fileio.sgml: Added this file to contain documentation on
334         this package.
335
336 2002-02-04  Gary Thomas  <gthomas@redhat.com>
337
338         * tests/socket.c (main): 
339         * tests/select.c (main): sin_len field must be set.
340
341 2002-01-29  Jonathan Larmour  <jlarmour@redhat.com>
342
343         * cdl/fileio.cdl: Actually, don't bother to build testfs.c at all.
344
345 2002-01-29  Jesper Skov  <jskov@redhat.com>
346
347         * cdl/fileio.cdl: Added CYGPKG_FILEIO_BUILD_TESTS option and made
348         building of testfs dependant on it.
349
350 2002-01-25  Jonathan Larmour  <jlarmour@redhat.com>
351
352         * include/inode.h: New API defining a common generic inode type.
353         * src/inocache.cxx: Implement the inode cache functions.
354         * cdl/fileio.cdl: (Configurably) build it.
355
356 2002-01-23  David Woodhouse  <dwmw2@redhat.com>
357 2002-01-23  Jonathan Larmour  <jlarmour@redhat.com>
358
359         * cdl/fileio.cdl: Remove select compilation and support to new
360         CYGFUN_IO_FILEIO_SELECT option conditional on the kernel
361         Ditto for DEVS and CYGPKG_IO_FILEIO_DEVFS_SUPPORT.
362         Make CYGPKG_IO_FILEIO_SOCKET_SUPPORT also conditional on kernel.
363         * src/fio.h: Define FILEIO_MUTEX_LOCK() and FILEIO_MUTEX_UNLOCK()
364         so that code doesn't need to care whether the kernel is included or
365         not.
366         * src/fd.cxx: Conditionalize mutex usage throughout on CYGPKG_KERNEL,
367         and FILEIO_MUTEX_LOCK()/UNLOCK().
368         * src/file.cxx: Ditto.
369         * src/misc.cxx: Ditto.
370         (cyg_timestamp): Only use Cyg_Clock implementation if CYGPKG_KERNEL.
371
372 2002-01-23  Jonathan Larmour  <jlarmour@redhat.com>
373
374         * src/misc.cxx: Initialize fileio_initializer at prio CYG_INIT_IO_FS
375         so it happens after the devices it depends on.
376         * src/file.cxx (getcwd_lock): Ditto.
377         * src/select.cxx (select_mutex): ditto.
378         (selwait): ditto.
379         * src/fd.cxx (fdlock): ditto
380         (file_lock): ditto.
381         * src/dir.cxx (readdir): Use FILEIO_RETURN_VALUE on exit.
382         (readdir_r): Ditto.
383         * src/devfs.cxx (dev_stat): Don't use handle for st_dev - it will
384         probably be truncated.
385
386 2002-01-04  Wade Jensen <Wade_Jensen@inter-tel.com>
387 2002-01-04  Jonathan Larmour  <jlarmour@redhat.com>
388
389         * src/socket.cxx (recvfrom): Set msg.msg_namelen correctly for
390         NULL fromlen.
391
392 2001-12-28  Gary Thomas  <gthomas@redhat.com>
393
394         * src/io.cxx (readwrite): Add missing check for return (errors).
395
396 2001-11-29  Jonathan Larmour  <jlarmour@redhat.com>
397
398         * src/file.cxx (chdir): Don't detach from current dir if unset.
399
400 2001-11-02  Felix Wong  <felixwong@i-technologies.cc>
401 2001-11-02  Jonathan Larmour  <jlarmour@redhat.com>
402
403         * src/devfs.cxx (dev_fo_read): Support block devices.
404         (dev_fo_write): Ditto.
405
406 2001-10-09  Jonathan Larmour  <jlarmour@redhat.com>
407
408         * src/fio.h: Make cancellation point dependand on
409         CYGINT_ISO_PTHREAD_IMPL from <pkgconf/isoinfra.h> really.
410         * tests/select.c: Ditto.
411
412 2001-10-09  Jesper Skov  <jskov@redhat.com>
413
414         * tests/select.c: Do NA check for posix threads.
415
416         * src/fio.h: Make cancellation point dependant on
417         CYGPKG_POSIX_PTHREAD as in the POSIX package.
418
419 2001-07-26  Jonathan Larmour  <jlarmour@redhat.com>
420
421         * cdl/fileio.cdl: Implements select().
422         * src/select.cxx: Include <sys/select.h> from isoinfra.
423
424 2001-07-19  Jonathan Larmour  <jlarmour@redhat.com>
425
426         * src/devfs.cxx (dev_fo_read): Treat non-blocking reads returning
427         EAGAIN correctly
428         (dev_fo_write): Ditto for writes.
429
430 2001-06-14  Jonathan Larmour  <jlarmour@redhat.com>
431
432         * src/fio.h (FILEIO_ENTRY): Don't use CYG_MACRO_START/END around
433         tracing macros.
434         Reported by Richard Panton.
435
436 2001-06-11  Jonathan Larmour  <jlarmour@redhat.com>
437
438         * src/socket.cxx (cyg_sock_unlock): Fix cyg_file_lock->cyg_file_unlock
439         thinko.
440
441 2001-03-15  Gary Thomas  <gthomas@redhat.com>
442
443         * src/file.cxx (open): Check for required/valid open mode.
444
445 2001-03-14  Jonathan Larmour  <jlarmour@redhat.com>
446
447         * src/misc.cxx (cyg_mtab_lookup): check valid mtab entry
448         (umount): ditto.
449
450 2001-03-14   Martin van Veen  <martin_van_veen@yahoo.com>
451
452         * src/misc.cxx (mount): Return error if mount fails.
453
454 2001-03-12  Gary Thomas  <gthomas@redhat.com>
455
456         * src/misc.cxx (mount): Do implicit 'chdir()' in the
457         absence of any statically mounted file systems.
458         (cyg_fs_lock, cyg_fs_unlock): Add assertions.
459
460         * src/file.cxx (LOCK_FS):
461         * src/dir.cxx (LOCK_FS): Add assertions on 'mte'.
462
463 2001-01-05  Nick Garnett  <nickg@cygnus.co.uk>
464
465         * tests/socket.c (main):
466         Added call to init_all_network_interfaces().
467
468 2000-12-15  Nick Garnett  <nickg@cygnus.co.uk>
469
470         * src/misc.cxx: Fixed some bugs in initialization of timestamp
471         function when Wallclock and POSIX packages are absent.
472
473 2000-11-01  Jonathan Larmour  <jlarmour@redhat.com>
474
475         * src/io.cxx (readwrite): Ensure we call FILEIO_RETURN_VALUE() to
476         get correct cleanup
477         (fpathconf): Ditto
478         (lseek): Ditto
479
480         * src/file.cxx (open): If applicable, refer to stdin, stdout and stderr
481         here to ensure they are pulled in, in case selective linking would
482         otherwise eliminate them. This is to ensure they get allocated to
483         fd's 0, 1 and 2.
484
485 2000-10-13  Nick Garnett  <nickg@cygnus.co.uk>
486
487         * src/io.cxx (readwrite): Merged both read() and write() functions
488         into this single common routine.  
489
490         * include/fileio.h: Introduced a common typedef for both read and
491         write operations.
492
493         * doc/fileio.txt: Added some text about getcwd() and tidied up
494         some other parts.
495
496 2000-10-05  Nick Garnett  <nickg@cygnus.co.uk>
497
498         * src/file.cxx: Added support for getcwd(). There are three
499         mechanisms provided here. The first is to use the FS_INFO_GETCWD
500         key on the filesystem to use any support it has for this. If that
501         fails it falls back on one of the two other mechanisms. If
502         CYGPKG_IO_FILEIO_TRACK_CWD is set then the current directory is
503         tracked textually in chdir() and the result of that is reported in
504         getcwd(). Otherwise an attempt is made to traverse the directory
505         tree to its root using ".." entries. This last option is
506         complicated and expensive, so the other two mechanisms are to be
507         preferred if possible.
508
509         * include/fileio.h: Added FS_INFO_GETCWD getinfo option and a
510         matching struct cyg_getcwd_info. These are used to access getcwd()
511         support in a filesystem.
512
513         * src/fio.h: Added initial support for POSIX API function entry
514         and return. 
515
516         * cdl/fileio.cdl: Added CYGPKG_IO_FILEIO_TRACK_CWD option to
517         enable current directory tracking.
518
519 2000-09-28  Nick Garnett  <nickg@cygnus.co.uk>
520
521         * src/select.cxx (cyg_selwakeup):
522         Removed test for whether the waiting thread is actually waiting
523         for this event. This lead to a race condition when the thread is
524         still polling other objects but has already checked this
525         event. Now all waiting selectors are woken up by each selectable
526         event.
527
528 2000-09-18  Jonathan Larmour  <jlarmour@redhat.com>
529
530         * src/select.cxx: Apply constructor prioritization to mutexes and
531         condition variables
532         * src/fd.cxx: Ditto
533
534 2000-09-11  Jonathan Larmour  <jlarmour@redhat.com>
535
536         * tests/select.c: NA if no POSIX package
537
538         * cdl/fileio.cdl: Set CYGBLD_ISO_OPEN_MAX_HEADER to this package's
539         limits.h
540         * include/limits.h: New file to define OPEN_MAX (and other things in
541         future)
542
543 2000-09-08  Nick Garnett  <nickg@cygnus.co.uk>
544
545         * include/fileio.h:
546         Removed spaces from arguments to CYG_HAL_TABLE_ENTRY().
547
548 2000-09-04  Jonathan Larmour  <jlarmour@redhat.com>
549
550         * include/sockio.h (struct cyg_nstab_entry): Apply CYG_HAL_TABLE_TYPE
551         * include/fileio.h (struct cyg_mtab_entry): Ditto
552         (FSTAB_ENTRY): Ditto
553
554 2000-08-31  Nick Garnett  <nickg@cygnus.co.uk>
555
556         * src/select.cxx (select): Added scheduler unlock in timeout
557         return case.
558
559 2000-08-22  Jonathan Larmour  <jlarmour@redhat.co.uk>
560
561         * doc/fileio.txt: Add Nick's text description of plug-in filesystems
562         and sockets here for now.
563
564 2000-08-18  Nick Garnett  <nickg@cygnus.co.uk>
565
566         * include/fileio.h: Added CYG_FAPPEND flag for preservation in
567         file object flags.
568         Added prototype for cyg_timestamp().
569
570         * src/misc.cxx: Fixed bug in cyg_mtab_lookup() when dealing with
571         empty mount table entries.
572         Added cyg_timestamp() to provide timestamp support to client
573         filesystems.
574
575 2000-08-09  Jonathan Larmour  <jlarmour@redhat.co.uk>
576
577         * src/misc.cxx: Don't define own strcmp() function (which had a bug
578         anyway). Use string.h.
579         * cdl/fileio.cdl: requires ISO C string functions
580
581 2000-08-01  Jonathan Larmour  <jlarmour@redhat.co.uk>
582
583         * src/misc.cxx: Use correct initializer for mtab_extra
584
585         * src/fio.h (FILEIO_RETURN_VOID): Surround in CYG_MACRO_START to
586         prevent problems when used with one-line if.
587         (FILEIO_RETURN_VALUE): Likewise
588
589         * include/fileio.h: Make getinfo/setinfo take void *bufs, not char *
590         for easier casting (and more correct)
591
592         * tests/testfs.c: Likewise
593
594         * src/devfs.cxx: Likewise.
595         Also fix bug with Nick's change below that set non-blocking mode
596         in all cases.
597
598 2000-07-31  Nick Garnett  <nickg@cygnus.co.uk>
599
600         * src/devfs.cxx (dev_open): Added support for O_NONBLOCK.
601
602 2000-07-27  Nick Garnett  <nickg@cygnus.co.uk>
603
604         * tests/select.c: Wrapped include of pkgconf/io_serial.h in
605         #ifdef CYGPKG_IO_SERIAL.
606
607 2000-07-25  Jonathan Larmour  <jlarmour@redhat.co.uk>
608
609         * tests/select.c (main): Wrap call to init_all_network_interfaces()
610         in #ifdef TEST_NET
611
612 2000-07-25  Nick Garnett  <nickg@cygnus.co.uk>
613
614         * tests/select.c (main): Added call to
615         init_all_network_interfaces(). 
616
617 2000-07-21  Nick Garnett  <nickg@cygnus.co.uk>
618
619         * include/fileio.h:
620         * src/file.cxx:
621         * src/devfs.cxx:
622         * tests/testfs.c:
623         Added support for link() API call. This was the only major file
624         operation omitted.
625
626 2000-07-20  Nick Garnett  <nickg@cygnus.co.uk>
627
628         * include/fileio.h: Added some modes for fsync().
629
630         * src/file.cxx: Added access() function.
631
632         * src/io.cxx: Added fdatasync() and isatty().
633
634         * src/devfs.cxx: Added fsync() support.
635
636         * tests/fileio1.c: Added calls to access() to check (non-)existence
637         of files where appropriate.
638
639 2000-07-13  Nick Garnett  <nickg@cygnus.co.uk>
640
641         * src/select.cxx (select): Fixed return value when timing out. Now
642         returns zero and no error, it used to return -1 and ETIMEDOUT.
643
644         * src/io.cxx: Fixed fsync() to match standard.
645
646         * src/devfs.cxx:
647         Added lseek() support - all devices are always at position
648         zero. Added [f]stat() support - currently just fills in the stat
649         buffer with some predefined values. When we have more
650         sophisticated devices this may need to be improved.
651
652         * tests/testfs.c (testfs_open): Added support for O_TRUNC open
653         flag.
654         
655         * tests/stdio.c: 
656         * cdl/fileio.cdl:
657         Added stdio.c to test C library IO integration. This does not test
658         the C library functionality, just that it works with the fileio
659         package in certain limited ways.
660
661 2000-06-30  Nick Garnett  <nickg@cygnus.co.uk>
662
663         * src/misc.cxx: Fixed definition of mtab_extra[] so that it gets
664         emitted correctly into the object file.
665
666         * tests/testfs.c:
667         Added support for dynamic mount()/umount().
668         Added testfs_dump() to report state of filesystem, and to do a
669         little consistency checking.
670
671         * tests/fileio1.c: Extended testing to mount() and maximum file
672         sizes.
673
674 2000-06-28  Nick Garnett  <nickg@cygnus.co.uk>
675
676         * include/dirent.h: Added this file to contain directory support
677         definitions.
678
679         * include/fileio.h:
680         Introduced separate typedefs for all operation functions.
681         Added CYG_FDIR to mark directory streams.
682         Added some default operation functions.
683
684         * src/fio.h (FILEIO_RETURN_VOID): Added this macro.
685
686         * src/dir.cxx: Added this file to contain directory listing API
687         functions.
688
689         * src/misc.cxx:
690         Added default operation functions.
691
692         * src/file.cxx:
693         Fixed mkdir() to have correct prototype.
694         Moved opendir() to dir.cxx.
695         Added support in chdir() for deregistering the current directory.
696
697         * cdl/fileio.cdl: Added dev.cxx to compile list. Added support for
698         dirent.h implementation.
699
700         * tests/testfs.c: Lots of changes towards a more complete
701         implementation.
702
703         * tests/select.c: Changed SHOW_RESULT() message a little. Fixed up
704         some warnings when no testing is possible.
705
706         * tests/fileio1.c:
707         Largely rewritten to do more complete testing.
708
709 2000-06-19  Nick Garnett  <nickg@cygnus.co.uk>
710
711         * src/select.cxx: Added selwake_count variable to count select
712         wakeups. This allows us to avoid sleeping when a selectee calls
713         cyg_selwakeup() while we are still scanning the FD sets.
714
715         * include/fileio.h:
716         * include/sockio.h: 
717         * src/misc.cxx: 
718         * src/socket.cxx: 
719         Converted tables to new mechanism.
720
721         * tests/select.c: Reduced buffer size to avoid buffer overflow in
722         serial devices. 
723         
724 2000-06-15  Nick Garnett  <nickg@cygnus.co.uk>
725
726         * include/fileio.h:
727         Added typedef for cyg_selinfo.
728         Added umount to fstab entry structure.
729         Added mount() and unmount() prototypes.
730         Added const in various places.
731         Changed some types from CYG_ADDRWORD to their ISO standard
732         equivalents.
733         Added si_thread field to cyg_selinfo structure, added
734         cyg_selinit() prototype.
735
736         * src/socket.cxx: Converted an errant LOCK_NS() into the
737         UNLOCK_NS() it should be.
738
739         * src/select.cxx:
740         Added cyg_selinit() which must be called by all selectees at
741         initialization to prepare a cyg_selinfo structure for use.
742         Modified cyg_selwakeup() to minimize the number for actual wakeup
743         operations it actually performs.
744
745         * src/misc.cxx:
746         Added mtab_extra[] to contain dynamic mount table entries,
747         modified startup scan of mtab to cope with this.
748         changed matchlen() to cope with "/" mountpoint, this function is
749         rapidly ceasing to be the neat bit of code it started out as.
750         Added implementations of mount() and umount().
751
752         * src/devfs.cxx: Added dev_umount, various minor tweaks.
753
754         * cdl/fileio.cdl: Added CYGNUM_FILEIO_MTAB_EXTRA to define how
755         many extra mount table entries should exist for dynamic mounts.
756         Added select.c to list of tests.
757
758         * tests/select.c: Added this file to test select() functionality
759         on both sockets and (serial) devices.
760
761         * tests/socket.c: Tidied some compilation warnings.
762
763         * tests/testfs.c: Added umount stub function.
764         
765 2000-06-12  Nick Garnett  <nickg@cygnus.co.uk>
766
767         * include/sockio.h: 
768         * include/fileio.h:
769         * src/fio.h: 
770         * tests/testfs.c: 
771         * src/socket.cxx: 
772         * src/misc.cxx: 
773         * src/file.cxx: 
774         * src/fd.cxx: 
775         * src/io.cxx: 
776         * src/devfs.cxx: 
777         Tidied up and sorted out locking protocols and synchronization
778         mechanisms.
779
780 2000-06-09  Nick Garnett  <nickg@cygnus.co.uk>
781
782         * src/select.cxx: 
783         * src/devfs.cxx: 
784         * include/fileio.h:
785         * tests/testfs.c: 
786         Added select() support.
787
788         * src/socket.cxx: Fixed a resource management bug in accept().
789
790         * tests/socket.c: Extended to test that all API calls work, at
791         least minimally, as they should. Still some calls to add here.
792         
793 2000-06-07  Nick Garnett  <nickg@cygnus.co.uk>
794
795         * tests/socket.c: Simple socket API test program. Needs much more
796         work to give full coverage.
797
798         * src/socket.cxx: Filled in some implementations. Changed some
799         type specifications.
800
801         * src/select.cxx: Added this file to contain select()
802         implementation. At present it does nothing.
803
804         * include/sockio.h:
805         Added definition of socklen_t for use when the NET package is
806         absent - just so this file compiles.
807         Added macro to generate an nstab entry.
808         Changed prototypes of socket operation ffunctions to better match
809         both API definition and BSD stack implementation.
810
811         * cdl/fileio.cdl: Added support for socket API. This is only
812         active if the NET package is present.
813         Added initial socket API test program.
814
815 2000-06-02  Nick Garnett  <nickg@cygnus.co.uk>
816
817         * src/socket.cxx:
818         Added this file to implement socket interface. This is still a
819         rough draft that has not yet been tested.
820
821         * src/misc.cxx: 
822         * src/io.cxx: 
823         * src/fio.h: Various minor changes and bug fixes.
824
825         * src/file.cxx: Various bug fixes. Added pathconf().
826
827         * src/fd.cxx: Various changes and bug fixes, mostly in the
828         handling of the locking mechanisms.
829
830         * src/devfs.cxx: Added this filesystem to interface to the device
831         IO subsystem. Not yet tested.
832
833         * include/sockio.h: Various minor changes prompted by
834         implementation.
835
836         * include/fileio.h:
837         Added macros to instantiate filesystem and mount table entries.
838         Added mode mask for setting up f_flags.
839         Changed file object types, added device type.
840
841         * cdl/fileio.cdl:
842         Added some extra files to compile. Some now go in libextras.
843         Added table maxima for fstab, mtab and nstab.
844         Added tests.
845
846         * tests/fileio1.c: Added this simple test for the fileio
847         infrastructure.
848
849         * tests/testfs.c:
850         Created this simple ROM filesystem to test out the fileio
851         infrastructure. This is not really usable for anything other than
852         this, and should not be used in "production" systems. Hence its
853         presence in tests rather than src.
854         At present this only has support for open(), close(), read(),
855         write(), lseek() and unlink(). Other parts will be implemented as
856         and when required.
857         
858 2000-05-31  Nick Garnett  <nickg@cygnus.co.uk>
859
860         * src/fio.h: 
861         * src/file.cxx: 
862         * src/io.cxx: 
863         * src/misc.cxx:
864         Roughed out most of the file IO infrastructure. While this code
865         compiles, none of it has actually been executed yet. A lot of this
866         was cut-and-paste-and-edit, so some minor blemishes are to be
867         expected.
868
869         * src/fd.cxx: Several modifications in response to implementing
870         rest of infrastructure. Added dup() and dup2() API routines.
871
872         * include/fileio.h: Many changes and tidies prompted by
873         infrastructure implementation.
874
875         * cdl/fileio.cdl: Added "implements" directives for isoinfra
876         interfaces. Extended compile to new files.
877
878 2000-05-26  Nick Garnett  <nickg@cygnus.co.uk>
879
880         * include/fileio.h:
881         * include/sockio.h:
882         * src/fd.cxx:
883         * cdl/fileio.cdl: 
884         Created these files as a start at defining the file IO package.
885         There is still a lot to do here, so expect radical changes to all
886         of these files in the near future.