33 lines
1.1 KiB
C
33 lines
1.1 KiB
C
/****************************************
|
|
* *
|
|
* File parameter block structure. *
|
|
* *
|
|
****************************************/
|
|
|
|
typedef struct FileParmBlock
|
|
{
|
|
GHANDLE hStruct; // This structure's handle. MUST BE 1ST FIELD!!!
|
|
INTERRUPT_FUNC lpfnfInterCb;
|
|
// A user-supplied function that's called
|
|
// every time an I/O function makes a
|
|
// physical I/O. This field exists to allow
|
|
// the user to interrupt an involved process
|
|
// by forcing the I/O calls to return error.
|
|
LPV lpvInterCbParms;
|
|
// A user-supplied pointer that's passed along
|
|
// to "lpfnfInterCb".
|
|
union {
|
|
HFS hfs; // handle to file system
|
|
HF hf; // handle to sub-file
|
|
#ifdef _WIN32
|
|
HANDLE hFile; // handle to regular DOS file
|
|
#else
|
|
HFILE hFile;
|
|
#endif
|
|
} fs;
|
|
HANDLE hBuf; // Handle to DOS I/O buffer
|
|
BYTE fFileType; // Flags which tells what kind of file is that
|
|
BYTE ioMode; // File I/O mode (READ, READ_WRITE, OPENED_HFS)
|
|
CRITICAL_SECTION cs; // @field When doing subfile seek/read combos, ensure OK
|
|
} FPB, FAR * LPFPB;
|