home *** CD-ROM | disk | FTP | other *** search
-
- #ifndef __dl_filing_h
- #define __dl_filing_h
- #ifndef __dl_core_h
- #include "Core.h"
- #endif
- #ifndef filing_MAXLEAFNAMELEN
- #define filing_MAXLEAFNAMELEN 32
- #endif
- typedef enum {
- filing_NOTFOUND = 0,
- filing_FILE = 1,
- filing_DIRECTORY = 2,
- filing_IMAGEFILE = 3
- } filing_objtype;
- typedef struct {
- int loadaddr;
- int execaddr;
- int length;
- int attrib;
- filing_objtype objtype;
- char name[ filing_MAXLEAFNAMELEN];
- } filing_direntry;
- typedef struct {
- int loadaddr;
- int execaddr;
- int length;
- int attrib;
- filing_objtype objtype;
- int SIN;
- char date[ 5];
- char name[ filing_MAXLEAFNAMELEN];
- } filing_fulldirentry;
- typedef enum {
- readdirtype_DIRENTRY,
- readdirtype_FULLDIRENTRY,
- readdirtype_NAMEONLY
- } filing_readdirtype;
- typedef struct {
- char *dirname;
- void *buf;
- int size;
- filing_readdirtype type;
- union {
- filing_direntry *direntry;
- filing_fulldirentry *fulldirentry;
- char *name;
- void *act;
- } act;
- int offset;
- int read;
- char *match;
- } filing_dirdata;
- os_error *Filing_OpenDir( char *dirname, filing_dirdata *dirdata,
- int bufsize, filing_readdirtype type);
- void *Filing_ReadDir( filing_dirdata *dirdata);
- BOOL Filing_CloseDir( filing_dirdata *dirdata);
- os_error *Filing_ReadDirNames( char *dirname, char *buf,
- int *number, int *offset,
- int size, char *match);
- os_error *Filing_ReadDirEntry( char *dirname, filing_direntry *buf,
- int *number, int *offset,
- int size, char *match);
- os_error *Filing_ReadFullDirEntry( char *dirname, filing_fulldirentry *buf,
- int *number, int *offset,
- int size, char *match);
- os_error *Filing_ReadCatalogue( char *filename, filing_objtype *objtype,
- int *loadaddr, int *execaddr, int *length,
- int *attrib, int *filetype);
- os_error *Filing_SingleDirEntry( char *filename,
- filing_direntry *buf, int size);
- os_error *Filing_SingleDirEntry2( char *dirname,
- filing_direntry *buf,
- int size, char *filename);
- os_error *Filing_SingleFullDirEntry( char *filename,
- filing_fulldirentry *buf, int size);
- os_error *Filing_SingleFullDirEntry2( char *dirname,
- filing_fulldirentry *buf,
- int size, char *filename);
- char *Filing_GetPathname( char *filename, char *pathname);
- char *Filing_GetLeafname( char *filename, char *leafname);
- char *Filing_FindLeafname( char *filename);
- char *Filing_MakePath( char *newpath, char *dirname, char *leafname);
- os_error *Filing_CanonicalisePath( char *pathname, char *buffer,
- int size, int *spare);
- typedef os_error *(Filing_ScanDir_StartDir) ( char *dirname,
- filing_fulldirentry *dirdata);
- typedef os_error *(Filing_ScanDir_FoundFile) ( char *dirname,
- filing_fulldirentry *filedata);
- typedef os_error *(Filing_ScanDir_EndDir) ( char *dirname,
- filing_fulldirentry *dirdata);
- os_error *Filing_ScanDir( char *dirname,
- Filing_ScanDir_StartDir *startdirproc,
- Filing_ScanDir_FoundFile *foundfileproc,
- Filing_ScanDir_EndDir *enddirproc);
- os_error *Filing_ScanDirByDir( char *dirname,
- Filing_ScanDir_StartDir *startdirproc,
- Filing_ScanDir_FoundFile *foundfileproc,
- Filing_ScanDir_EndDir *enddirproc);
- #endif
-