## 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 prefix, the volume label will be set to the volume specified by the drive prefix. Unix style volume ID cannot be used to specify the volume. If drive number is not specified, 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 is as shown below:

- Up to 11 bytes long as conversion of OEM code page at FAT volume.
- Up to 11 characters long at exFAT volume.
- Allowable characters for FAT volume are: `! # $ % & ' ( ) - ^ _ ` ~ { } 0-9 A-Z a-z` and extended characters. Low-case characters are up converted.
- Allowable characters for exFAT volume are: characters allowed for FAT volume and `" + , . ; = [ ]`. Low-case characters are preserved.
- Spaces can be contained anywhere in the volume label. Trailing spaces are truncated off at FAT volume.

Remark: The standard system (Windows) has a problem at 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 `FF_FS_READONLY == 0` and `FF_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