(* FIB LAYOUT *) TYPE OPTTYPE = (NOTOPEN,FWRITE,FRDWR,FRANDOM,FCONIO,FTRMIO,FLSTOUT); FIB=RECORD FNAME : STRING[16]; (* d:filename.ext *) FCB : PACKED ARRAY [0..34] OF CHAR; (* CP/M FILE CONTROL BLOCK *) BUFLEN : INTEGER; (* SIZE OF FBUFFER *) BUFIDX : INTEGER; (* CURRENT INDEX INTO FBUFFER *) OPTION : OPTTYPE; IOSIZE : INTEGER; (* SIZE OF NEXT TRANSFER *) FEOLN : BOOLEAN; (* TRUE IF TEXT FILE AT END-OF-LINE *) FEOF : BOOLEAN; (* TRUE IF AT END-OF-FILE *) FBUFADR: WORD; (* POINTER TO FBUFFER *) FSECINX: 0..128; (* INDEX INTO FSECTOR +1 FOR OVERFLOW *) FTEXT : BOOLEAN; (* TRUE IF THIS IS A TEXT FILE! *) NOSECTRS:BOOLEAN; (* TRUE IF NO MORE DISK DATA AVAILABLE *) FSECTOR: PACKED ARRAY [0..127] OF CHAR; (* 1 SECTOR BUFFER FOR CP/M *) FBUFFER: PACKED ARRAY [0..0 ] OF CHAR; END;