Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 27678a0 in mainline


Ignore:
Timestamp:
2011-07-14T12:16:14Z (10 years ago)
Author:
Oleg Romanenko <romanenko.oleg@…>
Branches:
lfn, master
Children:
73b1218
Parents:
944aa24
Message:

exFAT: functions exfat_directory_find and exfat_directory_find_continue
to search entry type in directory

Location:
uspace/srv/fs/exfat
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/fs/exfat/exfat_directory.c

    r944aa24 r27678a0  
    157157}
    158158
     159int exfat_directory_find(exfat_directory_t *di, exfat_dentry_clsf_t type, exfat_dentry_t **d)
     160{
     161        do {
     162                if (exfat_directory_get(di, d) == EOK) {
     163                        if (exfat_classify_dentry(*d) == type)
     164                                return EOK;
     165                } else
     166                        return ENOENT;
     167        } while (exfat_directory_next(di) == EOK);
     168       
     169        return ENOENT;
     170}
     171
     172int exfat_directory_find_continue(exfat_directory_t *di, exfat_dentry_clsf_t type, exfat_dentry_t **d)
     173{
     174        int rc;
     175        rc = exfat_directory_next(di);
     176        if (rc != EOK)
     177                return rc;
     178        return exfat_directory_find(di, type, d);
     179}
    159180
    160181/**
  • uspace/srv/fs/exfat/exfat_directory.h

    r944aa24 r27678a0  
    5858extern int exfat_directory_seek(exfat_directory_t *di, aoff64_t pos);
    5959extern int exfat_directory_get(exfat_directory_t *di, exfat_dentry_t **de);
     60extern int exfat_directory_find(exfat_directory_t *di,
     61    exfat_dentry_clsf_t type, exfat_dentry_t **d);
     62extern int exfat_directory_find_continue(exfat_directory_t *di,
     63    exfat_dentry_clsf_t type, exfat_dentry_t **d);
    6064
    6165extern int exfat_directory_expand(exfat_directory_t *di);
Note: See TracChangeset for help on using the changeset viewer.