summaryrefslogtreecommitdiffstats
path: root/c/src/exec/libcsupport/src/lseek.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--c/src/exec/libcsupport/src/lseek.c102
1 files changed, 0 insertions, 102 deletions
diff --git a/c/src/exec/libcsupport/src/lseek.c b/c/src/exec/libcsupport/src/lseek.c
deleted file mode 100644
index 0a87a4997d..0000000000
--- a/c/src/exec/libcsupport/src/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
-