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);
280 struct buffer_head **bh, struct msdos_dir_entry **de,
294 ds = (struct msdos_dir_slot *)*de;
316 if (fat_get_entry(dir, pos, bh, de) < 0)
320 ds = (struct msdos_dir_slot *)*de;
328 if ((*de)->name[0] == DELETED_FLAG)
330 if ((*de)->attr == ATTR_EXT)
332 if (IS_FREE((*de)->name) || ((*de)->attr & ATTR_VOLUME))
334 if (fat_checksum((*de)->name) != alias_checksum)
343 * @de: directory entry to parse
350 const struct msdos_dir_entry *de,
365 if (!isvfat && dot_hidden && (de->attr & ATTR_HIDDEN)) {
370 memcpy(work, de->name, sizeof(work));
384 de->lcase & CASE_LOWER_BASE);
420 de->lcase & CASE_LOWER_EXT);
469 struct msdos_dir_entry *de;
478 if (fat_get_entry(inode, &cpos, &bh, &de) == -1)
482 if (de->name[0] == DELETED_FLAG)
484 if (de->attr != ATTR_EXT && (de->attr & ATTR_VOLUME))
486 if (de->attr != ATTR_EXT && IS_FREE(de->name))
488 if (de->attr == ATTR_EXT) {
489 int status = fat_parse_long(inode, &cpos, &bh, &de,
507 len = fat_parse_short(sb, de, bufname, 0);
527 nr_slots++; /* include the de */
528 sinfo->slot_off = cpos - nr_slots * sizeof(*de);
530 sinfo->de = de;
532 sinfo->i_pos = fat_make_i_pos(sb, sinfo->bh, sinfo->de);
560 struct msdos_dir_entry *de;
590 if (fat_get_entry(inode, &cpos, &bh, &de) == -1)
599 if (de->name[0] == DELETED_FLAG)
601 if (de->attr != ATTR_EXT && (de->attr & ATTR_VOLUME))
603 if (de->attr != ATTR_EXT && IS_FREE(de->name))
606 if ((de->attr & ATTR_VOLUME) || IS_FREE(de->name))
610 if (isvfat && de->attr == ATTR_EXT) {
611 int status = fat_parse_long(inode, &cpos, &bh, &de,
635 short_len = fat_parse_short(sb, de, bufname,
650 short_len = fat_parse_short(sb, de, bufname, sbi->options.dotsOK);
662 if (!memcmp(de->name, MSDOS_DOT, MSDOS_NAME)) {
665 } else if (!memcmp(de->name, MSDOS_DOTDOT, MSDOS_NAME)) {
670 loff_t i_pos = fat_make_i_pos(sb, bh, de);
678 (de->attr & ATTR_DIR) ? DT_DIR : DT_REG))
871 struct msdos_dir_entry **de)
873 while (fat_get_entry(dir, pos, bh, de) >= 0) {
875 if (!IS_FREE((*de)->name) && !((*de)->attr & ATTR_VOLUME))
891 struct msdos_dir_entry **de)
895 *de = NULL;
896 while (fat_get_short_entry(dir, &offset, bh, de) >= 0) {
897 if (!strncmp((*de)->name, MSDOS_DOTDOT, MSDOS_NAME))
908 struct msdos_dir_entry *de;
914 while (fat_get_short_entry(dir, &cpos, &bh, &de) >= 0) {
915 if (strncmp(de->name, MSDOS_DOT , MSDOS_NAME) &&
916 strncmp(de->name, MSDOS_DOTDOT, MSDOS_NAME)) {
933 struct msdos_dir_entry *de;
939 while (fat_get_short_entry(dir, &cpos, &bh, &de) >= 0) {
940 if (de->attr & ATTR_DIR)
959 &sinfo->de) >= 0) {
960 if (!strncmp(sinfo->de->name, name, MSDOS_NAME)) {
961 sinfo->slot_off -= sizeof(*sinfo->de);
963 sinfo->i_pos = fat_make_i_pos(sb, sinfo->bh, sinfo->de);
983 &sinfo->de) >= 0) {
984 if (fat_get_start(MSDOS_SB(sb), sinfo->de) == i_logstart) {
985 sinfo->slot_off -= sizeof(*sinfo->de);
987 sinfo->i_pos = fat_make_i_pos(sb, sinfo->bh, sinfo->de);
998 struct msdos_dir_entry *de, *endp;
1003 if (fat_get_entry(dir, &pos, &bh, &de) < 0) {
1010 while (nr_slots && de < endp) {
1011 de->name[0] = DELETED_FLAG;
1012 de++;
1022 /* pos is *next* de's position, so this does `- sizeof(de)' */
1023 pos += ((orig_slots - nr_slots) * sizeof(*de)) - sizeof(*de);
1032 struct msdos_dir_entry *de;
1041 de = sinfo->de;
1042 sinfo->de = NULL;
1045 while (nr_slots && de >= (struct msdos_dir_entry *)bh->b_data) {
1046 de->name[0] = DELETED_FLAG;
1047 de--;
1138 struct msdos_dir_entry *de;
1157 de = (struct msdos_dir_entry *)bhs[0]->b_data;
1161 memcpy(de[0].name, MSDOS_DOT, MSDOS_NAME);
1162 memcpy(de[1].name, MSDOS_DOTDOT, MSDOS_NAME);
1163 de->attr = de[1].attr = ATTR_DIR;
1164 de[0].lcase = de[1].lcase = 0;
1165 de[0].time = de[1].time = time;
1166 de[0].date = de[1].date = date;
1169 de[0].ctime = de[1].ctime = time;
1170 de[0].ctime_cs = de[1].ctime_cs = time_cs;
1171 de[0].adate = de[0].cdate = de[1].adate = de[1].cdate = date;
1173 de[0].ctime = de[1].ctime = 0;
1174 de[0].ctime_cs = de[1].ctime_cs = 0;
1175 de[0].adate = de[0].cdate = de[1].adate = de[1].cdate = 0;
1177 fat_set_start(&de[0], cluster);
1178 fat_set_start(&de[1], MSDOS_I(dir)->i_logstart);
1179 de[0].size = de[1].size = 0;
1180 memset(de + 2, 0, sb->s_blocksize - 2 * sizeof(*de));
1199 int *nr_cluster, struct msdos_dir_entry **de,
1259 *de = (struct msdos_dir_entry *)((*bh)->b_data + offset);
1260 *i_pos = fat_make_i_pos(sb, *bh, *de);
1287 struct msdos_dir_entry *de;
1298 while (fat_get_entry(dir, &pos, &bh, &de) > -1) {
1303 if (IS_FREE(de->name)) {
1331 pos -= free_slots * sizeof(*de);
1339 int size = free_slots * sizeof(*de);
1377 &de, &bh, &i_pos);
1396 sinfo->de = de;
1398 sinfo->i_pos = fat_make_i_pos(sb, sinfo->bh, sinfo->de);