41 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			41 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
 |