1 /* BEGIN fortran_ps.incl.pl1 */ 2 3 /* Template for FORTRAN I/O storage block. It is similar to PL/I PS.*/ 4 5 /* Modified November 1976 by R.Schoeman */ 6 /* Modified 17 May 1977 by D.S. Levin */ 7 /* Modified 6 Dec 1977 by DSL - clean up dcl for element_desc */ 8 /* Modified 19 Dec 1977 by DSL - add declaration for fio_ps. */ 9 /* Modified 29 Nov 82, HH - VLA's: Add 'VLA' to 'element_desc'. */ 10 11 declare 12 1 PS aligned structure based(PS_ptr), 13 14 /* OFFSET (octal) */ 15 16 /* 00 */ 2 stack_frame_p ptr, /* pointer to user's stack frame */ 17 /* 02 */ 2 symbol_table_top_p ptr, /* pointer to top of symtab, ONLY IF IT EXISTS */ 18 /* 04 */ 2 symbol_table_block_p ptr, /* pointer to cur block of symtab, ONLY IF IT EXISTS */ 19 /* 06 */ 2 user_format_p ptr, /* format as specified by user */ 20 /* 10 */ 2 file_number fixed bin(17), /* file reference number */ 21 /* 11 */ 2 record_number fixed bin(17), /* record no. if direct access */ 22 /* 12 */ 2 error_p ptr, /* full pointer to label if err= supplied */ 23 /* 14 */ 2 end_p ptr, /* full pointer to label if end= supplied */ 24 /* 16 */ 2 work_format_p ptr, /* format used at runtime. (can be the same as user_format_p) */ 25 /* 20 */ 2 buffer_p ptr, /* ptr to I/O buf or ptr to string source/target */ 26 /* 22 */ 2 namelist_p ptr, /* pointer to OK list */ 27 28 /* 24 */ 29 %include fortran_job_bits; 30 31 /* 25 */ 2 max_buffer fixed bin(17), 32 33 /* 26 */ 2 element_desc unaligned structure, 34 3 data_type, 35 4 (integer, real, double, complex, logical, char, array_ref, VLA) bit(1), 36 3 length fixed bin(23), 37 3 pad bit(4), 38 39 /* 27 */ 2 element_count fixed bin(24), 40 /* 30 */ 2 element_p ptr, 41 /* 32 */ 2 start_field fixed bin, 42 /* 33 */ 2 buffer_size fixed bin, 43 /* 34 */ 2 data_word(18) fixed bin, 44 /* 56 */ 2 iostat_p ptr; /* ptr to location for iostat var */ 45 46 47 dcl 1 fio_ps aligned, /* ps in fortran I/O's stack frame. */ 48 /* Octal offsets */ 49 /* 00 */ 2 label_for_transfer label, /* Two ptrs, one to label var ref, one to fio frame. */ 50 /* 04 */ 2 address_of_index ptr, /* Pointer to storage for label var index. */ 51 52 /* 06 */ 2 job_bits unaligned structure like PS.job_bits, 53 /* 07 */ 2 file_number fixed bin, 54 55 /* 10 */ 2 element_desc unaligned structure like PS.element_desc, 56 /* 11 */ 2 element_count fixed bin, 57 /* 12 */ 2 element_p ptr; 58 59 60 %include fortran_io_consts; 61 62 /* END fortran_ps.incl.pl1 */