1 /* BEGIN INSERT FILE ... comp_insert.incl.pl1  */
 2 
 3 /* format: style2,ind2,ll79,dclind4,idind15,comcol41,linecom */
 4 
 5      dcl 1 insert_data  aligned based (const.insert_data_ptr),
 6            2 count      fixed bin,      /* count of allocated data blocks */
 7            2 index      fixed bin,      /* the current block */
 8            2 ptr        (1000) ptr,     /* insert file data block pointers */
 9            2 ref_area,                  /* ref name string area data */
10              3 count    fixed bin,      /* count of allocated areas */
11              3 ptr      (100) ptr;      /* area pointers */
12                                         /* insert call stack */
13      dcl 1 call_stack   aligned based (const.call_stk_ptr),
14            2 count      fixed bin,      /* count of allocated boxes */
15            2 index      fixed bin,      /* current stack index */
16            2 ptr        (0:50) ptr;     /* stack entry ptrs */
17      dcl call_box_ptr   ptr;
18      dcl 1 call_box     aligned like insert.file based (call_box_ptr);
19      dcl 1 call_box0    aligned like insert.file based (call_stack.ptr (0));
20 
21      dcl 1 insert_refs  aligned based,  /* ref names structure */
22            2 count      fixed bin,      /* count of names in area */
23            2 index      (60) fixed bin, /* insert_data index values */
24            2 name       (60) char (32) unal;
25                                         /* the ref names */
26 
27      dcl refname_str    char (refstr_len) based (refstr_ptr);
28                                         /* for searching */
29      dcl refstr_len     fixed bin;      /* length of refname search string */
30      dcl refstr_ptr     ptr;            /* refname string pointer */
31                                         /* data for an insert file */
32      dcl 1 insert       aligned based (shared.insert_ptr),
33            2 file,                      /* also used for source files */
34              3 charcount
35                         fixed bin (21), /* segment character count */
36              3 comp_no  fixed bin,      /* msf component number */
37              3 dir      char (168),     /* containing dir */
38              3 entryname
39                         char (32),      /* primary entryname */
40              3 exit_lineno
41                         fixed bin (35), /* line number of .ifi */
42              3 fcb_ptr  ptr,            /* FCB pointer for msf manager */
43              3 info     like text_entry.info,
44              3 insert_ptr               /* self pointer - needed when */
45                         ptr,            /* struc is in the call stack */
46                                         /*           3 ntext    fixed bin (21), /* character count of text line */
47              3 path     char (200) var, /* complete pathname */
48              3 pointer  ptr,            /* segment pointer */
49              3 posn     fixed bin (21), /* input character position */
50              3 refname  char (200) var, /* for source files only */
51            2 callers_name
52                         char (100),     /* refname of calling file */
53            2 dtcm       bit (36),       /* fs date-time-modified */
54            2 refndx     fixed bin,      /* CURRENT refname index for file */
55            2 thrb       fixed bin unsigned,
56                                         /* backward thread index in insert stack */
57            2 label,                     /* label data per insert level */
58              3 count    fixed bin,
59              3 line     (250) fixed bin unsigned,
60              3 position (250) fixed bin (21),
61              3 value    (250) char (32);
62 
63 /* empty file data structure */
64      dcl 1 init_file_data
65                         static options (constant),
66            2 charcount  fixed bin (21) init (0),
67                                         /* segment character count */
68            2 comp_no    fixed bin init (0),
69                                         /* msf component number */
70            2 dir        char (168) init (""),
71                                         /* containing dir */
72            2 entryname  char (32) init (""),
73                                         /* primary entryname */
74            2 exit_lineno
75                         fixed bin (35) init (0),
76                                         /* line number of .ifi */
77            2 fcb_ptr    ptr init (null),/* FCB pointer for msf manager */
78            2 info,                      /* stuff created during line input */
79              3 fileno                   /* input file index */
80                         fixed bin init (0),
81              3 lineno                   /* input file line number */
82                         fixed bin init (0),
83              3 lineno0                  /* call_box0 line number */
84                         fixed bin init (0),
85            2 insert_ptr ptr init (null),/* self pointer - needed when */
86                                         /* struc is in the call stack */
87                                         /*         2 ntext      fixed bin (21) init (0),
88 /*                                      /* character count of text line */
89            2 path       char (200) var init (""),
90                                         /* complete pathname */
91            2 pointer    ptr init (null),/* segment pointer */
92            2 posn       fixed bin (21) init (1),
93                                         /* input character position */
94            2 refname    char (200) var init ("");
95                                         /* for source files only */
96 
97 /*        END INSERT FILE ... comp_insert.incl.pl1                    */