Lines Matching full:label

355 #define	AM_VOL		0x08	/* Volume label */
409 #define BS_VolLab 43 /* Volume label string (8-byte) */
424 #define BS_VolLab32 71 /* FAT32: Volume label string (8-byte) */
482 #define XDIR_NumLabel 1 /* Number of volume label characters (BYTE) */
483 #define XDIR_Label 2 /* Volume label (11-WORD) */
2091 int vol /* Filtered by 0:file/directory or 1:volume label */
2109 if (c == 0x83) break; /* Volume label entry? */
4849 /* Get Volume Label */
4854 TCHAR* label, /* Pointer to a buffer to return the volume label */ argument
4869 /* Get volume label */
4870 if (res == FR_OK && label) {
4874 res = dir_read(&dj, 1); /* Find a volume label entry */
4878 for (si = di = 0; si < dj.dir[XDIR_NumLabel]; si++) { /* Extract volume label from 83 entry */
4881 label[di++] = w;
4885 if (_DF1S && w >= 0x100) label[di++] = (char)(w >> 8);
4886 label[di++] = (char)w;
4889 label[di] = 0;
4893 si = di = 0; /* Extract volume label from AM_VOL entry with code comversion */
4900 label[di++] = ff_convert(w, 1); /* OEM -> Unicode */
4902 label[di++] = dj.dir[si++];
4906 label[di] = 0;
4908 } while (label[--di] == ' ');
4912 if (res == FR_NO_FILE) { /* No label entry and return nul string */
4913 label[0] = 0;
4938 /* Set Volume Label */
4942 const TCHAR* label /* Pointer to the volume label to set */ argument
4955 res = find_volume(&label, &fs, FA_WRITE);
4959 /* Get length of given volume label */
4960 for (slen = 0; (UINT)label[slen] >= ' '; slen++) ; /* Get name length */
4964 for (i = j = 0; i < slen; ) { /* Create volume label in directory form */
4965 w = label[i++];
4968 w = (i < slen && IsDBCS2(label[i])) ? w << 8 | (BYTE)label[i++] : 0;
4972 …(w == 0 || chk_chr(badchr, w) || j == 22) { /* Check validity check validity of the volume label */
4981 for ( ; slen && label[slen - 1] == ' '; slen--) ; /* Remove trailing spaces */
4982 if (slen) { /* Is there a volume label to be set? */
4983 dirvn[0] = 0; i = j = 0; /* Create volume label in directory form */
4986 w = ff_convert(ff_wtoupper(label[i++]), 0);
4988 w = (BYTE)label[i++];
4990 w = (j < 10 && i < slen && IsDBCS2(label[i])) ? w << 8 | (BYTE)label[i++] : 0;
5003 …dchr, w) || j >= (UINT)((w >= 0x100) ? 10 : 11)) { /* Reject invalid characters for volume label */
5014 /* Set volume label */
5018 res = dir_read(&dj, 1); /* Get volume label entry */
5021 dj.dir[XDIR_NumLabel] = (BYTE)(slen / 2); /* Change the volume label */
5025 mem_cpy(dj.dir, dirvn, 11); /* Change the volume label */
5027 dj.dir[DIR_Name] = DDEM; /* Remove the volume label */
5032 } else { /* No volume label entry is found or error */
5035 if (slen) { /* Create a volume label entry */
5044 dj.dir[DIR_Attr] = AM_VOL; /* Create volume label entry */
5417 buf[SZDIRE * 0 + 0] = 0x83; /* 83 entry (volume label) */
5579 mem_cpy(buf + BS_VolLab32, "NO NAME " "FAT32 ", 19); /* Volume label, FAT signature */
5585 mem_cpy(buf + BS_VolLab, "NO NAME " "FAT ", 19); /* Volume label, FAT signature */