CHFLAGS(2) BSD Programmer's Manual CHFLAGS(2) NNAAMMEE cchhffllaaggss, ffcchhffllaaggss - set file flags SSYYNNOOPPSSIISS ##iinncclluuddee <<ssyyss//ssttaatt..hh>> ##iinncclluuddee <<uunniissttdd..hh>> _i_n_t cchhffllaaggss(_c_o_n_s_t _c_h_a_r _*_p_a_t_h, _u___l_o_n_g _f_l_a_g_s); _i_n_t ffcchhffllaaggss(_i_n_t _f_d, _u___l_o_n_g _f_l_a_g_s); DDEESSCCRRIIPPTTIIOONN The file whose name is given by _p_a_t_h or referenced by the descriptor _f_d has its flags changed to _f_l_a_g_s. The flags specified are formed by _o_r'ing the following values UF_NODUMP Do not dump the file. UF_IMMUTABLE The file may not be changed. UF_APPEND The file may only be appended to. SF_IMMUTABLE The file may not be changed. SF_APPEND The file may only be appended to. The ``UF_IMMUTABLE'' and ``UF_APPEND'' flags may be set or unset by ei- ther the owner of a file or the super-user. The ``SF_IMMUTABLE'' and ``SF_APPEND'' flags may only be set or unset by the super-user. They may be set at any time, but normally may only be unset when the system is in single-user mode. (See init(8) for details.) RREETTUURRNN VVAALLUUEESS Upon successful completion, a value of 0 is returned. Otherwise, -1 is returned and the global variable _e_r_r_n_o is set to indicate the error. EERRRROORRSS CChhffllaaggss() will fail it: [ENOTDIR] A component of the path prefix is not a directory. [EINVAL] The pathname contains a character with the high-order bit set. [ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters. [ENOENT] The named file does not exist. [EACCES] Search permission is denied for a component of the path prefix. [ELOOP] Too many symbolic links were encountered in translating the pathname. [EPERM] The effective user ID does not match the owner of the file and the effective user ID is not the super-user. [EROFS] The named file resides on a read-only file system. [EFAULT] _P_a_t_h points outside the process's allocated address space. [EIO] An I/O error occurred while reading from or writing to the file system. FFcchhffllaaggss() will fail if: [EBADF] The descriptor is not valid. [EINVAL] _F_d refers to a socket, not to a file. [EPERM] The effective user ID does not match the owner of the file and the effective user ID is not the super-user. [EROFS] The file resides on a read-only file system. [EIO] An I/O error occurred while reading from or writing to the file system. SSEEEE AALLSSOO chflags(1,) init(8) HHIISSTTOORRYY The cchhffllaaggss and ffcchhffllaaggss functions first appeared in 4.4BSD. 4.4BSD June 9, 1993 2