1 05/17/90 decode_definition_
2
3
4 The decode_definition_ subroutine returns decoded information from an
5 object segment definition into a directly accessible structure.
6
7
8 Entry points in decode_definition_:
9 List is generated by the help command
10
11
12 :Entry: decode_definition_: 05/15/90 decode_definition_
13
14 Function: returns the decoded information of an object segment
15 definition in a directly accessible structure. This subroutine can
16 only be used on one segment at a time because it uses internal static
17 storage for information about the current segment.
18
19
20 Syntax:
21 declare decode_definition_ entry ptr ptr bit1 aligned;
22 call decode_definition_ def_ptr structure_ptr eof;
23
24
25 Arguments:
26 def_ptr
27 is a pointer to the selected definition, or to the base of the
28 object segment. Input. If def_ptr points to the base of the
29 object segment, decode_definition_ returns the first acceptable
30 definition in the definition section see Notes. Otherwise it is
31 expected to be pointing to a definition.
32 structure_ptr
33 is a pointer to the structure in which decode_definition_ returns
34 the desired information. This structure is defined in
35 decode_definition_str.incl.pl1. Input
36
37
38 eof
39 is a binary indicator that is "1"b if the current invocation of
40 decode_definition_ causes the search to go beyond the end of the
41 definition list. If that is the case, the returned information in
42 the structure is null. It may also be "1"b if any error occurs.
43 Output
44
45
46 Notes: decode_definition_ may not return the definition pointed to by
47 def_ptr. It checks the "ignore" bit of each definition, and if that
48 bit is "1"b it will continue scanning the list of definitions until it
49 finds one for which the "ignore" bit is not set.
50
51 To be sure the internal static information about the current segment
52 has been properly initialized, the first call to decode_definition_
53 should either pass a pointer to the base of the object segment in
54 def_ptr, or it should follow a call to decode_definition_$init.
55
56 When decode_definition_ is called following a call to
57 decode_definition_$init for the same object segment, it will ignore
58 the value of def_ptr and always return the first definition in the
59 definition section for which "ignore" is not set.
60
61
62 :Entry: full: 05/17/90 decode_definition_$full
63
64 Function: This entry point, given a pointer to an object segment
65 definition, returns more complete information about that definition.
66 The symbolic name returned by this entry point can contain up to 256
67 characters. This entry point does not use internal static storage.
68
69
70 Syntax:
71 declare decode_definition_$full entry ptr ptr ptr bit1 aligned;
72 call decode_definition_$full def_ptr structure_ptr oi_ptr eof;
73
74
75 Arguments:
76 def_ptr
77 is a pointer to the selected definition. Input.
78 structure_ptr
79 is a pointer to the provided structure into which the
80 decode_definition_$full entry point returns the desired information.
81 This structure is defined in decode_definition_str.incl.pl1.
82 Input.
83 oi_ptr
84 is a pointer to the structure returned by any entry point of the
85 object_info subroutine. Input.
86
87
88 eof
89 is a binary indicator that is "1"b if the current invocation of
90 decode_definition_$full causes the search to go beyond the end of
91 the definition list. If that is the case, the returned information
92 in the structure is null. It may also be "1"b if any error occurs.
93 Output.
94
95
96 Notes: decode_definition_$full will return the definition pointed to by
97 def_ptr, whether or not the "ignore" bit is set for that definition.
98 If def_ptr points to the definition header, however, this entry point
99 will skip over it and return the first definition in the definition
100 section.
101
102
103 :Entry: init: 05/16/90 decode_definition_$init
104
105 Function: This entry point is used for initialization of the internal
106 static storage used to locate the current segment. It is especially
107 useful when the object segment does not begin at offset 0 as for an
108 archive component. This entry point only effects the main entry
109 point, decode_definition_.
110
111
112 Syntax:
113 declare decode_definition_$init entry ptr fixed bin24;
114 call decode_definition_$init seg_ptr bit_count;
115
116
117 Arguments:
118 seg_ptr
119 is a pointer to the beginning of an object segment not necessarily
120 with an offset of 0. Input
121 bit_count
122 is the bit count of the object segment. Input