typedef struct FCB_File_
       {
	  struct FCB_File_ * FCB_FileNextInChain;
	  struct FCB_File_ * FCB_FileBackInChain;

	  BYTE	 ProcessExtrinsicKey;
	  BYTE	 ProcessIntrinsicKey;

	  BYTE	 FileExtrinsicKey;
	  BYTE	 FileIntrinsicKey;

	  TEXT * FileNamePointer;
	  HAND	 FileHandle;
	  QUAD	 FileSize;

	  QUAD	 FileOffset;
	  WORD	 FileOffPoint;
	  QUAD	 FileOldPointer;
	  QUAD	 FileNewPointer;
	  QUAD	 FileEndPointer;

          DWORD  FileAttributes;
          DWORD  FileDesiredAccess;
          DWORD  FileShareMode;
          DWORD  FileCreateFlags;
          DWORD  FileOtherFlags;

	  QUAD	 OperationNumber;

	  QUAD	 FileSpanRead;
	  QUAD	 FileSpanWritten;
	  QUAD	 SpanToBeCopied;

	  BYTE * ReadBufferPointer;
	  BYTE * WriteBufferPointer;

          DWORD  BytesToBeRead;
          DWORD  BytesToBeWritten;
          DWORD  BytesRead;
          DWORD  BytesWritten;

	  WORD	 RecordSize;

          DWORD  ReturnCode;

	  BYTE	 FileStatus;
	  BYTE	 FileType;

	  BYTE	 CurrentOperation;
	  BYTE	 PreviousOperation;

	  BYTE	 PrototypeExtrinsicKey;
	  BYTE	 PrototypeIntrinsicKey;

	  BYTE	 AttributesChosen;
	  BYTE	 AttributesDefined;

	  BYTE	 OpenFlagsChosen;
	  BYTE	 AccessModeChosen;
	  BYTE	 ShareModeChosen;

	  BYTE	 LocalityFlagsChosen;
	  BYTE	 LocalityFlagsDefined;

	  BYTE	 OtherFlagsChosen;
	  BYTE	 OtherFlagsDefined;
       }
		 FCB_File;


  typedef struct RCB_Record_
       {
	  BYTE * RecordPointer;
	  QUAD	 RecordOffsetInFile;
	  WORD	 RecordSize;

	  BYTE	 ProcessRecordBelongsTo;
	  BYTE	 FileRecordBelongsTo;

	  BYTE	 RecordFlags;
       }
		 RCB_Record;


/*
  #define AttributeFlags		   0x0080

	  #define FlagFileArchived	   0x0040
	  #define FlagFileHidden	   0x0020
	  #define FlagFileNormal	   0x0010
	  #define FlagFileReadOnly	   0x0008
	  #define FlagFileSystem	   0x0004


  #define OpenModeFlags			   0x0080

	  #define FlagFileCreate	   0x0040
	  #define FlagFileOpen		   0x0020
	  #define FlagFileOpenCreate	   0x0010
	  #define FlagFileTruncate	   0x0008
	  #define FlagFileTruncateCreate   0x0004


  #define AccessModeFlags		   0x0080

	  #define FlagAccessReadOnly	   0x0040
	  #define FlagAccessReadWrite	   0x0020
	  #define FlagAccessWriteOnly	   0x0010


  #define ShareModeFlags		   0x0080

	  #define FlagShareDenyNone	   0x0040
	  #define FlagShareDenyRead	   0x0020
	  #define FlagShareDenyReadWrite   0x0010
	  #define FlagShareDenyWrite	   0x0008


  #define OtherModeFlags		   0x8000

	  #define FlagFileCache 	   0x4000
	  #define FlagFileDASD		   0x2000
	  #define FlagFileFailOnError	   0x1000
	  #define FlagFileInheritance	   0x0800
	  #define FlagFileLocality	   0x0400
	  #define FlagFileRandom	   0x0200
	  #define FlagFileRandomSequential 0x0100
	  #define FlagFileSequential	   0x0080
	  #define FlagFileWriteThrough	   0x0040
*/

  #define FileClosed	0x80
  #define FileDeleted	0x40
  #define FileOpen	0x20
  #define FileOpenEver	0x10
  #define OrdinaryWrite 0x08