Lines Matching refs:de

14  *  Short name translation 1999, 2001 by Wolfram Pienkoss <wp@bszh.de>
43 struct msdos_dir_entry *de)
46 | (de - (struct msdos_dir_entry *)bh->b_data);
76 AV. OK, there we go: if both bh and de are non-NULL we assume that we just
77 AV. want the next entry (took one explicit de=NULL in vfat/namei.c).
83 struct buffer_head **bh, struct msdos_dir_entry **de)
111 *de = (struct msdos_dir_entry *)((*bh)->b_data + offset);
118 struct msdos_dir_entry **de)
121 if (*bh && *de &&
122 (*de - (struct msdos_dir_entry *)(*bh)->b_data) <
125 (*de)++;
128 return fat__get_entry(dir, pos, bh, de);
277 * @de: On input, points to the current directory entry.
292 struct buffer_head **bh, struct msdos_dir_entry **de,
306 ds = (struct msdos_dir_slot *)*de;
328 if (fat_get_entry(dir, pos, bh, de) < 0)
332 ds = (struct msdos_dir_slot *)*de;
340 if ((*de)->name[0] == DELETED_FLAG)
342 if ((*de)->attr == ATTR_EXT)
344 if (IS_FREE((*de)->name) || ((*de)->attr & ATTR_VOLUME))
346 if (fat_checksum((*de)->name) != alias_checksum)
355 * @de: directory entry to parse
362 const struct msdos_dir_entry *de,
377 if (!isvfat && dot_hidden && (de->attr & ATTR_HIDDEN)) {
382 memcpy(work, de->name, sizeof(work));
396 de->lcase & CASE_LOWER_BASE);
432 de->lcase & CASE_LOWER_EXT);
481 struct msdos_dir_entry *de;
490 if (fat_get_entry(inode, &cpos, &bh, &de) == -1)
494 if (de->name[0] == DELETED_FLAG)
496 if (de->attr != ATTR_EXT && (de->attr & ATTR_VOLUME))
498 if (de->attr != ATTR_EXT && IS_FREE(de->name))
500 if (de->attr == ATTR_EXT) {
501 int status = fat_parse_long(inode, &cpos, &bh, &de,
519 len = fat_parse_short(sb, de, bufname, 0);
539 nr_slots++; /* include the de */
540 sinfo->slot_off = cpos - nr_slots * sizeof(*de);
542 sinfo->de = de;
544 sinfo->i_pos = fat_make_i_pos(sb, sinfo->bh, sinfo->de);
572 struct msdos_dir_entry *de;
602 if (fat_get_entry(inode, &cpos, &bh, &de) == -1)
611 if (de->name[0] == DELETED_FLAG)
613 if (de->attr != ATTR_EXT && (de->attr & ATTR_VOLUME))
615 if (de->attr != ATTR_EXT && IS_FREE(de->name))
618 if ((de->attr & ATTR_VOLUME) || IS_FREE(de->name))
622 if (isvfat && de->attr == ATTR_EXT) {
623 int status = fat_parse_long(inode, &cpos, &bh, &de,
647 short_len = fat_parse_short(sb, de, bufname,
662 short_len = fat_parse_short(sb, de, bufname, sbi->options.dotsOK);
674 if (!memcmp(de->name, MSDOS_DOT, MSDOS_NAME)) {
677 } else if (!memcmp(de->name, MSDOS_DOTDOT, MSDOS_NAME)) {
682 loff_t i_pos = fat_make_i_pos(sb, bh, de);
690 (de->attr & ATTR_DIR) ? DT_DIR : DT_REG))
883 struct msdos_dir_entry **de)
885 while (fat_get_entry(dir, pos, bh, de) >= 0) {
887 if (!IS_FREE((*de)->name) && !((*de)->attr & ATTR_VOLUME))
903 struct msdos_dir_entry **de)
907 *de = NULL;
908 while (fat_get_short_entry(dir, &offset, bh, de) >= 0) {
909 if (!strncmp((*de)->name, MSDOS_DOTDOT, MSDOS_NAME))
920 struct msdos_dir_entry *de;
926 while (fat_get_short_entry(dir, &cpos, &bh, &de) >= 0) {
927 if (strncmp(de->name, MSDOS_DOT , MSDOS_NAME) &&
928 strncmp(de->name, MSDOS_DOTDOT, MSDOS_NAME)) {
945 struct msdos_dir_entry *de;
951 while (fat_get_short_entry(dir, &cpos, &bh, &de) >= 0) {
952 if (de->attr & ATTR_DIR)
971 &sinfo->de) >= 0) {
972 if (!strncmp(sinfo->de->name, name, MSDOS_NAME)) {
973 sinfo->slot_off -= sizeof(*sinfo->de);
975 sinfo->i_pos = fat_make_i_pos(sb, sinfo->bh, sinfo->de);
995 &sinfo->de) >= 0) {
996 if (fat_get_start(MSDOS_SB(sb), sinfo->de) == i_logstart) {
997 sinfo->slot_off -= sizeof(*sinfo->de);
999 sinfo->i_pos = fat_make_i_pos(sb, sinfo->bh, sinfo->de);
1010 struct msdos_dir_entry *de, *endp;
1015 if (fat_get_entry(dir, &pos, &bh, &de) < 0) {
1022 while (nr_slots && de < endp) {
1023 de->name[0] = DELETED_FLAG;
1024 de++;
1034 /* pos is *next* de's position, so this does `- sizeof(de)' */
1035 pos += ((orig_slots - nr_slots) * sizeof(*de)) - sizeof(*de);
1044 struct msdos_dir_entry *de;
1053 de = sinfo->de;
1054 sinfo->de = NULL;
1057 while (nr_slots && de >= (struct msdos_dir_entry *)bh->b_data) {
1058 de->name[0] = DELETED_FLAG;
1059 de--;
1150 struct msdos_dir_entry *de;
1169 de = (struct msdos_dir_entry *)bhs[0]->b_data;
1173 memcpy(de[0].name, MSDOS_DOT, MSDOS_NAME);
1174 memcpy(de[1].name, MSDOS_DOTDOT, MSDOS_NAME);
1175 de->attr = de[1].attr = ATTR_DIR;
1176 de[0].lcase = de[1].lcase = 0;
1177 de[0].time = de[1].time = time;
1178 de[0].date = de[1].date = date;
1181 de[0].ctime = de[1].ctime = time;
1182 de[0].ctime_cs = de[1].ctime_cs = time_cs;
1183 de[0].adate = de[0].cdate = de[1].adate = de[1].cdate = date;
1185 de[0].ctime = de[1].ctime = 0;
1186 de[0].ctime_cs = de[1].ctime_cs = 0;
1187 de[0].adate = de[0].cdate = de[1].adate = de[1].cdate = 0;
1189 fat_set_start(&de[0], cluster);
1190 fat_set_start(&de[1], MSDOS_I(dir)->i_logstart);
1191 de[0].size = de[1].size = 0;
1192 memset(de + 2, 0, sb->s_blocksize - 2 * sizeof(*de));
1211 int *nr_cluster, struct msdos_dir_entry **de,
1271 *de = (struct msdos_dir_entry *)((*bh)->b_data + offset);
1272 *i_pos = fat_make_i_pos(sb, *bh, *de);
1299 struct msdos_dir_entry *de;
1310 while (fat_get_entry(dir, &pos, &bh, &de) > -1) {
1315 if (IS_FREE(de->name)) {
1343 pos -= free_slots * sizeof(*de);
1351 int size = free_slots * sizeof(*de);
1389 &de, &bh, &i_pos);
1408 sinfo->de = de;
1410 sinfo->i_pos = fat_make_i_pos(sb, sinfo->bh, sinfo->de);