--- MiNT/src/file.h 2018/04/24 17:55:53 1.1.1.2 +++ MiNT/src/file.h 2018/04/24 17:56:33 1.1.1.3 @@ -1,6 +1,10 @@ /* -Copyright 1991,1992 Eric R. Smith. All rights reserved. +Copyright 1991,1992 Eric R. Smith. + +Copyright 1992 Atari Corporation. + +All rights reserved. */ @@ -62,7 +66,7 @@ typedef struct dtabuf { long dta_size; - char dta_name[TOS_NAMELEN]; + char dta_name[TOS_NAMELEN+1]; } DTABUF; @@ -84,6 +88,10 @@ typedef struct dirstruct { /* NOTE: this must be at least 45 bytes */ + struct dirstruct *next; /* linked together so we can close them + + on process termination */ + } DIR; @@ -292,7 +300,9 @@ typedef struct filesys { #define FS_NOXBIT 0x04 /* if a file can be read, it can be executed */ +#define FS_LONGPATH 0x08 /* file system understands "size" argument to + "getname" */ long ARGS_ON_STACK (*root) P_((int drv, fcookie *fc)); @@ -318,7 +328,9 @@ typedef struct filesys { long ARGS_ON_STACK (*remove) P_((fcookie *dir, const char *name)); - long ARGS_ON_STACK (*getname) P_((fcookie *relto, fcookie *dir, char *pathname)); + long ARGS_ON_STACK (*getname) P_((fcookie *relto, fcookie *dir, + + char *pathname, int size)); long ARGS_ON_STACK (*rename) P_((fcookie *olddir, char *oldname, @@ -352,7 +364,9 @@ typedef struct filesys { long ARGS_ON_STACK (*dskchng) P_((int drv)); - long zero; + long ARGS_ON_STACK (*release) P_((fcookie *)); + + long ARGS_ON_STACK (*dupcookie) P_((fcookie *new, fcookie *old)); } FILESYS;