## f_chmod

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

    FRESULT f_chmod (
      const XCHAR* FileName, /* Pointer to the file or directory */
      BYTE Attribute,        /* Attribute flags */
      BYTE AttributeMask     /* Attribute masks */
    );

#### Parameters

FileName
  Pointer to the null-terminated string that specifies a file or directory to be changed
Attribute
  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

AttributeMask
  Attribute mask that specifies which attribute is changed. The specified aattributes are set or cleard.

#### Return Values

FR_OK (0)
  The function succeeded.
FR_NO_FILE
  Could not find the file.
FR_NO_PATH
  Could not find the path.
FR_INVALID_NAME
  The file name is invalid.
FR_INVALID_DRIVE
  The drive number is invalid.
FR_NOT_READY
  The disk drive cannot work due to no medium in the drive or any other reason.
FR_WRITE_PROTECTED
  The medium is write protected.
FR_DISK_ERR
  The function failed due to an error in the disk function.
FR_INT_ERR
  The function failed due to a wrong FAT structure or an internal error.
FR_NOT_ENABLED
  The logical drive has no work area.
FR_NO_FILESYSTEM
  There is no valid FAT volume on the disk.

#### Description

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

#### QuickInfo

Available when `_FS_READONLY == 0` and `_FS_MINIMIZE == 0`.

#### Example

        // Set read-only flag, clear archive flag and others are retained.
        f_chmod("file.txt", AR_RDO, AR_RDO | AR_ARC);

Return