1 2 /* BEGIN INCLUDE FILE ... pascal_fsb.incl.pl1 ... 5 May 1980 JMAthane * */ 3 4 5 6 7 /****^ HISTORY COMMENTS: 8 1) change(86-09-16,JPFauche), approve(86-09-16,MCR7521), 9 audit(86-09-16,Martinson), install(86-11-12,MR12.0-1208): 10 Added breakall mode bits to support version 8.03 of pascal. 11 END HISTORY COMMENTS */ 12 13 dcl fsb_ptr ptr; 14 15 dcl 1 pascal_fsb based (fsb_ptr) aligned,/* PASCAL FILE STATUS BLOCK */ 16 2 allocated_size fixed bin (35), /* size in words (=0 if not allocated by operators) */ 17 2 next_element bit (18) unal, /* offset of next fsb in array */ 18 2 global_flags unal, 19 3 pad bit (1) unal, 20 3 reset_break_all bit (1) unal, /* set if mode breakall set by call to breakall_on */ 21 3 break_all_mode bit (1) unal, /* = 1 if file in break_all_mode */ 22 3 standard_file_used bit (1) unal, /* =1 if used (standard_files only) */ 23 3 interactive_file bit (1) unal, /* =1 if file was open in interactive mode */ 24 3 array_of_file bit (1) unal, /* = 1 if element of array */ 25 3 permanent_file bit (1) unal, /* = 1 if permanent file */ 26 3 static_file bit (1) unal, /* = 1 if static file */ 27 3 local_file bit (1) unal, /* = 1 if local file */ 28 3 get_next_char bit (1) unal, /* = 1 if next char to read */ 29 3 attached_by_fconnect bit (1) unal, /* = 1 if attached by fconnect */ 30 3 vfile_switch bit (1) unal, /* = 1 if input is a segment */ 31 3 file_created bit (1) unal, /* (if local_file = 1) = 1 if temp seg created */ 32 3 standard_file bit (1) unal, /* =1 if standard input or output */ 33 3 fsb_is_chained bit (1) unal, /* =1 if fsb is chained */ 34 3 line_is_complete bit (1) unal, /* if = 1 then end of line is in the buffer */ 35 3 file_is_open bit (1) unal, /* pascal open indicator */ 36 3 last_line bit (1) unal, /* if = 1 last line is in the buffer */ 37 2 owner_stack ptr, /* ptr to the stack frame of the owner */ 38 2 eof fixed bin (35), /* end of file if ^= 0 (PASCAL EOF) */ 39 2 file_status fixed bin (35), /* opening mode (internal pascal_code_) */ 40 2 rec_length fixed bin (21), /* record length (length of the PASCAL WINDOW) */ 41 2 SOL_fstatus fixed bin (35), /* */ 42 2 system_ptr ptr, /* ptr to the MULTICS iocb */ 43 2 file_name char (32), /* PASCAL file name */ 44 2 record_counter fixed bin (35), /* nbre of read/written records/lines */ 45 2 SOL_fpos fixed bin (35), 46 2 SOL_fsize fixed bin (35), 47 2 SOL_fllength fixed bin (35), 48 2 owner_link ptr, /* ptr to link section of owner */ 49 2 owner_symbol ptr, /* ptr to symbol section of owner */ 50 2 file_is_text fixed bin (35), /* if ^= 0 then PASCAL TEXT file */ 51 2 eoln fixed bin (35), /* TEXT file EOLN if ^= 0 */ 52 2 buff_index fixed bin (21), /* index in the TEXT file internal io buffer */ 53 2 buff_max fixed bin (21), /* length of usefull info in the TEXT file internal input buffer */ 54 2 buff_len fixed bin (21), /* length of the TEXT file internal io buffer */ 55 2 multics_error_code fixed bin (35), /* last Multics error code (if non zero) */ 56 2 next_fsb_ptr ptr, /* ptr to the next fsb */ 57 2 reserved_2 (2) fixed bin (35), /* (future use) */ 58 2 uid bit (70), /* unique id of fsb */ 59 2 window char (0 refer (rec_length)) unal; /* PASCAL WINDOW */ 60 61 62 dcl 1 pascal_text_fsb based (fsb_ptr) aligned,/* PASCAL TEXT FILE STATUS BLOCK */ 63 2 text_fsb_fix, 64 3 file_info_1 (30) fixed bin (35), 65 3 buff_len_ fixed bin (35), 66 3 file_info_2 (7) fixed bin (35), 67 3 text_window, 68 4 window_pad bit (27) unal, 69 4 window_char char (1) unal, /* PASCAL TEXT file window */ 70 2 buffer char (0 refer (pascal_text_fsb.buff_len_)); /* PASCAL TEXT files internal io buffer */ 71 72 73 74 /* END INCLUDE FILE ...pascal_fsb.incl.pl1 */ 75