1 03/05/85 create_data_segment_
2
3
4 The create_data_segment_ subroutine is used in conjunction with the
5 create_data_segment command to create a standard object segment from
6 PL/I data structures passed to it as parameters. The
7 create_data_segment_ subroutine is called from a PL/I program that has
8 defined in it either one or two specific PL/I structures, whose
9 contents are to be placed in the text and/or static sections of the
10 object segment to be created. The level-2 structure component names
11 become entry point names for the object segment, i.e., names that can
12 be found by links so that other programs may reference the data by
13 name.
14
15
16 Entry points in create_data_segment_:
17 List is generated by the help command
18
19
20 :Entry: create_data_segment_: 03/05/85 create_data_segment_
21
22
23 Function:
24 is used in conjunction with the create_data_segment command to create
25 a standard object segment from PL/I data structures passed to it as
26 parameters.
27
28
29 Syntax:
30 declare create_data_segment_ entry ptr fixed bin35;
31 call create_data_segment_ cds_arg_ptr code;
32
33
34 Arguments:
35 cds_arg_ptr
36 is a pointer to a structure see "Structure" below containing
37 information to be passed to the create_data_segment_ subroutine,
38 specifying the structures to be used to create the object segment.
39 Input
40 code
41 is a standard status code. Output It can be
42 error_table_$translation_failed if no object segment is created.
43
44
45 Notes: The brief translator name placed in object segments produced by
46 the create_data_segment_ subroutine is cds.
47
48 If the defs_in_link switch is supplied as on "1"b, then a
49 nonrelocatable, nonstandard object segment is produced.
50
51 All text and static-resident information created is supplied with
52 absolute relocation. Hence, one must be wary of threads and pointers
53 in one's structures, as they are not relocated if the object segment is
54 bound.
55
56 The program that calls the create_data_segment_ subroutine must be in
57 the PL/I language. It must be compiled with the -table control
58 argument. The create_data_segment command provides for this.
59
60
61 It is essential that structures specified by cds_args.sections be at
62 least referenced in the calling program, or they are not described in
63 the runtime symbol table.
64
65 The create_data_segment_ program, in its capacity as a translator,
66 issues diagnostic messages on the terminal, as opposed to returning
67 detailed status codes.
68
69 All regions of the text and/or static sections not explicitly set by
70 the calling program, whether via "init" attributes or explicit code,
71 may not be assumed to contain zero or any other quantity.