diff options
Diffstat (limited to 'mtoolsDirentry.h')
-rw-r--r-- | mtoolsDirentry.h | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/mtoolsDirentry.h b/mtoolsDirentry.h index 2ad0c29..4c3960b 100644 --- a/mtoolsDirentry.h +++ b/mtoolsDirentry.h @@ -21,11 +21,15 @@ typedef struct direntry_t { struct Stream_t *Dir; - /* struct direntry_t *parent; parent level */ - int entry; /* slot in parent directory (-3 if root) */ - struct directory dir; /* descriptor in parent directory (random if + /* struct direntry_t *parent; parent level */ + int entry; /* slot in parent directory */ + /* Negative values have the following meanings: + -1 not initialized + -2 entry searched for, but not found + -3 root directory */ + struct directory dir; /* descriptor in parent directory (random if * root)*/ - wchar_t name[MAX_VNAMELEN+1]; /* name in its parent directory, or + wchar_t name[MAX_VNAMELEN+1]; /* name in its parent directory, or * NULL if root */ int beginSlot; /* begin and end slot, for delete */ int endSlot; @@ -33,10 +37,17 @@ typedef struct direntry_t { #include "stream.h" -int vfat_lookup(direntry_t *entry, const char *filename, int length, int flags, +int vfat_lookup(direntry_t *entry, const char *filename, size_t length, + int flags, char *shortname, size_t shortname_len, char *longname, size_t longname_len); +int vfat_lookup_zt(direntry_t *entry, const char *filename, + int flags, + char *shortname, size_t shortname_len, + char *longname, size_t longname_len); + + struct directory *dir_read(direntry_t *entry, int *error); void initializeDirentry(direntry_t *entry, struct Stream_t *Dir); @@ -54,7 +65,7 @@ int isSubdirOf(Stream_t *inside, Stream_t *outside); char *getPwd(direntry_t *entry); void fprintPwd(FILE *f, direntry_t *entry, int escape); void fprintShortPwd(FILE *f, direntry_t *entry); -int write_vfat(Stream_t *, dos_name_t *, char *, int, direntry_t *); +int write_vfat(Stream_t *, dos_name_t *, char *, unsigned int, direntry_t *); void wipeEntry(struct direntry_t *entry); @@ -64,7 +75,7 @@ int lookupForInsert(Stream_t *Dir, direntry_t *direntry, struct dos_name_t *dosname, char *longname, - struct scan_state *ssp, + struct scan_state *ssp, int ignore_entry, int source_entry, int pessimisticShortRename, |