diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-10-18 16:53:57 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-10-18 16:53:57 +0000 |
commit | bfac6a7577b20a4f8410446902658294f848da9f (patch) | |
tree | b4eddf147150661137a75a2470ae5ef5e3431db1 /c/src/lib/libc/imfs_fchmod.c | |
parent | 2000-10-18 Joel Sherrill <joel@OARcorp.com> (diff) | |
download | rtems-bfac6a7577b20a4f8410446902658294f848da9f.tar.bz2 |
2000-10-18 Chris Johns <ccj@acm.org>
* libfs created.
* libc/deviceio.c, libc/imfs_getchild.c, libc/imfs_readlink.c,
libc/imfs.h, libc/imfs_gtkn.c, libc/imfs_rmnod.c, libc/imfs_chown.c,
libc/imfs_handlers_device.c, libc/imfs_stat.c, libc/imfs_creat.c,
libc/imfs_handlers_directory.c, libc/imfs_symlink.c, libc/imfs_debug.c,
libc/imfs_handlers_link.c, libc/imfs_unixstub.c, libc/imfs_directory.c,
libc/imfs_handlers_memfile.c, libc/imfs_unlink.c, libc/imfs_eval.c,
libc/imfs_init.c, libc/imfs_unmount.c, libc/imfs_fchmod.c,
libc/imfs_initsupp.c, libc/imfs_utime.c, libc/imfs_fcntl.c,
libc/imfs_link.c, libc/memfile.c, libc/imfs_fdatasync.c,
libc/imfs_mknod.c, libc/miniimfs_init.c, libc/imfs_free.c,
libc/imfs_mount.c, libc/imfs_fsunmount.c, libc/imfs_ntype.c:
Moved to libfs/src/imfs.
* Makefile.am: Modified to reflect above.
Diffstat (limited to '')
-rw-r--r-- | c/src/lib/libc/imfs_fchmod.c | 54 |
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; -} - |