summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libc/libio.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Removed an uninitialized variable.Jennifer Averett1999-03-291-4/+5
|
* Use proper include for libio.h.Joel Sherrill1999-03-161-1/+1
|
* Added code to translate internal libio flags to POSIX style flags.Joel Sherrill1999-03-081-3/+20
|
* Added F_GETFL support so the fdopen() implementation in newlib 1.8.1Joel Sherrill1999-03-061-0/+18
| | | | | | | | would work. At the same time, the initial implementation of F_SETFL was added. A support routine was added to convert internal libio flags back to the POSIX style. Eventually the internal representation should be eliminated in the interest of simplicity and code reduction. This problem was reported by Jake Janovetz <janovetz@tempest.ece.uiuc.edu>.
* Patch from Eric Norum <eric@skatter.usask.ca> to eliminate externalJoel Sherrill1999-03-011-32/+0
| | | | | IO handlers scheme that was implemented originally just to support sockets. The file system IO switch is more general and works fine.
* Merged Eric Norum's select patch that was based on 4.0 and resolvedJoel Sherrill1998-12-101-61/+96
| | | | all conflicts.
* Added base version of file system infrastructure. This includes a majorJoel Sherrill1998-11-231-446/+217
| | | | | | | | | | | | | | | | | | | | | | | | overhaul of the RTEMS system call interface. This base file system is the "In-Memory File System" aka IMFS. The design and implementation was done by the following people: + Joel Sherrill (joel@OARcorp.com) + Jennifer Averett (jennifer@OARcorp.com) + Steve "Mr Mount" Salitasc (salitasc@OARcorp.com) + Kerwin Wade (wade@OARcorp.com) PROBLEMS ======== + It is VERY likely that merging this will break the UNIX port. This can/will be fixed. + There is likely some reentrancy/mutual exclusion needed. + Eventually, there should be a "mini-IMFS" description table to eliminate links, symlinks, etc to save memory. All you need to have "classic RTEMS" functionality is technically directories and device IO. All the rest could be left out to save memory.
* rtems_libio_number_iops is now defined in confdefs.h so the maximumJoel Sherrill1998-04-181-1/+1
| | | | file descriptors is user configurable.
* Numerous changes which in total greatly reduced the amount of sourceJoel Sherrill1998-04-151-18/+0
| | | | | | | | | | | | code in each BSP's bspstart.c. These changes were: + confdefs.h now knows libio's semaphore requirements + shared/main.c now copies Configuration to BSP_Configuration + shared/main.c fills in the Cpu_table with default values This removed the need for rtems_libio_config() and the constant BSP_LIBIO_MAX_FDS in every BSP. Plus now the maximum number of open files can now be set on the gcc command line.
* Patch from Eric Norum <eric@skatter.usask.ca>:Joel Sherrill1998-02-171-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've gone through and cleaned up the TFTP driver so that it fits into the libio system. Here's the comment from the new driver: /* * Usage: * * To open `/bootfiles/image' on `hostname' for reading: * fd = open ("/TFTP/hostname/bootfiles/image", O_RDONLY); * * The `hostname' can be a symbolic name or four * dot-separated decimal values. * * To open a file on the host which supplied the BOOTP * information just leave the `hostname' part empty: * fd = open ("/TFTP//bootfiles/image", O_RDONLY); * */ You can `fopen' TFTP files the same way: fp = fopen (fullname, "r"); nread = fread (cbuf, sizeof cbuf[0], sizeof cbuf, fp); The diff's are included below. I've also modified the TFTP demo program and the bootstrap PROM example. They should be on my ftp site `soon'. The one thing I don't like is the way I had to do an end-run on the libio routines to get errno passed back from my driver to the application (since there are some errno codes that don't map to RTEMS status codes). My approach was to set errno in the driver and have the driver routine return an RTEMS status code that I `know' isn't in the errno_assoc[] in libio.c. Perhaps there should be an RTEMS_TRANPARENT_ERRNO status code (or something similar) which driver routines could return to indicate that the driver routine has set errno and that the libio routines shouldn't attempt to map the returned status code to errno. Actually, I think the entire I/O system needs looking at -- as you've already mentioned. The hacks I've dropped in to syscalls.c to make fstat work, for example, are *not* shining examples of good code......
* Bug fix from Eric Norum:Joel Sherrill1997-09-191-1/+0
| | | | | | | | | | | After weeks of trying to figure why my RTEMS/KASQ server crashes now and then I found a nasty bug I introduced in adding multiple-driver support to libio. The bug only affects `add-on' driver classes (like the networking code). Old-style file descriptors were not affected. The bug cleared 32 bytes of memory (unspecified location) whenever a `close' of a socket was performed! I was clearing an IOP I hadn't allocated -- and the pointer wasn't initiallized, either!
* Added RTEMS_IO_ERROR status code.Joel Sherrill1997-08-281-0/+1
|
* Added error numbers and changed default error code from 0 to -1 forJoel Sherrill1997-08-271-7/+9
| | | | error number mapping.
* Fixed iop/memory leak bug reported by Dan Dickey.Joel Sherrill1997-08-221-1/+6
|
* Added ka9q tcpip stack and network driver for the gen68360. This effortJoel Sherrill1997-04-091-14/+92
| | | | | | | | | | | | | was done based on the 3.6.0 release and had to be autoconf'ed locally. It is turned on is the bsp enables it and it is not explicitly disabled via the configure option --disable-tcpip. As many warnings as possible were removed locally after the code was merged. Only the gen68360 and mvme136 bsps were compiled this way. The ka9q port and network driver were submitted by Eric Norum (eric@skatter.USask.Ca). The network demo programs are not included in the tree at this point.
* Merged newlib's libgloss support for rtems into this directory. ThisJoel Sherrill1997-01-291-7/+9
| | | | should simplify the build process.
* Added asserts for unhandled conditions which need to result in errorJoel Sherrill1996-11-081-1/+8
| | | | | | statuses being returned to gnat runtime in order for it to raise use_errors. This was needed to identify the places in gnat's runtime which needed to be addressed.
* added ENOSYS supportJoel Sherrill1996-10-151-0/+1
|
* patch from Tony Bennett on the ifdef for O_NDELAYJoel Sherrill1996-06-061-7/+8
|
* added initial posix configuration supportJoel Sherrill1996-05-281-2/+3
|
* updates from Tony BennettJoel Sherrill1996-05-231-1/+1
|
* Updates from Tony Bennett.Joel Sherrill1996-04-221-3/+0
|
* updates from Tony Bennett for PA and UNIX portsJoel Sherrill1996-01-151-2/+3
|
* posix support initially addedJoel Sherrill1995-09-261-0/+1
|
* The word "RTEMS" almost completely removed from the core.Joel Sherrill1995-09-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Configuration Table Template file added and all tests modified to use this. All gvar.h and conftbl.h files removed from test directories. Configuration parameter maximum_devices added. Core semaphore and mutex handlers added and RTEMS API Semaphore Manager updated to reflect this. Initialization sequence changed to invoke API specific initialization routines. Initialization tasks table now owned by RTEMS Tasks Manager. Added user extension for post-switch. Utilized user extensions to implement API specific functionality like signal dispatching. Added extensions to the System Initialization Thread so that an API can register a function to be invoked while the system is being initialized. These are largely equivalent to the pre-driver and post-driver hooks. Added the Modules file oar-go32_p5, modified oar-go32, and modified the file make/custom/go32.cfg to look at an environment varable which determines what CPU model is being used. All BSPs updated to reflect named devices and clock driver's IOCTL used by the Shared Memory Driver. Also merged clock isr into main file and removed ckisr.c where possible. Updated spsize to reflect new and moved variables. Makefiles for the executive source and include files updated to show break down of files into Core, RTEMS API, and Neither. Header and inline files installed into subdirectory based on whether logically in the Core or a part of the RTEMS API.
* Added unused priority ceiling parameter to rtems_semaphore_create.Joel Sherrill1995-08-281-7/+14
| | | | | | | | | | | | | | | Rearranged code to created thread handler routines to initialize, start, restart, and "close/delete" a thread. Made internal threads their own object class. This now uses the thread support routines for starting and initializing a thread. Insured deleted tasks are freed to the Inactive pool associated with the correct Information block. Added an RTEMS API specific data area to the thread control block. Beginnings of removing the word "rtems" from the core.
* Numerous miscellaneous features incorporated from Tony BennettJoel Sherrill1995-08-171-0/+433
(tbennett@divnc.com) including the following major additions: + variable length messages + named devices + debug monitor + association tables/variables