diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-05-17 18:33:07 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2002-05-17 18:33:07 +0000 |
commit | 166475ad3db4bed5e8ee5b5c97816df365c10da1 (patch) | |
tree | bb19c6a2118e1de81ad774418c2002ae951a981b /c/src/lib/libc/lseek.c | |
parent | 2002-05-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff) | |
download | rtems-166475ad3db4bed5e8ee5b5c97816df365c10da1.tar.bz2 |
2002-05-15 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* configure.ac: Remove lib.
Diffstat (limited to 'c/src/lib/libc/lseek.c')
-rw-r--r-- | c/src/lib/libc/lseek.c | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/c/src/lib/libc/lseek.c b/c/src/lib/libc/lseek.c deleted file mode 100644 index 0a87a4997d..0000000000 --- a/c/src/lib/libc/lseek.c +++ /dev/null @@ -1,102 +0,0 @@ -/* - * lseek() - POSIX 1003.1b 6.5.3 - Reposition Read/Write File Offset - * - * COPYRIGHT (c) 1989-1999. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.OARcorp.com/rtems/license.html. - * - * $Id$ - */ - -#if HAVE_CONFIG_H -#include "config.h" -#endif - -#include <stdio.h> - -#include <rtems/libio_.h> -#include <rtems/seterr.h> - -off_t lseek( - int fd, - off_t offset, - int whence -) -{ - rtems_libio_t *iop; - off_t old_offset; - off_t status; - - rtems_libio_check_fd( fd ); - iop = rtems_libio_iop( fd ); - rtems_libio_check_is_open(iop); - - /* - * Check as many errors as possible before touching iop->offset. - */ - - if ( !iop->handlers->lseek_h ) - rtems_set_errno_and_return_minus_one( ENOTSUP ); - - /* - * Now process the lseek(). - */ - - old_offset = iop->offset; - switch ( whence ) { - case SEEK_SET: - iop->offset = offset; - break; - - case SEEK_CUR: - iop->offset += offset; - break; - - case SEEK_END: - iop->offset = iop->size + offset; - break; - - default: - rtems_set_errno_and_return_minus_one( EINVAL ); - } - - /* - * At this time, handlers assume iop->offset has the desired - * new offset. - */ - - status = (*iop->handlers->lseek_h)( iop, offset, whence ); - if ( status == (off_t) -1 ) - iop->offset = old_offset; - - /* - * So if the operation failed, we have to restore iop->offset. - */ - - return status; -} - -/* - * _lseek_r - * - * This is the Newlib dependent reentrant version of lseek(). - */ - -#if defined(RTEMS_NEWLIB) - -#include <reent.h> - -off_t _lseek_r( - struct _reent *ptr, - int fd, - off_t offset, - int whence -) -{ - return lseek( fd, offset, whence ); -} -#endif - |