/*************************************************************** SYS-CHMOD.C This file contains Linux/i386/ILP32 implementation of __cpu_sys_chmod(). PART OF : CPU - library . USAGE : Internal only . Copyright (C) 2026 by Andrew V.Kosteltsev. All Rights Reserved. ***************************************************************/ #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include #include "cpu-mode-linux.h" __mpu_int64_t __cpu_sys_chmod( int dirfd, const char *path, __mpu_uint64_t mode ) { mode_t host_mode; int error; if( !path ) return( -(__mpu_int64_t)__MCPU_EFAULT ); error = __cpu_mode_to_host( mode, &host_mode ); if( error ) return( -(__mpu_int64_t)error ); if( fchmodat( dirfd, path, host_mode, 0 ) < 0 ) return( -(__mpu_int64_t)__cpu_errno_from_host( errno ) ); return( 0 ); } /* End of __cpu_sys_chmod() */