1 2008-04-02 Xinghua Yang <yxinghua@sunnorth.com.cn>
2 Andrew Lunn <andrew.lunn@ascom.ch>
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
11 2007-08-17 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
13 tests/fnmatch.c (main): Fix cut/paste error in final pass/fail
16 2007-06-12 Andrew Lunn <andrew.lunn@ascom.ch>
18 * src/misc.cxx (cyg_mtab_extra): Only create the array if it has more
21 2007-01-27 Andrew Lunn <andrew.lunn@ascom.ch>
23 * tests/fnmatch.c: Test case for fnmatch.
25 2007-01-24 Peter Korsgaard <peter.korsgaard@barco.com>
29 * include/fnmatch.h: Added fnmatch() implementation (from NetBSD).
31 2006-05-18 Paul Fine <pfine@dtccom.com>
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.
37 2006-05-17 Andy Jackson <andy@grapevinetech.co.uk>
39 * tests/fileio1.c: Compiler warning fixes.
40 * tests/testfs.c: Compiler warning fixes.
42 2006-02-16 Peter Korsgaard <jacmet@sunsite.dk>
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.
48 2005-10-20 Andrew Lunn <andrew.lunn@ascom.ch>
50 * src/select.cxx: Needs sys/time.h for struct timeval.
52 2005-08-02 Andrew Lunn <andrew.lunn@ascom.ch>
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.
59 2005-05-13 Peter Korsgaard <jacmet@sunsite.dk>
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.
65 2005-05-26 Gary Thomas <gary@mlbassoc.com>
67 * tests/socket.c: Fix config test (CYGPKG_POSIX_SIGNALS)
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).
73 2005-03-27 Andrew Lunn <andrew.lunn@ascom.ch>
75 * tests/testfs.c: Fixed compiler warnigs for passing wrong types
77 * tests/fileio1.c: Ditto
78 * tests/select.c: Ditto
81 2005-02-24 Andrew Lunn <andrew.lunn@ascom.ch>
83 * include/fileio.h: Only include kapi.h when
84 CYGFUN_IO_FILEIO_SELECT is enabled and then define the select
87 2005-01-27 Yoshinori Sato <ysato@users.sourceforge.jp>
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.
92 2005-01-22 Andrew Lunn <andrew.lunn@ascom.ch>
94 * src/misc.cxx (cyg_fs_root_lookup): New function to find the mount
95 point of a give filesystems root directory.
97 * include/fileio.h: Made cyg_fs_{un}lock accessible outside of the
100 2004-01-22 Andrew Lunn <andrew.lunn@ascom.ch>
103 2004-12-15 Andrew Lunn <andrew.lunn@ascom.ch>
105 * src/select.cxx (cyg_pselect): We need the oldmask under all
108 2004-12-01 Alex Paulis and Cameron Taylor <ctaylor@waverider.com>
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.
117 2004-11-17 Jani Monoses <jani@iv.ro>
119 * tests/socket.c: Allow building without kernel config.
121 2004-11-14 Andrew Lunn <andrew.lunn@ascom.ch>
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.
128 2004-11-14 Jani Monoses <jani@iv.ro>
130 * src/devfs.cxx: Removed unneeded header files so the package can
131 be compiled without the kernel.
133 2004-10-13 David Brennan <eCos@brennanhome.com>
136 * src/file.cxx: Added support for cyg_fs_fssync,
137 cyg_fs_get_attrib, and cyg_fs_set_attrib
139 2004-10-13 David Brennan <eCos@brennanhome.com>
141 * src/file.cxx: Added a check data ptr in LOCK_FS
143 2004-10-06 David Brennan <eCos@brennanhome.com>
145 * tests/pselect.c: Added check for POSIX signals while building
147 * tests/select.c: Include sys/select.h to prevent a possible warning.
149 2004-10-01 Oyvind Harboe <oyvind.harboe@zylin.com>
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.
154 2004-07-23 Oyvind Harboe <oyvind.harboe@zylin.com>
156 * src/select.cxx: now correctly returns from select() on
157 e.g. closed file pointers.
159 2004-04-15 Jonathan Larmour <jifl@eCosCentric.com>
161 * tests/fileio1.c: include stdio.h for rename() prototype.
163 2004-04-07 Andrew Lunn <andrew.lunn@ascom.ch>
165 * src/fd.cxx: Fix the assert just added. 0 is a valid fd.
167 2004-03-25 Sebastien Couret <sebastien.couret@elios-informatique.fr>
169 * src/fd.cxx: Added CYG_ASSERT bound checking for file descriptor
170 numbers (0<fd<CYGNUM_FILEIO_NFD).
172 2004-03-12 Jonathan Larmour <jifl@eCosCentric.com>
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
180 2004-02-16 Andrew Lunn <andrew.lunn@ascom.ch>
182 * src/io.cxx (readwritev): For EWOULDBLOCK and EAGAIN return
183 the number of bytes written if any have been written.
185 2004-01-07 Jonathan Larmour <jifl@eCosCentric.com>
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.
191 * src/fio.h: Separate out signal functionality into its own separate
194 2003-12-21 Sandeep Kumar <sandeep@codito.com>
196 * src/dir.cxx (readdir_r): Handle NULL dirp argument and return
199 2003-12-03 Dan Jakubiec <djakubiec@yahoo.com>
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.
205 2003-11-28 David Woodhouse <dwmw2@redhat.com>
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.
210 2003-10-23 Savin Zlobec <savin@elatec.si>
212 * src/io.cxx: Added cyg_fs_fsetinfo and cyg_fs_fgetinfo functions.
214 * src/file.cxx: Added cyg_fs_setinfo and cyg_fs_getinfo functions.
216 * include/fileio.h: Added cyg_fs_fsetinfo, cyg_fs_fgetinfo,
217 cyg_fs_setinfo and cyg_fs_getinfo function prototypes.
219 2003-10-16 Andrew Lunn <andrew.lunn@ascom.ch>
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
225 2003-10-06 Andrew Lunn <andrew.lunn@ascom.ch>
227 * src/fio.h (CYG_FILEIO_SIGMASK_SET): Fixed a compiler warning
228 about an unused variable.
230 2003-09-22 Eric Doenges <Eric.Doenges@DynaPel.com>
231 * src/devfs.cxx: prototype of dev_fo_select now matches
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.
237 2003-07-11 Andrew Lunn <andrew.lunn@ascom.ch>
239 * src/socket.cxx (socket): If there are no network stacks configured
240 return EAFNOSUPPORT when opening a socket.
242 2003-04-11 Jonathan Larmour <jifl@eCosCentric.com>
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
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.
253 2003-03-20 Gary Thomas <gary@mlbassoc.com>
255 * src/devfs.cxx: Remove unnecessary checks for -EAGAIN (should
256 no longer happen in lower layers).
258 2003-03-08 Jonathan Larmour <jifl@eCosCentric.com>
260 * tests/pselect.c (pthread_entry1): Allow for infrequent but
261 occasional off by one error due to race condition when
264 2003-02-24 Jonathan Larmour <jifl@eCosCentric.com>
266 * cdl/fileio.cdl: Add doc link.
268 2003-02-20 Bart Veer <bartv@ecoscentric.com>
270 * cdl/fileio.cdl: identify test binaries, not test sources
272 2003-01-30 Andrew Lunn <andrew.lunn@ascom.ch>
274 * cdl/fileio.cdl: Added interface CYGINT_IO_FILEIO_FS which any
275 FS which FILEIO can use should implement.
277 2003-01-23 Gary Thomas <gary@mlbassoc.com>
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.
282 2002-11-10 Nick Garnett <nickg@ecoscentric.com>
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
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.
294 * tests/pselect.c: New test added to verify the signal masking and
295 delivery behaviour of pselect().
297 * tests/select.c: Fixed up some printfs to make it a little tidier.
299 2002-11-03 Gary Thomas <gthomas@ecoscentric.com>
302 * cdl/fileio.cdl: Add readv()/writev() support.
304 2002-08-08 Nick Garnett <nickg@calivar.demon.co.uk>
306 * src/select.cxx (select): Changed mechanism for calculating
307 select timeout to avoid possible race conditions between this code
310 2002-05-29 Jesper Skov <jskov@redhat.com>
312 * tests/fileio1.c: Removed strcat definition. Rely on string.h to
315 2002-05-28 Jonathan Larmour <jlarmour@redhat.com>
317 * include/limits.h (NAME_MAX): Increase default to 64.
318 * cdl/fileio.cdl: Set CYGBLD_ISO_NAME_MAX_HEADER.
320 2002-04-11 Nick Garnett <nickg@redhat.com>
322 * doc/fileio.sgml: Added a section on writing a new
323 filesystem. This probably still needs more work, but it's better
326 2002-04-05 Nick Garnett <nickg@redhat.com>
328 * src/devfs.cxx: Changed test for EAGAIN in dev_fo_read() and
329 dev_fo_write() to negate value first.
331 2002-03-07 Nick Garnett <nickg@redhat.com>
333 * doc/fileio.sgml: Added this file to contain documentation on
336 2002-02-04 Gary Thomas <gthomas@redhat.com>
338 * tests/socket.c (main):
339 * tests/select.c (main): sin_len field must be set.
341 2002-01-29 Jonathan Larmour <jlarmour@redhat.com>
343 * cdl/fileio.cdl: Actually, don't bother to build testfs.c at all.
345 2002-01-29 Jesper Skov <jskov@redhat.com>
347 * cdl/fileio.cdl: Added CYGPKG_FILEIO_BUILD_TESTS option and made
348 building of testfs dependant on it.
350 2002-01-25 Jonathan Larmour <jlarmour@redhat.com>
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.
356 2002-01-23 David Woodhouse <dwmw2@redhat.com>
357 2002-01-23 Jonathan Larmour <jlarmour@redhat.com>
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
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.
372 2002-01-23 Jonathan Larmour <jlarmour@redhat.com>
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.
379 * src/fd.cxx (fdlock): ditto
381 * src/dir.cxx (readdir): Use FILEIO_RETURN_VALUE on exit.
383 * src/devfs.cxx (dev_stat): Don't use handle for st_dev - it will
384 probably be truncated.
386 2002-01-04 Wade Jensen <Wade_Jensen@inter-tel.com>
387 2002-01-04 Jonathan Larmour <jlarmour@redhat.com>
389 * src/socket.cxx (recvfrom): Set msg.msg_namelen correctly for
392 2001-12-28 Gary Thomas <gthomas@redhat.com>
394 * src/io.cxx (readwrite): Add missing check for return (errors).
396 2001-11-29 Jonathan Larmour <jlarmour@redhat.com>
398 * src/file.cxx (chdir): Don't detach from current dir if unset.
400 2001-11-02 Felix Wong <felixwong@i-technologies.cc>
401 2001-11-02 Jonathan Larmour <jlarmour@redhat.com>
403 * src/devfs.cxx (dev_fo_read): Support block devices.
404 (dev_fo_write): Ditto.
406 2001-10-09 Jonathan Larmour <jlarmour@redhat.com>
408 * src/fio.h: Make cancellation point dependand on
409 CYGINT_ISO_PTHREAD_IMPL from <pkgconf/isoinfra.h> really.
410 * tests/select.c: Ditto.
412 2001-10-09 Jesper Skov <jskov@redhat.com>
414 * tests/select.c: Do NA check for posix threads.
416 * src/fio.h: Make cancellation point dependant on
417 CYGPKG_POSIX_PTHREAD as in the POSIX package.
419 2001-07-26 Jonathan Larmour <jlarmour@redhat.com>
421 * cdl/fileio.cdl: Implements select().
422 * src/select.cxx: Include <sys/select.h> from isoinfra.
424 2001-07-19 Jonathan Larmour <jlarmour@redhat.com>
426 * src/devfs.cxx (dev_fo_read): Treat non-blocking reads returning
428 (dev_fo_write): Ditto for writes.
430 2001-06-14 Jonathan Larmour <jlarmour@redhat.com>
432 * src/fio.h (FILEIO_ENTRY): Don't use CYG_MACRO_START/END around
434 Reported by Richard Panton.
436 2001-06-11 Jonathan Larmour <jlarmour@redhat.com>
438 * src/socket.cxx (cyg_sock_unlock): Fix cyg_file_lock->cyg_file_unlock
441 2001-03-15 Gary Thomas <gthomas@redhat.com>
443 * src/file.cxx (open): Check for required/valid open mode.
445 2001-03-14 Jonathan Larmour <jlarmour@redhat.com>
447 * src/misc.cxx (cyg_mtab_lookup): check valid mtab entry
450 2001-03-14 Martin van Veen <martin_van_veen@yahoo.com>
452 * src/misc.cxx (mount): Return error if mount fails.
454 2001-03-12 Gary Thomas <gthomas@redhat.com>
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.
460 * src/file.cxx (LOCK_FS):
461 * src/dir.cxx (LOCK_FS): Add assertions on 'mte'.
463 2001-01-05 Nick Garnett <nickg@cygnus.co.uk>
465 * tests/socket.c (main):
466 Added call to init_all_network_interfaces().
468 2000-12-15 Nick Garnett <nickg@cygnus.co.uk>
470 * src/misc.cxx: Fixed some bugs in initialization of timestamp
471 function when Wallclock and POSIX packages are absent.
473 2000-11-01 Jonathan Larmour <jlarmour@redhat.com>
475 * src/io.cxx (readwrite): Ensure we call FILEIO_RETURN_VALUE() to
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
485 2000-10-13 Nick Garnett <nickg@cygnus.co.uk>
487 * src/io.cxx (readwrite): Merged both read() and write() functions
488 into this single common routine.
490 * include/fileio.h: Introduced a common typedef for both read and
493 * doc/fileio.txt: Added some text about getcwd() and tidied up
496 2000-10-05 Nick Garnett <nickg@cygnus.co.uk>
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.
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.
513 * src/fio.h: Added initial support for POSIX API function entry
516 * cdl/fileio.cdl: Added CYGPKG_IO_FILEIO_TRACK_CWD option to
517 enable current directory tracking.
519 2000-09-28 Nick Garnett <nickg@cygnus.co.uk>
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
528 2000-09-18 Jonathan Larmour <jlarmour@redhat.com>
530 * src/select.cxx: Apply constructor prioritization to mutexes and
534 2000-09-11 Jonathan Larmour <jlarmour@redhat.com>
536 * tests/select.c: NA if no POSIX package
538 * cdl/fileio.cdl: Set CYGBLD_ISO_OPEN_MAX_HEADER to this package's
540 * include/limits.h: New file to define OPEN_MAX (and other things in
543 2000-09-08 Nick Garnett <nickg@cygnus.co.uk>
546 Removed spaces from arguments to CYG_HAL_TABLE_ENTRY().
548 2000-09-04 Jonathan Larmour <jlarmour@redhat.com>
550 * include/sockio.h (struct cyg_nstab_entry): Apply CYG_HAL_TABLE_TYPE
551 * include/fileio.h (struct cyg_mtab_entry): Ditto
554 2000-08-31 Nick Garnett <nickg@cygnus.co.uk>
556 * src/select.cxx (select): Added scheduler unlock in timeout
559 2000-08-22 Jonathan Larmour <jlarmour@redhat.co.uk>
561 * doc/fileio.txt: Add Nick's text description of plug-in filesystems
562 and sockets here for now.
564 2000-08-18 Nick Garnett <nickg@cygnus.co.uk>
566 * include/fileio.h: Added CYG_FAPPEND flag for preservation in
568 Added prototype for cyg_timestamp().
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
575 2000-08-09 Jonathan Larmour <jlarmour@redhat.co.uk>
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
581 2000-08-01 Jonathan Larmour <jlarmour@redhat.co.uk>
583 * src/misc.cxx: Use correct initializer for mtab_extra
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
589 * include/fileio.h: Make getinfo/setinfo take void *bufs, not char *
590 for easier casting (and more correct)
592 * tests/testfs.c: Likewise
594 * src/devfs.cxx: Likewise.
595 Also fix bug with Nick's change below that set non-blocking mode
598 2000-07-31 Nick Garnett <nickg@cygnus.co.uk>
600 * src/devfs.cxx (dev_open): Added support for O_NONBLOCK.
602 2000-07-27 Nick Garnett <nickg@cygnus.co.uk>
604 * tests/select.c: Wrapped include of pkgconf/io_serial.h in
605 #ifdef CYGPKG_IO_SERIAL.
607 2000-07-25 Jonathan Larmour <jlarmour@redhat.co.uk>
609 * tests/select.c (main): Wrap call to init_all_network_interfaces()
612 2000-07-25 Nick Garnett <nickg@cygnus.co.uk>
614 * tests/select.c (main): Added call to
615 init_all_network_interfaces().
617 2000-07-21 Nick Garnett <nickg@cygnus.co.uk>
623 Added support for link() API call. This was the only major file
626 2000-07-20 Nick Garnett <nickg@cygnus.co.uk>
628 * include/fileio.h: Added some modes for fsync().
630 * src/file.cxx: Added access() function.
632 * src/io.cxx: Added fdatasync() and isatty().
634 * src/devfs.cxx: Added fsync() support.
636 * tests/fileio1.c: Added calls to access() to check (non-)existence
637 of files where appropriate.
639 2000-07-13 Nick Garnett <nickg@cygnus.co.uk>
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.
644 * src/io.cxx: Fixed fsync() to match standard.
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.
652 * tests/testfs.c (testfs_open): Added support for O_TRUNC open
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.
661 2000-06-30 Nick Garnett <nickg@cygnus.co.uk>
663 * src/misc.cxx: Fixed definition of mtab_extra[] so that it gets
664 emitted correctly into the object file.
667 Added support for dynamic mount()/umount().
668 Added testfs_dump() to report state of filesystem, and to do a
669 little consistency checking.
671 * tests/fileio1.c: Extended testing to mount() and maximum file
674 2000-06-28 Nick Garnett <nickg@cygnus.co.uk>
676 * include/dirent.h: Added this file to contain directory support
680 Introduced separate typedefs for all operation functions.
681 Added CYG_FDIR to mark directory streams.
682 Added some default operation functions.
684 * src/fio.h (FILEIO_RETURN_VOID): Added this macro.
686 * src/dir.cxx: Added this file to contain directory listing API
690 Added default operation functions.
693 Fixed mkdir() to have correct prototype.
694 Moved opendir() to dir.cxx.
695 Added support in chdir() for deregistering the current directory.
697 * cdl/fileio.cdl: Added dev.cxx to compile list. Added support for
698 dirent.h implementation.
700 * tests/testfs.c: Lots of changes towards a more complete
703 * tests/select.c: Changed SHOW_RESULT() message a little. Fixed up
704 some warnings when no testing is possible.
707 Largely rewritten to do more complete testing.
709 2000-06-19 Nick Garnett <nickg@cygnus.co.uk>
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.
719 Converted tables to new mechanism.
721 * tests/select.c: Reduced buffer size to avoid buffer overflow in
724 2000-06-15 Nick Garnett <nickg@cygnus.co.uk>
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
733 Added si_thread field to cyg_selinfo structure, added
734 cyg_selinit() prototype.
736 * src/socket.cxx: Converted an errant LOCK_NS() into the
737 UNLOCK_NS() it should be.
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.
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().
752 * src/devfs.cxx: Added dev_umount, various minor tweaks.
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.
758 * tests/select.c: Added this file to test select() functionality
759 on both sockets and (serial) devices.
761 * tests/socket.c: Tidied some compilation warnings.
763 * tests/testfs.c: Added umount stub function.
765 2000-06-12 Nick Garnett <nickg@cygnus.co.uk>
777 Tidied up and sorted out locking protocols and synchronization
780 2000-06-09 Nick Garnett <nickg@cygnus.co.uk>
786 Added select() support.
788 * src/socket.cxx: Fixed a resource management bug in accept().
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.
793 2000-06-07 Nick Garnett <nickg@cygnus.co.uk>
795 * tests/socket.c: Simple socket API test program. Needs much more
796 work to give full coverage.
798 * src/socket.cxx: Filled in some implementations. Changed some
801 * src/select.cxx: Added this file to contain select()
802 implementation. At present it does nothing.
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.
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.
815 2000-06-02 Nick Garnett <nickg@cygnus.co.uk>
818 Added this file to implement socket interface. This is still a
819 rough draft that has not yet been tested.
823 * src/fio.h: Various minor changes and bug fixes.
825 * src/file.cxx: Various bug fixes. Added pathconf().
827 * src/fd.cxx: Various changes and bug fixes, mostly in the
828 handling of the locking mechanisms.
830 * src/devfs.cxx: Added this filesystem to interface to the device
831 IO subsystem. Not yet tested.
833 * include/sockio.h: Various minor changes prompted by
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.
842 Added some extra files to compile. Some now go in libextras.
843 Added table maxima for fstab, mtab and nstab.
846 * tests/fileio1.c: Added this simple test for the fileio
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
858 2000-05-31 Nick Garnett <nickg@cygnus.co.uk>
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
869 * src/fd.cxx: Several modifications in response to implementing
870 rest of infrastructure. Added dup() and dup2() API routines.
872 * include/fileio.h: Many changes and tidies prompted by
873 infrastructure implementation.
875 * cdl/fileio.cdl: Added "implements" directives for isoinfra
876 interfaces. Extended compile to new files.
878 2000-05-26 Nick Garnett <nickg@cygnus.co.uk>
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.