57 #include <file/fwerr.h> 58 #include <file/port_s.h> 59 #include <file/udefs.h> 67 extern char *fg_getversion(
void);
68 extern void fg_init(
void);
69 extern int fg_mountdrive(
int drivenum,
void *buffer,
long buffsize, FS_DRVMOUNT mountfunc, FS_PHYGETID phyfunc);
70 extern int fg_unmountdrive(
int drvnum);
71 extern int fg_format(FS_MULTI *fm,
int drivenum);
72 extern int fg_getfreespace(FS_MULTI *fm,
int drivenum, FS_SPACE *space);
73 extern int fg_get_drive_list(
int *buf);
74 extern int fg_get_drive_count(
void);
82 extern int fg_getdrive(FS_MULTI *fm);
83 extern int fg_chdrive(FS_MULTI *fm,
int drivenum);
85 extern int fg_getcwd(FS_MULTI *fm,
char *buffer,
int maxlen);
86 extern int fg_getdcwd(FS_MULTI *fm,
int drivenum,
char *buffer,
int maxlen);
88 extern int fg_mkdir(FS_MULTI *fm,
const char *dirname);
89 extern int fg_chdir(FS_MULTI *fm,
const char *dirname);
90 extern int fg_rmdir(FS_MULTI *fm,
const char *dirname);
92 extern int fg_setlabel(FS_MULTI *fm,
int drivenum,
const char *label);
93 extern int fg_getlabel(FS_MULTI *fm,
int drivenum,
char *label,
long len);
101 extern int fg_rename(FS_MULTI *fm,
const char *filename,
const char *newname);
102 extern int fg_move(FS_MULTI *fm,
const char *filename,
const char *newname);
103 extern int fg_delete(FS_MULTI *fm,
const char *filename);
105 extern long fg_filelength(FS_MULTI *fm,
const char *filename);
107 extern int fg_findfirst(FS_MULTI *fm,
const char *filename, FS_FIND *find);
108 extern int fg_findnext(FS_MULTI *fm, FS_FIND *find);
116 extern int registerFSFILE(FS_FILE *file);
118 extern FS_FILE *fg_open(FS_MULTI *fm,
const char *filename,
const char *mode);
119 extern int fg_close(FS_MULTI *fm, FS_FILE *filehandle);
120 extern long fg_write(FS_MULTI *fm,
const void *buf,
long size,
long size_st, FS_FILE *filehandle);
121 extern long fg_read(FS_MULTI *fm,
void *buf,
long size,
long size_st, FS_FILE *filehandle);
122 extern int fg_seek(FS_MULTI *fm, FS_FILE *filehandle,
long offset,
long whence);
123 extern long fg_tell(FS_MULTI *fm, FS_FILE *filehandle);
124 extern int fg_eof(FS_MULTI *fm, FS_FILE *filehandle);
125 extern int fg_rewind(FS_MULTI *fm, FS_FILE *filehandle);
126 extern int fg_putc(FS_MULTI *fm,
int ch, FS_FILE *filehandle);
127 extern int fg_getc(FS_MULTI *fm, FS_FILE *filehandle);
128 extern int fg_flush(FS_MULTI *fm, FS_FILE *filehandle);
129 extern int fg_seteof(FS_MULTI *fm, FS_FILE *filehandle);
131 extern int fg_settimedate(FS_MULTI *fm,
const char *filename,
unsigned short ctime,
unsigned short cdate);
132 extern int fg_gettimedate(FS_MULTI *fm,
const char *filename,
unsigned short *ctime,
unsigned short *cdate);
133 extern int fg_getpermission(FS_MULTI *fm,
const char *filename,
unsigned long *psecure);
134 extern int fg_setpermission(FS_MULTI *fm,
const char *filename,
unsigned long secure);
136 extern FS_FILE *fg_truncate(FS_MULTI *fm,
const char *filename,
unsigned long length);
146 #define FS_SEEK_SET SEEK_SET 148 #define FS_SEEK_SET 0 153 #define FS_SEEK_CUR SEEK_CUR 155 #define FS_SEEK_CUR 1 160 #define FS_SEEK_END SEEK_END 162 #define FS_SEEK_END 2 167 extern int fg_wgetcwd(FS_MULTI *fm, W_CHAR *buffer,
int maxlen);
168 extern int fg_wgetdcwd(FS_MULTI *fm,
int drivenum, W_CHAR *buffer,
int maxlen);
169 extern int fg_wmkdir(FS_MULTI *fm,
const W_CHAR *dirname);
170 extern int fg_wchdir(FS_MULTI *fm,
const W_CHAR *dirname);
171 extern int fg_wrmdir(FS_MULTI *fm,
const W_CHAR *dirname);
172 extern int fg_wrename(FS_MULTI *fm,
const W_CHAR *filename,
const W_CHAR *newname);
173 extern int fg_wmove(FS_MULTI *fm,
const W_CHAR *filename,
const W_CHAR *newname);
174 extern int fg_wdelete(FS_MULTI *fm,
const W_CHAR *filename);
175 extern long fg_wfilelength(FS_MULTI *fm,
const W_CHAR *filename);
176 extern int fg_wfindfirst(FS_MULTI *fm,
const W_CHAR *filename, FS_WFIND *find);
177 extern int fg_wfindnext(FS_MULTI *fm, FS_WFIND *find);
178 extern FS_FILE *fg_wopen(FS_MULTI *fm,
const W_CHAR *filename,
const W_CHAR *mode);
179 extern int fg_wsettimedate(FS_MULTI *fm,
const W_CHAR *filename,
unsigned short ctime,
unsigned short cdate);
180 extern int fg_wgettimedate(FS_MULTI *fm,
const W_CHAR *filename,
unsigned short *ctime,
unsigned short *cdate);
181 extern int fg_wgetpermission(FS_MULTI *fm,
const W_CHAR *filename,
unsigned long *psecure);
182 extern int fg_wsetpermission(FS_MULTI *fm,
const W_CHAR *filename,
unsigned long secure);
183 extern FS_FILE *fg_wtruncate(FS_MULTI *fm,
const W_CHAR *filename,
unsigned long length);
192 extern int _fg_flush(FS_VOLUMEINFO *vi);
193 extern int _fg_getvolumeinfo(FS_MULTI *fm,
int drivenum, FS_VOLUMEINFO **pvi);
194 extern int _fg_findpath(FS_VOLUMEINFO *vi, FS_NAME *fsname);
195 extern int _fg_findfile(FS_VOLUMEINFO *vi, W_CHAR *name,
unsigned short dirnum,
unsigned short *pdirnum);
196 extern int _fg_addentry(FS_VOLUMEINFO *vi, FS_NAME *fsname, FS_DIRENTRY **pde);
197 extern int _fg_find(FS_VOLUMEINFO *vi, FS_NAME *fsname, FS_DIRENTRY **pde,
unsigned short *pdirnum);
198 extern int _fg_findfilewc(FS_VOLUMEINFO *vi, W_CHAR *name,
unsigned short dirnum,
unsigned short *pdirnum,
unsigned short startpos);
199 extern void _fg_setdiscsectors(FS_VOLUMEINFO *vi,
unsigned short sector);
200 extern int _fg_getsector(FS_VOLUMEINFO *vi,
long secnum,
void *data,
long offset,
long datalen);
201 extern void _fg_removedename(FS_VOLUMEINFO *vi, FS_DIRENTRY *de);
202 extern int _fg_setdename(W_CHAR *s, FS_VOLUMEINFO *vi, FS_DIRENTRY *de);
203 extern void _fg_getdename(W_CHAR *s, FS_VOLUMEINFO *vi, FS_DIRENTRY *de);
204 extern int _fg_namecheckwc(
const W_CHAR *name,
const W_CHAR *s);
205 extern int _fg_copychainintomirror(FS_VOLUMEINFO *vi, FS_FILEINT *f, FS_DIRENTRY *de);
206 extern void _fg_cleanupfile(FS_VOLUMEINFO *vi, FS_FILEINT *f);
207 extern int _fg_fseek(FS_VOLUMEINFO *vi, FS_MULTI *fm, FS_FILEINT *f,
long offset);
208 extern int _fg_checkfilelock(FS_VOLUMEINFO *vi, FS_DIRENTRY *de,
long m_mode);
210 extern FS_FILESYSTEM fg_filesystem;
214 #define fs_getversion fsm_getversion 215 #define fs_init fsm_init 216 #define fs_mountdrive(drivenum, buffer, buffsize, mountfunc, phyfunc) fsm_mountdrive(drivenum, buffer, buffsize, mountfunc, phyfunc) 217 #define fs_unmountdrive(drvnum) fsm_unmountdrive(drvnum) 218 #define fs_format(drivenum) fsm_format(drivenum) 229 #define fs_getfreespace(drivenum, space) fsm_getfreespace(drivenum, space) 230 #define fs_releaseFS(ID) fsm_releaseFS(ID) 231 #define fs_get_drive_list(buf) fsm_get_drive_list(buf) 232 #define fs_get_drive_count fsm_get_drive_count 233 #define fs_getdrive fsm_getdrive 234 #define fs_chdrive(drivenum) fsm_chdrive(drivenum) 235 #define fs_getcwd(buffer, maxlen) fsm_getcwd(buffer, maxlen) 236 #define fs_getdcwd(drivenum, buffer, maxlen) fsm_getdcwd(drivenum, buffer, maxlen) 249 #define fs_mkdir(dirname) fsm_mkdir(dirname) 262 #define fs_chdir(dirname) fsm_chdir(dirname) 278 #define fs_rmdir(dirname) fsm_rmdir(dirname) 279 #define fs_setlabel(drivenum, label) fsm_setlabel(drivenum, label) 280 #define fs_getlabel(drivenum, label, len) fsm_getlabel(drivenum, label, len) 281 #define fs_rename(filename, newname) fsm_rename(filename, newname) 282 #define fs_move(filename, newname) fsm_move(filename, newname) 294 #define fs_delete(filename) fsm_delete(filename) 295 #define fs_filelength(filename) fsm_filelength(filename) 311 #define fs_findfirst(filename, find) fsm_findfirst(filename, find) 327 #define fs_findnext(find) fsm_findnext(find) 351 #define fs_open(filename, mode) fsm_open(filename, mode) 361 #define fs_close(filehandle) fsm_close(filehandle) 373 #define fs_write(buf, size, size_st, filehandle) fsm_write(buf, size, size_st, filehandle) 385 #define fs_read(buf, size, size_st, filehandle) fsm_read(buf, size, size_st, filehandle) 397 #define fs_seek(filehandle, offset, whence) fsm_seek(filehandle, offset, whence) 398 #define fs_tell(filehandle) fsm_tell(filehandle) 408 #define fs_eof(filehandle) fsm_eof(filehandle) 409 #define fs_seteof(filehandle) fsm_seteof(filehandle) 419 #define fs_rewind(filehandle) fsm_rewind(filehandle) 420 #define fs_putc(ch, filehandle) fsm_putc(ch, filehandle) 421 #define fs_getc(filehandle) fsm_getc(filehandle) 422 #define fs_flush(filehandle) fsm_flush(filehandle) 434 #define fs_settimedate(filename, ctime, cdate) fsm_settimedate(filename, ctime, cdate) 446 #define fs_gettimedate(filename, pctime, pcdate) fsm_gettimedate(filename, pctime, pcdate) 448 #define fs_getpermission(filename, psecure) fsm_getpermission(filename, psecure) 449 #define fs_setpermission(filename, secure) fsm_setpermission(filename, secure) 450 #define fs_truncate(filename, length) fsm_truncate(filename, length) 453 #define fs_wgetcwd(buffer, maxlen) fsm_wgetcwd(buffer, maxlen) 454 #define fs_wgetdcwd(drivenum, buffer, maxlen) fsm_wgetdcwd(drivenum, buffer, maxlen) 455 #define fs_wmkdir(dirname) fsm_wmkdir(dirname) 456 #define fs_wchdir(dirname) fsm_wchdir(dirname) 457 #define fs_wrmdir(dirname) fsm_wrmdir(dirname) 458 #define fs_wrename(filename, newname) fsm_wrename(filename, newname) 459 #define fs_wmove(filename, newname) fsm_wmove(filename, newname) 460 #define fs_wdelete(filename) fsm_wdelete(filename) 461 #define fs_wfilelength(filename) fsm_wfilelength(filename) 462 #define fs_wfindfirst(filename, find) fsm_wfindfirst(filename, find) 463 #define fs_wfindnext(find) fsm_wfindnext(find) 464 #define fs_wopen(filename, mode) fsm_wopen(filename, mode) 465 #define fs_wsettimedate(filename, ctime, cdate) fsm_wsettimedate(filename, ctime, cdate) 466 #define fs_wgettimedate(filename, ctime, cdate) fsm_wgettimedate(filename, ctime, cdate) 467 #define fs_wgetpermission(filename, psecure) fsm_wgetpermission(filename, psecure) 468 #define fs_wsetpermission(filename, secure) fsm_wsetpermission(filename, secure) 469 #define fs_wtruncate(filename, length) fsm_wtruncate(filename, length)