Lines Matching refs:lfn

1431 static void lfn_init(long_file_name* lfn)
1433 lfn->sequence_number = lfn->len = 0;
1434 lfn->checksum = 0x100;
1438 static int parse_long_name(long_file_name* lfn,
1448 lfn->sequence_number = pointer[0] & 0x3f;
1449 lfn->checksum = pointer[13];
1450 lfn->name[0] = 0;
1451 lfn->name[lfn->sequence_number * 13] = 0;
1452 } else if ((pointer[0] & 0x3f) != --lfn->sequence_number)
1454 else if (pointer[13] != lfn->checksum)
1459 offset = 13 * (lfn->sequence_number - 1);
1467 lfn->name[offset + i] = pointer[j];
1471 lfn->name[offset + i] = 0;
1475 lfn->len = offset + strlen((char*)lfn->name + offset);
1482 long_file_name* lfn, direntry_t* direntry)
1494 lfn->name[i] = qemu_tolower(direntry->name[i]);
1496 lfn->name[i] = direntry->name[i];
1501 lfn->name[i++] = '.';
1502 lfn->name[i + j + 1] = '\0';
1507 lfn->name[i + j] = qemu_tolower(direntry->extension[j]);
1509 lfn->name[i + j] = direntry->extension[j];
1512 lfn->name[i + j + 1] = '\0';
1514 lfn->len = strlen((char*)lfn->name);
1741 long_file_name lfn;
1765 lfn_init(&lfn);
1796 subret = parse_long_name(&lfn, direntries + i);
1804 if (fat_chksum(direntries+i) != lfn.checksum) {
1805 subret = parse_short_name(s, &lfn, direntries + i);
1810 if (subret > 0 || !strcmp((char*)lfn.name, ".")
1811 || !strcmp((char*)lfn.name, ".."))
1814 lfn.checksum = 0x100; /* cannot use long name twice */
1816 if (path_len + 1 + lfn.len >= PATH_MAX) {
1817 fprintf(stderr, "Name too long: %s/%s\n", path, lfn.name);
1821 (char*)lfn.name);
2694 long_file_name lfn;
2696 lfn_init(&lfn);
2708 if (parse_long_name(&lfn, direntries + k) < 0) {