
#define ulong unsigned long
#define ubyte unsigned char
#define uword unsigned short

typedef struct {
    long    ds_Days;
    long    ds_Minute;
    long    ds_Tick;
} STAMP;

typedef struct {
    long    DirHandle;		/*  relative to directory (0=root)  */
    uword   Modes;		/*  open modes			    */
} OpOpen;

typedef struct {
    long    Handle;
    ulong   Prot;
    long    Type;
    long    Size;
    STAMP   Date;
} RtOpen;


typedef struct {
    long    Handle; 	/*  file handle to read from	    */
    long    Bytes;		/*  # of bytes to read		    */
} OpRead;

typedef struct {
    long    Bytes;		/*  < 0 == error		    */
} RtRead;

typedef struct {
    long   Handle; 	/*  file handle to read from	    */
    long    Bytes;		/*  # of bytes to read		    */
} OpWrite;

typedef struct {
    long    Bytes;		/*  < 0 == error		    */
} RtWrite;

typedef struct {
    long    Handle;
} OpClose;

typedef struct {
    long    Handle;
    long    Offset;
    long    How;
} OpSeek;

typedef struct {
    long    OldOffset;
    long    NewOffset;	    /*	-1 = error  */
} RtSeek;

typedef struct {
    long    Handle;
} OpParent;

typedef RtOpen RtParent;

typedef struct {
    long    DirHandle;
} OpDelete;

typedef struct {
    long    Error;
} RtDelete;

typedef OpDelete OpCreateDir;
typedef RtParent RtCreateDir;

typedef struct {
    long    Handle;
    long    Index;
} OpNextDir;

typedef RtOpen RtNextDir;

typedef struct {
    long    Handle;
} OpDup;

typedef RtOpen	RtDup;

typedef struct {
    long    DirHandle1;
    long    DirHandle2;
} OpRename;

typedef struct {
    long    Error;
} RtRename;

