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