## 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
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