summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libc/imfs_fchmod.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libc/imfs_fchmod.c')
-rw-r--r--c/src/lib/libc/imfs_fchmod.c54
1 files changed, 0 insertions, 54 deletions
diff --git a/c/src/lib/libc/imfs_fchmod.c b/c/src/lib/libc/imfs_fchmod.c
deleted file mode 100644
index b766ed74dc..0000000000
--- a/c/src/lib/libc/imfs_fchmod.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * IMFS file change mode routine.
- *
- * 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$
- */
-
-#include <errno.h>
-
-#include "libio_.h"
-#include "imfs.h"
-
-int IMFS_fchmod(
- rtems_filesystem_location_info_t *loc,
- mode_t mode
-)
-{
- IMFS_jnode_t *jnode;
-#if defined(RTEMS_POSIX_API)
- uid_t st_uid;
-#endif
-
- jnode = loc->node_access;
-
- /*
- * Verify I am the owner of the node or the super user.
- */
-#if defined(RTEMS_POSIX_API)
- st_uid = geteuid();
-
- if ( ( st_uid != jnode->st_uid ) && ( st_uid != 0 ) )
- set_errno_and_return_minus_one( EPERM );
-#endif
-
- /*
- * Change only the RWX permissions on the jnode to mode.
- */
- if ( mode & (~ (S_IRWXU | S_IRWXG | S_IRWXO ) ) )
- set_errno_and_return_minus_one( EPERM );
-
- jnode->st_mode &= ~(S_IRWXU | S_IRWXG | S_IRWXO);
- jnode->st_mode |= mode;
-
- IMFS_update_ctime( jnode );
-
- return 0;
-}
-