1 /****  START OF:    le_input.incl.pl1                        *  *  *  *  *  */
  2 
  3   /****^  HISTORY COMMENTS:
  4   1) change(86-08-12,Elhard), approve(86-08-12,MCR7505),
  5      audit(86-12-10,DGHowe), install(86-12-10,MR12.0-1241):
  6      Orignally written to define the le_ input structures.
  7                                                    END HISTORY COMMENTS */
  8 
  9   /*** ****************************************************************/
 10   /***                                                                */
 11   /***    Name:     le_input                                          */
 12   /***    Function: This include file declares the input structure to */
 13   /***              to the le_ subroutine.  The structure consists of */
 14   /***              a set of standard data, and a variable length     */
 15   /***              array of options.  The options have a type field  */
 16   /***              which specified what the option means.  The       */
 17   /***              options can have the following types:             */
 18   /***                                                                */
 19   /***              PATH        - specified a single input component  */
 20   /***                            to be bound in with the object      */
 21   /***               name       - is the name of the component        */
 22   /***               path_or_ep - is the pathname to the component    */
 23   /***                            this may be an archive component    */
 24   /***                            pathname.                           */
 25   /***               flags      - link is used by the le command to   */
 26   /***                            keep track of the pathnames that    */
 27   /***                            were found via links for chase      */
 28   /***                            processing.                         */
 29   /***               bc         - is the bit count of the component   */
 30   /***               optp       - is a pointer to the component       */
 31   /***                                                                */
 32   /***              LIBRARY     - specifies a single library          */
 33   /***                            component.  Library components are  */
 34   /***                            only included if they are referred  */
 35   /***                            to by a PATH component or a library */
 36   /***                            component that is referenced and    */
 37   /***                            therefor included.                  */
 38   /***               name       - same as for PATH.                   */
 39   /***               path_or_ep - same as for PATH.                   */
 40   /***               flags      - same as for PATH.                   */
 41   /***               bc         - same as for PATH.                   */
 42   /***               optp       - same as for PATH.                   */
 43   /***                                                                */
 44   /***              ADDNAME     - specifies a name to be added to the */
 45   /***                            bound object.                       */
 46   /***               name       - is the name to be added to the      */
 47   /***                            bound unit                          */
 48   /***                                                                */
 49   /***              SYNONYM     - specifies a synonym to be added to  */
 50   /***                            a particular component.  This is    */
 51   /***                            reflected as a segname definition   */
 52   /***                            added to the block for that         */
 53   /***                            component.                          */
 54   /***               name       - specifies the name of the component */
 55   /***                            to which you are adding a name.     */
 56   /***               path_or_ep - is the name being added             */
 57   /***                                                                */
 58   /***              RETAIN      - gives a starname to be used when    */
 59   /***                            determining if a definition should  */
 60   /***                            be retained.  If the definition     */
 61   /***                            matches the starname and no more    */
 62   /***                            specific info is given, the name is */
 63   /***                            retained.                           */
 64   /***               flags      - the "inhibit_error" flag indicates  */
 65   /***                            that it is not an error if this     */
 66   /***                            option is unused.                   */
 67   /***               path_or_ep - is the starname to match            */
 68   /***                                                                */
 69   /***              DELETE      - gives a starname to be used when    */
 70   /***                            determining if a definition should  */
 71   /***                            be retained.  If the definition     */
 72   /***                            matches the starname and no more    */
 73   /***                            specific info is given, the name is */
 74   /***                            deleted.                            */
 75   /***               flags      - the "inhibit_error" flag indicates  */
 76   /***                            that it is not an error if this     */
 77   /***                            option is unused.                   */
 78   /***               path_or_ep - is the starname to match.           */
 79   /***                                                                */
 80   /***              NO_LINK     - gives a starname to be used when    */
 81   /***                            determining if a definition should  */
 82   /***                            be retained.  If the definition     */
 83   /***                            matches the starname and no more    */
 84   /***                            specific info is given, the name is */
 85   /***                            retained and references to the      */
 86   /***                            definition within the bound uni     */
 87   /***                            are not resolved but are generated  */
 88   /***                            as external links.                  */
 89   /***               flags      - the "inhibit_error" flag indicates  */
 90   /***                            that it is not an error if this     */
 91   /***                            option is unused.                   */
 92   /***               path_or_ep - is the starname to match            */
 93   /***                                                                */
 94   /***              TABLE       - specifies that the table for a      */
 95   /***                            particular component is to be       */
 96   /***                            retained.                           */
 97   /***               name       - is the name of the component to     */
 98   /***                            which the option applies.  If name  */
 99   /***                            is "", this is a global option and  */
100   /***                            applies to all component for which  */
101   /***                            a specific option does not exist.   */
102   /***                                                                */
103   /***              NO_TABLE    - specifies that the table for a      */
104   /***                            particular component is to be       */
105   /***                            deleted.                            */
106   /***               name       - is the name of the component to     */
107   /***                            which the option applies.  If name  */
108   /***                            is "", this is a global option and  */
109   /***                            applies to all component for which  */
110   /***                            a specific option does not exist.   */
111   /***                                                                */
112   /*** ****************************************************************/
113 
114   dcl 01 le_input             aligned based,
115        02 header              aligned,
116         03 version            char (8),
117         03 name               char (32),
118         03 flags              aligned,
119          04 perprocess_static bit (1) unaligned,
120          04 force             bit (1) unaligned,
121          04 debug             bit (1) unaligned,
122          04 list              bit (1) unaligned,
123          04 map               bit (1) unaligned,
124          04 auto_segnames     bit (1) unaligned,
125          04 mbz               bit (30) unaligned,
126         03 output_file        unaligned,
127          04 dir               char (168),
128          04 entry             char (32),
129         03 component_size     fixed bin,
130         03 display_severity   fixed bin,
131         03 abort_severity     fixed bin,
132         03 bindfile           aligned,
133          04 name              char (32),
134          04 dt_updated        fixed bin (71),
135          04 dt_modified       fixed bin (71),
136         03 pad                bit (36),
137         03 n_opts             fixed bin,
138        02 opt                 dim (0 refer (le_input.n_opts)) like le_option;
139 
140   dcl 01 le_option            aligned based,
141        02 name                char (32) unaligned,
142        02 path_or_ep          char (194) unaligned,
143        02 flags               unaligned,
144         03 link               bit (1),
145         03 ignore             bit (1),
146         03 used               bit (1),
147         03 inhibit_error      bit (1),
148         03 mbz                bit (5),
149        02 type                fixed bin (8) unaligned,
150        02 bc                  fixed bin (24),
151        02 optp                ptr;
152 
153   dcl le_input_version_1      char (8) static options (constant)
154                               init ("le_ 1.0 ");
155 
156   /* constants for the defined option types */
157 
158   dcl PATH                    fixed bin static options (constant) init (1);
159   dcl LIBRARY                 fixed bin static options (constant) init (2);
160   dcl ADDNAME                 fixed bin static options (constant) init (3);
161   dcl SYNONYM                 fixed bin static options (constant) init (4);
162   dcl RETAIN                  fixed bin static options (constant) init (5);
163   dcl DELETE                  fixed bin static options (constant) init (6);
164   dcl NO_LINK                 fixed bin static options (constant) init (7);
165   dcl TABLE                   fixed bin static options (constant) init (8);
166   dcl NO_TABLE                fixed bin static options (constant) init (9);
167 
168 /****  END OF:      le_input.incl.pl1                        *  *  *  *  *  */