## f_chmod

The f_chmod function changes the attribute of a file or sub-directory.

    FRESULT f_chmod (
      const TCHAR* path, /* [IN] Object name */
      BYTE attr,         /* [IN] Attribute flags */
      BYTE mask          /* [IN] Attribute masks */
    );

#### Parameters

path
  Pointer to the null-terminated string that specifies an object to be changed. If a null pointer is given, the function fails with `FR_INVALID_OBJECT`.
attr
  Attribute flags to be set in one or more combination of the following flags. The specified flags are set and others are cleard.

  Attribute | Description
  --- | ---
  AM_RDO | Read only
  AM_ARC | Archive
  AM_SYS | System
  AM_HID | Hidden

mask
  Attribute mask that specifies which attribute is changed. The specified attributes are set or cleard and others are left unchanged.

#### Return Values

FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_NO_FILE, FR_NO_PATH, FR_INVALID_NAME, FR_WRITE_PROTECTED, FR_INVALID_DRIVE, FR_NOT_ENABLED, FR_NO_FILESYSTEM, FR_TIMEOUT, FR_NOT_ENOUGH_CORE

#### Description

The `f_chmod` function changes the attribute of a file or sub-directory.

#### QuickInfo

Available when `FF_FS_READONLY == 0` and `FF_USE_CHMOD == 1`.

#### Example

        /* Set Read-only, clear Archive and others are left unchanged. */
        f_chmod("file.txt", AM_RDO, AM_RDO | AM_ARC);

Return