FatFs - f_setlabel

## f_setlabel

The f_setlabel function sets/removes the label of a volume.

    FRESULT f_setlabel (
      const TCHAR* label  /* [IN] Volume label to be set */
    );

#### Parameters

label
  Pointer to the null-terminated string that specifies the volume label to be set.

#### Return Values

FR_OK, FR_DISK_ERR, FR_INT_ERR, FR_NOT_READY, FR_INVALID_NAME, FR_WRITE_PROTECTED, FR_INVALID_DRIVE, FR_NOT_ENABLED, FR_NO_FILESYSTEM, FR_TIMEOUT

#### Description

When the string has a drive number, the volume label will be set to the volume specified by the drive number. If not, the volume label will be set to the default drive. If length of the given volume label is zero, the volume label on the volume will be removed. The format of the volume label on the FAT volume is similar to the file name but there are some differences shown below:

- Spaces can be contained anywhere in the volume label. Trailing spaces are truncated off at FAT volume.
- Period is not allowed.
- Up to 11 bytes long as conversion of OEM code page at FAT volume.
- Up to 11 characters long at exFAT volume. Case information is preserved.

Remark: The standard system (Windows) has a problem at handling of the volume label with a heading `\xE5` on the FAT volume. To avoid this problem, this function rejects such volume label as invalid name.

#### QuickInfo

Available when `_FS_READONLY == 0` and `_USE_LABEL == 1`.

#### Example

        /* Set volume label to the default drive */
        f_setlabel("DATA DISK");

        /* Set volume label to the drive 2 */
        f_setlabel("2:DISK 3 OF 4");

        /* Remove volume label of the drive 2 */
        f_setlabel("2:");

#### See Also

`f_getlabel`

Return