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