minix/commands/i386/mtools-3.9.7/mtoolsDirent.h
2005-04-21 14:53:53 +00:00

40 lines
1.3 KiB
C
Executable file

#ifndef MTOOLS_DIRENTRY_H
#define MTOOLS_DIRENTRY_H
#include "sysincludes.h"
#include "vfat.h"
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
* root)*/
char name[MAX_VNAMELEN+1]; /* name in its parent directory, or
* NULL if root */
int beginSlot; /* begin and end slot, for delete */
int endSlot;
} direntry_t;
#include "stream.h"
int vfat_lookup(direntry_t *entry, const char *filename, int length,
int flags, char *shortname, char *longname);
struct directory *dir_read(direntry_t *entry, int *error);
void initializeDirentry(direntry_t *entry, struct Stream_t *Dir);
int isNotFound(direntry_t *entry);
direntry_t *getParent(direntry_t *entry);
void dir_write(direntry_t *entry);
void low_level_dir_write(direntry_t *entry);
int fatFreeWithDirentry(direntry_t *entry);
int labelit(char *dosname,
char *longname,
void *arg0,
direntry_t *entry);
int isSubdirOf(Stream_t *inside, Stream_t *outside);
char *getPwd(direntry_t *entry);
void fprintPwd(FILE *f, direntry_t *entry, int escape);
int write_vfat(Stream_t *, char *, char *, int, direntry_t *);
#endif