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/fchdir.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/fchdir.c')
-rw-r--r-- | c/src/lib/libc/fchdir.c | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/c/src/lib/libc/fchdir.c b/c/src/lib/libc/fchdir.c deleted file mode 100644 index 7c984bc892..0000000000 --- a/c/src/lib/libc/fchdir.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * fchdir() - compatible with SVr4, 4.4BSD and X/OPEN - Change Directory - * - * COPYRIGHT (c) 1989-2000. - * 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 <unistd.h> -#include <sys/stat.h> -#include <errno.h> - -#include <rtems.h> -#include <rtems/libio.h> -#include <rtems/libio_.h> -#include <rtems/seterr.h> - -int fchdir( - int fd -) -{ - rtems_libio_t *iop; - - rtems_libio_check_fd( fd ); - iop = rtems_libio_iop( fd ); - rtems_libio_check_is_open(iop); - - /* - * Now process the fchmod(). - */ - - rtems_libio_check_permissions( iop, LIBIO_FLAGS_READ ); - - /* - * Verify you can change directory into this node. - */ - - if ( !iop->pathinfo.ops ) { - rtems_set_errno_and_return_minus_one( ENOTSUP ); - } - - if ( !iop->pathinfo.ops->node_type_h ) { - rtems_set_errno_and_return_minus_one( ENOTSUP ); - } - - if ( (*iop->pathinfo.ops->node_type_h)( &iop->pathinfo ) != - RTEMS_FILESYSTEM_DIRECTORY ) { - rtems_set_errno_and_return_minus_one( ENOTDIR ); - } - - rtems_filesystem_freenode( &rtems_filesystem_current ); - - /* - * FIXME : I feel there should be another call to - * actually take into account the extra reference to - * this node which we are making here. I can - * see the freenode interface but do not see - * allocnode node interface. It maybe node_type. - */ - - rtems_filesystem_current = iop->pathinfo; - - return 0; -} - |