@portll/cobolwork 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/bin/cobolwork.mjs +7 -1
- package/lib/bms.mjs +8 -0
- package/lib/capabilities.mjs +2 -2
- package/lib/consequence.mjs +13 -0
- package/lib/constants.mjs +60 -0
- package/lib/control.mjs +61 -17
- package/lib/csd.mjs +6 -1
- package/lib/dataflow.mjs +58 -9
- package/lib/hlasm.mjs +79 -0
- package/lib/kernel/registry.mjs +4 -0
- package/lib/revision.json +1 -1
- package/lib/sets/abend.mjs +45 -7
- package/lib/sets/crypto.mjs +110 -0
- package/lib/sets/flow.mjs +18 -0
- package/lib/sets/hlasm.mjs +121 -0
- package/lib/sets/jcl.mjs +15 -1
- package/lib/sets/web.mjs +99 -4
- package/lib/sources.mjs +12 -2
- package/package.json +1 -1
- package/rules/compliance-cobit2019.json +132 -0
- package/rules/compliance-dora.json +143 -0
- package/rules/compliance-ffiec.json +143 -0
- package/rules/compliance-nist80053.json +143 -0
- package/rules/gitleaks-mainframe.toml +24 -10
- package/rules/hlasm-operations.json +451 -0
- package/rules/icsf-services.json +1178 -0
|
@@ -9,19 +9,29 @@ useDefault = false
|
|
|
9
9
|
[[rules]]
|
|
10
10
|
id = "jcl-racf-password"
|
|
11
11
|
description = "RACF password in a JCL statement (JOB card, EXEC PARM or DD)"
|
|
12
|
-
regex = '''(?im)^//[^*\n][^\n]*?\bPASSWORD=\(?([A-Z0-9@#$]{1,8})(?:[,)\s]|$)'''
|
|
12
|
+
regex = '''(?im)^//[^*\n][^\n]*?\bPASSWORD=\(?([A-Z0-9@#$]{1,8})(?:[,)'\s]|$)'''
|
|
13
13
|
secretGroup = 1
|
|
14
14
|
keywords = ["password="]
|
|
15
15
|
[rules.allowlist]
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
regexes = ['''(?i)^(?:x+|\*+|y+|n+|pass|passw(?:or)?d?|pwd|secret|dummy|changeme|password|newpass(?:word)?|oldpass(?:word)?)$''']
|
|
17
|
+
|
|
18
|
+
[[rules]]
|
|
19
|
+
id = "jcl-racf-new-password"
|
|
20
|
+
description = "New RACF password in a JCL PASSWORD=(old,new)"
|
|
21
|
+
regex = '''(?im)^//[^*\n][^\n]*?\bPASSWORD=\([A-Z0-9@#$]{1,8},([A-Z0-9@#$]{1,8})\)'''
|
|
22
|
+
secretGroup = 1
|
|
23
|
+
keywords = ["password="]
|
|
24
|
+
[rules.allowlist]
|
|
25
|
+
regexes = ['''(?i)^(?:x+|\*+|y+|n+|pass|passw(?:or)?d?|pwd|secret|dummy|changeme|password|newpass(?:word)?|oldpass(?:word)?)$''']
|
|
18
26
|
|
|
19
27
|
[[rules]]
|
|
20
28
|
id = "tso-logon-password"
|
|
21
29
|
description = "TSO LOGON with an inline password"
|
|
22
|
-
regex = '''(?im)^\s*
|
|
30
|
+
regex = '''(?im)^\s*LOGON\s+[A-Z@#$][A-Z0-9@#$]{0,7}/([A-Z0-9@#$]{1,8})\b'''
|
|
23
31
|
secretGroup = 1
|
|
24
32
|
keywords = ["logon"]
|
|
33
|
+
[rules.allowlist]
|
|
34
|
+
regexes = ['''(?i)^(?:x+|\*+|y+|n+|pass|passw(?:or)?d?|pwd|secret|dummy|changeme|password|newpass(?:word)?|oldpass(?:word)?)$''']
|
|
25
35
|
|
|
26
36
|
[[rules]]
|
|
27
37
|
id = "racf-command-password"
|
|
@@ -29,29 +39,33 @@ description = "RACF ADDUSER or ALTUSER with an inline PASSWORD(...)"
|
|
|
29
39
|
regex = '''(?i)\b(?:ALTUSER|ALU|ADDUSER|AU)\s+\(?[A-Z0-9@#$]{1,8}\)?[^\n]*?\bPASSWORD\(\s*([A-Z0-9@#$]{1,8})\s*\)'''
|
|
30
40
|
secretGroup = 1
|
|
31
41
|
keywords = ["password("]
|
|
42
|
+
[rules.allowlist]
|
|
43
|
+
regexes = ['''(?i)^(?:x+|\*+|y+|n+|pass|passw(?:or)?d?|pwd|secret|dummy|changeme|password|newpass(?:word)?|oldpass(?:word)?)$''']
|
|
32
44
|
|
|
33
45
|
[[rules]]
|
|
34
46
|
id = "cobol-value-credential"
|
|
35
47
|
description = "COBOL data item named for a credential with a literal VALUE"
|
|
36
|
-
regex = '''(?im)^[^*\n]{0,7}\s*\
|
|
48
|
+
regex = '''(?im)^[^*\n]{0,7}\s*\b(?:0?[1-9]|[1-4][0-9]|77)\s+[A-Z0-9-]*(?:PASSWORD|PASSWD|PASSWRD|PSWD|PWD|SECRET|APIKEY|API-KEY|ACCESS-KEY|(?:API|ACCESS|AUTH|BEARER|OAUTH|REFRESH)-?TOKEN)[A-Z0-9-]*\b[^.]*?\bVALUES?\s+(?:IS\s+|ARE\s+)?(?:'([^'\n]{1,})'|"([^"\n]{1,})")'''
|
|
37
49
|
keywords = ["password", "passwd", "passwrd", "pswd", "pwd", "secret", "apikey", "api-key", "access-key", "token"]
|
|
38
|
-
path = '''(?i)\.(cbl|cob|cobol|cpy|copy|sqb|pco|ccp)$'''
|
|
50
|
+
path = '''(?i)\.(?:cbl|cob|cobol|cpy|copy|sqb|pco|ccp)$'''
|
|
39
51
|
[rules.allowlist]
|
|
40
52
|
regexTarget = "match"
|
|
41
|
-
regexes = ['''(?i)VALUE\s+(?:IS\s+)?['"](x+|\*+|\s+|pass(word)?|secret|dummy|changeme|password:?|enter[^'"]*|invalid[^'"]*|wrong[^'"]*)['"]''']
|
|
53
|
+
regexes = ['''(?i)VALUE\s+(?:IS\s+)?['"](?:x+|\*+|\s+|y|n|yes|no|true|false|on|off|[01]|pass(?:word)?|secret|dummy|changeme|password:?|enter[^'"]*|invalid[^'"]*|wrong[^'"]*|[^'"]*\S\s+\S[^'"]*)['"]''']
|
|
42
54
|
|
|
43
55
|
[[rules]]
|
|
44
56
|
id = "embedded-sql-connect-password"
|
|
45
57
|
description = "EXEC SQL CONNECT with a literal password"
|
|
46
|
-
regex = '''(?is)\bCONNECT\s+(?:TO\s+\S+\s+)?(?:USER\s+(?:'[^']*'|"[^"]*"|:?[A-Z0-9-]+)\s+USING|IDENTIFIED\s+BY)\s+(?:'([^'\n]{3,})'|"([^"\n]{3,})")'''
|
|
58
|
+
regex = '''(?is)\bCONNECT\s+(?:TO\s+\S+\s+)?(?:USER\s+(?:'[^']*'|"[^"]*"|:?[A-Z0-9-]+)\s+USING|(?:(?:'[^']*'|"[^"]*"|:?[A-Z0-9-]+)\s+)?IDENTIFIED\s+BY)\s+(?:'([^'\n]{3,})'|"([^"\n]{3,})")'''
|
|
47
59
|
keywords = ["connect"]
|
|
48
60
|
[rules.allowlist]
|
|
49
61
|
regexTarget = "match"
|
|
50
|
-
regexes = ['''(?i)USING
|
|
62
|
+
regexes = ['''(?i)(?:USING|IDENTIFIED\s+BY)\s+['"](?:x+|\*+|pass(?:word)?|pwd|secret|dummy|changeme|your[-_ ]?password|<[^>]*>)['"]''']
|
|
51
63
|
|
|
52
64
|
[[rules]]
|
|
53
65
|
id = "cics-signon-password"
|
|
54
66
|
description = "EXEC CICS SIGNON, VERIFY PASSWORD or CHANGE PASSWORD with a literal password"
|
|
55
|
-
regex = '''(?
|
|
67
|
+
regex = '''(?i)EXEC\s+CICS\s+(?:SIGNON|VERIFY|CHANGE)\b[^.]{0,300}?\bPASSWORD\(\s*'([^'\n]{1,8})'\s*\)'''
|
|
56
68
|
secretGroup = 1
|
|
57
69
|
keywords = ["password("]
|
|
70
|
+
[rules.allowlist]
|
|
71
|
+
regexes = ['''(?i)^(?:x+|\*+|y+|n+|pass|passw(?:or)?d?|pwd|secret|dummy|changeme|password|newpass(?:word)?|oldpass(?:word)?)$''']
|
|
@@ -0,0 +1,451 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_comment": "The operations lib/hlasm.mjs reports, each with the IBM document that defines it, fetched and its title seen on the retrieved date. Summaries and operand notes are this project's words, not IBM's. The Principles of Operation is published on IBM Docs only as a PDF, so its entries give the instruction's heading and the PDF.",
|
|
3
|
+
"schemaVersion": 1,
|
|
4
|
+
"retrieved": "2026-10-02",
|
|
5
|
+
"operations": [
|
|
6
|
+
{
|
|
7
|
+
"name": "SVC",
|
|
8
|
+
"kind": "instruction",
|
|
9
|
+
"class": "supervisor-call",
|
|
10
|
+
"privilege": "general",
|
|
11
|
+
"summary": "Raises a supervisor-call interruption whose interruption code carries the instruction's one-byte immediate value, handing control to the operating system's SVC handler.",
|
|
12
|
+
"source": {
|
|
13
|
+
"doc": "z/Architecture Principles of Operation",
|
|
14
|
+
"number": "SA22-7832-14",
|
|
15
|
+
"topic": "SUPERVISOR CALL",
|
|
16
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"name": "PC",
|
|
21
|
+
"kind": "instruction",
|
|
22
|
+
"class": "cross-memory",
|
|
23
|
+
"privilege": "semiprivileged",
|
|
24
|
+
"summary": "Looks up an entry-table entry from a program-call number and branches to the routine it describes, optionally switching the primary address space and stacking state, with problem-state use gated by the PSW-key mask against the entry's authorization key mask.",
|
|
25
|
+
"source": {
|
|
26
|
+
"doc": "z/Architecture Principles of Operation",
|
|
27
|
+
"number": "SA22-7832-14",
|
|
28
|
+
"topic": "PROGRAM CALL",
|
|
29
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"name": "PR",
|
|
34
|
+
"kind": "instruction",
|
|
35
|
+
"class": "cross-memory",
|
|
36
|
+
"privilege": "semiprivileged",
|
|
37
|
+
"summary": "Unstacks the newest linkage-stack state entry, restoring the saved PSW and registers 2-14 and, for a program-call entry, the primary and secondary ASNs, PSW-key mask and extended authorization index.",
|
|
38
|
+
"source": {
|
|
39
|
+
"doc": "z/Architecture Principles of Operation",
|
|
40
|
+
"number": "SA22-7832-14",
|
|
41
|
+
"topic": "PROGRAM RETURN",
|
|
42
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"name": "PT",
|
|
47
|
+
"kind": "instruction",
|
|
48
|
+
"class": "cross-memory",
|
|
49
|
+
"privilege": "semiprivileged",
|
|
50
|
+
"summary": "Branches to an address taken from a register while loading a new PSW-key mask, secondary ASN, possibly a new primary ASN, and the problem-state bit, refusing a problem-state attempt to enter supervisor state.",
|
|
51
|
+
"source": {
|
|
52
|
+
"doc": "z/Architecture Principles of Operation",
|
|
53
|
+
"number": "SA22-7832-14",
|
|
54
|
+
"topic": "PROGRAM TRANSFER",
|
|
55
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"name": "SSAR",
|
|
60
|
+
"kind": "instruction",
|
|
61
|
+
"class": "cross-memory",
|
|
62
|
+
"privilege": "semiprivileged",
|
|
63
|
+
"summary": "Makes the address space named by an ASN in a general register the secondary address space, loading its address-space-control element after ASN translation and, when it differs from the primary, a secondary-authority check.",
|
|
64
|
+
"source": {
|
|
65
|
+
"doc": "z/Architecture Principles of Operation",
|
|
66
|
+
"number": "SA22-7832-14",
|
|
67
|
+
"topic": "SET SECONDARY ASN",
|
|
68
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"name": "LASP",
|
|
73
|
+
"kind": "instruction",
|
|
74
|
+
"class": "cross-memory",
|
|
75
|
+
"privilege": "privileged",
|
|
76
|
+
"summary": "Loads primary and secondary ASNs, the PSW-key mask and the authorization index from a storage operand into the control registers after ASN translation and authorization, reporting a failed step in the condition code instead of changing anything.",
|
|
77
|
+
"source": {
|
|
78
|
+
"doc": "z/Architecture Principles of Operation",
|
|
79
|
+
"number": "SA22-7832-14",
|
|
80
|
+
"topic": "LOAD ADDRESS SPACE PARAMETERS",
|
|
81
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"name": "MVCL",
|
|
86
|
+
"kind": "instruction",
|
|
87
|
+
"class": "long-move",
|
|
88
|
+
"privilege": "general",
|
|
89
|
+
"summary": "Copies a source area to a destination area, padding any remaining destination bytes with a fill byte, where both addresses and 24-bit lengths sit in even-odd register pairs so the extent is invisible in the instruction text.",
|
|
90
|
+
"source": {
|
|
91
|
+
"doc": "z/Architecture Principles of Operation",
|
|
92
|
+
"number": "SA22-7832-14",
|
|
93
|
+
"topic": "MOVE LONG",
|
|
94
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
"name": "MVCLE",
|
|
99
|
+
"kind": "instruction",
|
|
100
|
+
"class": "long-move",
|
|
101
|
+
"privilege": "general",
|
|
102
|
+
"summary": "Moves all or part of a register-described source to a register-described destination with padding, stopping after a CPU-chosen amount and signalling through the condition code so the program repeats it until the move is complete.",
|
|
103
|
+
"source": {
|
|
104
|
+
"doc": "z/Architecture Principles of Operation",
|
|
105
|
+
"number": "SA22-7832-14",
|
|
106
|
+
"topic": "MOVE LONG EXTENDED",
|
|
107
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"name": "MVCP",
|
|
112
|
+
"kind": "instruction",
|
|
113
|
+
"class": "cross-key-move",
|
|
114
|
+
"privilege": "semiprivileged",
|
|
115
|
+
"summary": "Copies up to 256 bytes from the secondary address space into the primary one, fetching the source under an access key taken from a register, which a problem-state program may name only if its PSW-key-mask bit is set.",
|
|
116
|
+
"source": {
|
|
117
|
+
"doc": "z/Architecture Principles of Operation",
|
|
118
|
+
"number": "SA22-7832-14",
|
|
119
|
+
"topic": "MOVE TO PRIMARY",
|
|
120
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"name": "MVCS",
|
|
125
|
+
"kind": "instruction",
|
|
126
|
+
"class": "cross-key-move",
|
|
127
|
+
"privilege": "semiprivileged",
|
|
128
|
+
"summary": "Copies up to 256 bytes from the primary address space into the secondary one, storing the destination under an access key taken from a register, which a problem-state program may name only if its PSW-key-mask bit is set.",
|
|
129
|
+
"source": {
|
|
130
|
+
"doc": "z/Architecture Principles of Operation",
|
|
131
|
+
"number": "SA22-7832-14",
|
|
132
|
+
"topic": "MOVE TO SECONDARY",
|
|
133
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"name": "MVCK",
|
|
138
|
+
"kind": "instruction",
|
|
139
|
+
"class": "cross-key-move",
|
|
140
|
+
"privilege": "semiprivileged",
|
|
141
|
+
"summary": "Copies up to 256 bytes within the current address space, fetching the source under an access key held in a register rather than the PSW key, subject to the PSW-key mask in problem state.",
|
|
142
|
+
"source": {
|
|
143
|
+
"doc": "z/Architecture Principles of Operation",
|
|
144
|
+
"number": "SA22-7832-14",
|
|
145
|
+
"topic": "MOVE WITH KEY",
|
|
146
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"name": "EX",
|
|
151
|
+
"kind": "instruction",
|
|
152
|
+
"class": "built-instruction",
|
|
153
|
+
"privilege": "general",
|
|
154
|
+
"summary": "Runs the single instruction found at its base-displacement operand address after ORing the low byte of a general register into that instruction's second byte, so a length, mask or register field is fixed only at run time.",
|
|
155
|
+
"source": {
|
|
156
|
+
"doc": "z/Architecture Principles of Operation",
|
|
157
|
+
"number": "SA22-7832-14",
|
|
158
|
+
"topic": "EXECUTE",
|
|
159
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
"name": "EXRL",
|
|
164
|
+
"kind": "instruction",
|
|
165
|
+
"class": "built-instruction",
|
|
166
|
+
"privilege": "general",
|
|
167
|
+
"summary": "Does the same as EXECUTE but locates the target instruction by a relative-long offset from the current instruction address.",
|
|
168
|
+
"source": {
|
|
169
|
+
"doc": "z/Architecture Principles of Operation",
|
|
170
|
+
"number": "SA22-7832-14",
|
|
171
|
+
"topic": "EXECUTE RELATIVE LONG",
|
|
172
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"name": "SPKA",
|
|
177
|
+
"kind": "instruction",
|
|
178
|
+
"class": "supervisor-state-change",
|
|
179
|
+
"privilege": "semiprivileged",
|
|
180
|
+
"summary": "Replaces the four-bit PSW key with bits 56-59 of its computed second-operand address, which is never used to access storage.",
|
|
181
|
+
"operands": "The new key is bits 56-59 of the effective address formed from the base register and displacement, so a register base hides the key value from static reading. In problem state the instruction succeeds only if the bit for the new key is one in the PSW-key mask (control register 3, bits 32-47, one bit per key 0-15); otherwise a privileged-operation exception occurs. In supervisor state any key may be set.",
|
|
182
|
+
"source": {
|
|
183
|
+
"doc": "z/Architecture Principles of Operation",
|
|
184
|
+
"number": "SA22-7832-14",
|
|
185
|
+
"topic": "SET PSW KEY FROM ADDRESS",
|
|
186
|
+
"url": "https://www.ibm.com/docs/en/module_1678991624569/pdf/SA22-7832-14.pdf"
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
{
|
|
190
|
+
"name": "MODESET",
|
|
191
|
+
"kind": "macro",
|
|
192
|
+
"class": "supervisor-state-change",
|
|
193
|
+
"privilege": "authorized",
|
|
194
|
+
"summary": "Changes the caller's PSW key, PSW-key mask or problem-state bit, either through inline code built on SPKA or through a generated SVC.",
|
|
195
|
+
"operands": "SVC form: KEY=ZERO sets PSW key 0 and KEY=NZERO sets the key recorded in the caller's TCB; MODE=SUP clears the problem-state bit (enter supervisor state) and MODE=PROB sets it (return to problem state). KEY=ZERO and MODE=SUP are the escalating values. This form requires supervisor state, PSW key 0-7, or APF authorization (module in an APF-authorized library, link-edited with AC=1). Inline form: EXTKEY=ZERO|TCB|RBT1|RBT234|KEY2|KEY3|KEY4|KEY7, KEYREG= or KEYADDR= expands to SPKA and changes only the PSW key; it needs supervisor state or a problem-state PSW-key mask that permits the requested key.",
|
|
196
|
+
"source": {
|
|
197
|
+
"doc": "z/OS 3.1 MVS Programming: Authorized Assembler Services Reference, Volume 3 (LLACOPY-SDUMPX)",
|
|
198
|
+
"number": "SA23-1374-60",
|
|
199
|
+
"topic": "MODESET — Change system status: Description",
|
|
200
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=status-description"
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"name": "STORAGE",
|
|
205
|
+
"kind": "macro",
|
|
206
|
+
"class": "storage",
|
|
207
|
+
"privilege": null,
|
|
208
|
+
"summary": "Obtains or releases virtual storage in the primary address space; unauthorized callers are limited to subpools 0-127 in keys 8-15, and subpools 131 and 132 need a PSW-key mask that permits the storage key.",
|
|
209
|
+
"source": {
|
|
210
|
+
"doc": "z/OS 3.1 MVS Programming: Assembler Services Reference, Volume 2 (IARR2V-XCTLX)",
|
|
211
|
+
"number": "SA23-1370-60",
|
|
212
|
+
"topic": "STORAGE — Obtain and release storage",
|
|
213
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=xct-storage-obtain-release-storage"
|
|
214
|
+
}
|
|
215
|
+
},
|
|
216
|
+
{
|
|
217
|
+
"name": "GETMAIN",
|
|
218
|
+
"kind": "macro",
|
|
219
|
+
"class": "storage",
|
|
220
|
+
"privilege": null,
|
|
221
|
+
"summary": "Allocates one or more areas of virtual storage from a subpool, with the same unauthorized subpool and key limits as STORAGE.",
|
|
222
|
+
"source": {
|
|
223
|
+
"doc": "z/OS 3.1 MVS Programming: Assembler Services Reference, Volume 1 (ABEND-HSPSERV)",
|
|
224
|
+
"number": "SA23-1369-60",
|
|
225
|
+
"topic": "GETMAIN — Allocate virtual storage",
|
|
226
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=hsp-getmain-allocate-virtual-storage"
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"name": "FREEMAIN",
|
|
231
|
+
"kind": "macro",
|
|
232
|
+
"class": "storage",
|
|
233
|
+
"privilege": null,
|
|
234
|
+
"summary": "Releases virtual storage areas, or a whole subpool owned by the issuing task, that were obtained with GETMAIN or STORAGE.",
|
|
235
|
+
"source": {
|
|
236
|
+
"doc": "z/OS 3.1 MVS Programming: Assembler Services Reference, Volume 1 (ABEND-HSPSERV)",
|
|
237
|
+
"number": "SA23-1369-60",
|
|
238
|
+
"topic": "FREEMAIN — Free virtual storage",
|
|
239
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=hsp-freemain-free-virtual-storage"
|
|
240
|
+
}
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"name": "LINK",
|
|
244
|
+
"kind": "macro",
|
|
245
|
+
"class": "module-load",
|
|
246
|
+
"privilege": null,
|
|
247
|
+
"summary": "Fetches the load module holding a named entry point if no usable copy is in storage and calls it, with control returning to the issuer when the called program ends.",
|
|
248
|
+
"source": {
|
|
249
|
+
"doc": "z/OS 3.1 MVS Programming: Assembler Services Reference, Volume 2 (IARR2V-XCTLX)",
|
|
250
|
+
"number": "SA23-1370-60",
|
|
251
|
+
"topic": "LINK and LINKX — Pass control to a program in another load module",
|
|
252
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=zmpasrix-link-linkx-pass-control-program-in-another-load-module"
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"name": "LINKX",
|
|
257
|
+
"kind": "macro",
|
|
258
|
+
"class": "module-load",
|
|
259
|
+
"privilege": null,
|
|
260
|
+
"summary": "Variant of LINK for callers in access-register ASC mode, also usable in primary mode, that accepts every LINK parameter.",
|
|
261
|
+
"source": {
|
|
262
|
+
"doc": "z/OS 3.1 MVS Programming: Assembler Services Reference, Volume 2 (IARR2V-XCTLX)",
|
|
263
|
+
"number": "SA23-1370-60",
|
|
264
|
+
"topic": "LINKX — Pass control to a program in another load module",
|
|
265
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=llpcpialm-linkx-pass-control-program-in-another-load-module"
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
"name": "LOAD",
|
|
270
|
+
"kind": "macro",
|
|
271
|
+
"class": "module-load",
|
|
272
|
+
"privilege": null,
|
|
273
|
+
"summary": "Brings a load module into virtual storage if no usable copy exists and returns its entry-point address in register 0 without calling it, raising its responsibility count until DELETE or task end.",
|
|
274
|
+
"source": {
|
|
275
|
+
"doc": "z/OS 3.1 MVS Programming: Assembler Services Reference, Volume 2 (IARR2V-XCTLX)",
|
|
276
|
+
"number": "SA23-1370-60",
|
|
277
|
+
"topic": "LOAD — Bring a load module into virtual storage",
|
|
278
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=xct-load-bring-load-module-into-virtual-storage"
|
|
279
|
+
}
|
|
280
|
+
},
|
|
281
|
+
{
|
|
282
|
+
"name": "XCTL",
|
|
283
|
+
"kind": "macro",
|
|
284
|
+
"class": "module-load",
|
|
285
|
+
"privilege": null,
|
|
286
|
+
"summary": "Transfers control to an entry point in another load module, fetching it if needed, without returning to the issuer; control later goes back to whoever invoked the issuer, and the issuer's module may be deleted.",
|
|
287
|
+
"source": {
|
|
288
|
+
"doc": "z/OS 3.1 MVS Programming: Assembler Services Reference, Volume 2 (IARR2V-XCTLX)",
|
|
289
|
+
"number": "SA23-1370-60",
|
|
290
|
+
"topic": "XCTL and XCTLX - Pass control to a program in another load module",
|
|
291
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=zmpasrix-xctl-xctlx-pass-control-program-in-another-load-module"
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
{
|
|
295
|
+
"name": "XCTLX",
|
|
296
|
+
"kind": "macro",
|
|
297
|
+
"class": "module-load",
|
|
298
|
+
"privilege": null,
|
|
299
|
+
"summary": "Variant of XCTL meant for callers in access-register ASC mode, also usable from primary mode.",
|
|
300
|
+
"source": {
|
|
301
|
+
"doc": "z/OS 3.1 MVS Programming: Assembler Services Reference, Volume 2 (IARR2V-XCTLX)",
|
|
302
|
+
"number": "SA23-1370-60",
|
|
303
|
+
"topic": "XCTLX - Pass control to a program in another load module",
|
|
304
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=xxpcpialm-xctlx-pass-control-program-in-another-load-module"
|
|
305
|
+
}
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"name": "ATTACH",
|
|
309
|
+
"kind": "macro",
|
|
310
|
+
"class": "module-load",
|
|
311
|
+
"privilege": null,
|
|
312
|
+
"summary": "Creates a new subtask of the issuing task that starts running at a named entry point, which must be a library member or alias or an IDENTIFY name.",
|
|
313
|
+
"source": {
|
|
314
|
+
"doc": "z/OS 3.1 MVS Programming: Assembler Services Reference, Volume 1 (ABEND-HSPSERV)",
|
|
315
|
+
"number": "SA23-1369-60",
|
|
316
|
+
"topic": "ATTACH and ATTACHX — Create a new task",
|
|
317
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=hsp-attach-attachx-create-new-task"
|
|
318
|
+
}
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"name": "ATTACHX",
|
|
322
|
+
"kind": "macro",
|
|
323
|
+
"class": "module-load",
|
|
324
|
+
"privilege": null,
|
|
325
|
+
"summary": "Variant of ATTACH, preferred by IBM over ATTACH, that also serves access-register-mode callers and gives the new task the issuer's ASC mode.",
|
|
326
|
+
"source": {
|
|
327
|
+
"doc": "z/OS 3.1 MVS Programming: Assembler Services Reference, Volume 1 (ABEND-HSPSERV)",
|
|
328
|
+
"number": "SA23-1369-60",
|
|
329
|
+
"topic": "ATTACHX—Create a new task",
|
|
330
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=task-attachxcreate-new"
|
|
331
|
+
}
|
|
332
|
+
},
|
|
333
|
+
{
|
|
334
|
+
"name": "RACROUTE",
|
|
335
|
+
"kind": "macro",
|
|
336
|
+
"class": "security-product",
|
|
337
|
+
"privilege": null,
|
|
338
|
+
"summary": "Single entry through which resource managers send security requests chosen by REQUEST= (user verification, access checks, resource definition and so on) to the system authorization facility, which routes them to RACF or another external security manager.",
|
|
339
|
+
"source": {
|
|
340
|
+
"doc": "z/OS 3.1 Security Server RACROUTE Macro Reference",
|
|
341
|
+
"number": "SA23-2294-60",
|
|
342
|
+
"topic": "RACROUTE: Router interface",
|
|
343
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=macros-racroute-router-interface"
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"name": "RACHECK",
|
|
348
|
+
"kind": "macro",
|
|
349
|
+
"class": "security-product",
|
|
350
|
+
"privilege": null,
|
|
351
|
+
"summary": "Older standalone RACF macro, limited to 24-bit callers and superseded by RACROUTE REQUEST=AUTH, that checks a user's access to a RACF-protected resource, with some operands reserved for APF-authorized, key 0-7 or supervisor-state callers.",
|
|
352
|
+
"source": {
|
|
353
|
+
"doc": "z/OS 3.1 Security Server RACROUTE Macro Reference",
|
|
354
|
+
"number": "SA23-2294-60",
|
|
355
|
+
"topic": "RACHECK: Check RACF authorization",
|
|
356
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=macros-racheck-check-racf-authorization"
|
|
357
|
+
}
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"name": "RACINIT",
|
|
361
|
+
"kind": "macro",
|
|
362
|
+
"class": "security-product",
|
|
363
|
+
"privilege": "authorized",
|
|
364
|
+
"summary": "Older standalone RACF macro, limited to 24-bit callers and superseded by RACROUTE REQUEST=VERIFY, that identifies a user and validates the password or operator ID card, requiring an APF-authorized, key 0-7 or supervisor-state caller or else an entry in RACF's authorized-caller table.",
|
|
365
|
+
"source": {
|
|
366
|
+
"doc": "z/OS 3.1 Security Server RACROUTE Macro Reference",
|
|
367
|
+
"number": "SA23-2294-60",
|
|
368
|
+
"topic": "RACINIT: Identify a RACF-defined user",
|
|
369
|
+
"url": "https://www.ibm.com/docs/en/zos/3.1.0?topic=macros-racinit-identify-racf-defined-user"
|
|
370
|
+
}
|
|
371
|
+
},
|
|
372
|
+
{
|
|
373
|
+
"name": "CSECT",
|
|
374
|
+
"kind": "assembler",
|
|
375
|
+
"class": "section",
|
|
376
|
+
"privilege": null,
|
|
377
|
+
"summary": "Starts a new executable control section or resumes an earlier one of the same name, or the unnamed section when no name is given.",
|
|
378
|
+
"source": {
|
|
379
|
+
"doc": "High Level Assembler for z/OS & z/VM & z/VSE 1.6 Language Reference",
|
|
380
|
+
"number": "SC26-4940-09",
|
|
381
|
+
"topic": "CSECT instruction",
|
|
382
|
+
"url": "https://www.ibm.com/docs/en/hla-and-tf/1.6.0?topic=statements-csect-instruction"
|
|
383
|
+
}
|
|
384
|
+
},
|
|
385
|
+
{
|
|
386
|
+
"name": "DSECT",
|
|
387
|
+
"kind": "assembler",
|
|
388
|
+
"class": "section",
|
|
389
|
+
"privilege": null,
|
|
390
|
+
"summary": "Starts or resumes a dummy section, a storage layout whose location counter begins at zero and whose statements produce no object code, mapped onto real storage through a USING base register.",
|
|
391
|
+
"source": {
|
|
392
|
+
"doc": "High Level Assembler for z/OS & z/VM & z/VSE 1.6 Language Reference",
|
|
393
|
+
"number": "SC26-4940-09",
|
|
394
|
+
"topic": "DSECT instruction",
|
|
395
|
+
"url": "https://www.ibm.com/docs/en/hla-and-tf/1.6.0?topic=statements-dsect-instruction"
|
|
396
|
+
}
|
|
397
|
+
},
|
|
398
|
+
{
|
|
399
|
+
"name": "RSECT",
|
|
400
|
+
"kind": "assembler",
|
|
401
|
+
"class": "section",
|
|
402
|
+
"privilege": null,
|
|
403
|
+
"summary": "Starts or resumes a read-only executable control section and makes the assembler warn about reentrancy violations in it whatever the RENT option says.",
|
|
404
|
+
"source": {
|
|
405
|
+
"doc": "High Level Assembler for z/OS & z/VM & z/VSE 1.6 Language Reference",
|
|
406
|
+
"number": "SC26-4940-09",
|
|
407
|
+
"topic": "RSECT instruction",
|
|
408
|
+
"url": "https://www.ibm.com/docs/en/hla-and-tf/1.6.0?topic=statements-rsect-instruction"
|
|
409
|
+
}
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
"name": "ENTRY",
|
|
413
|
+
"kind": "assembler",
|
|
414
|
+
"class": "linkage",
|
|
415
|
+
"privilege": null,
|
|
416
|
+
"summary": "Publishes symbols defined in this module's executable sections as entry symbols in the external symbol dictionary so other modules can refer to them.",
|
|
417
|
+
"source": {
|
|
418
|
+
"doc": "High Level Assembler for z/OS & z/VM & z/VSE 1.6 Language Reference",
|
|
419
|
+
"number": "SC26-4940-09",
|
|
420
|
+
"topic": "ENTRY instruction",
|
|
421
|
+
"url": "https://www.ibm.com/docs/en/hla-and-tf/1.6.0?topic=statements-entry-instruction"
|
|
422
|
+
}
|
|
423
|
+
},
|
|
424
|
+
{
|
|
425
|
+
"name": "EXTRN",
|
|
426
|
+
"kind": "assembler",
|
|
427
|
+
"class": "linkage",
|
|
428
|
+
"privilege": null,
|
|
429
|
+
"summary": "Declares symbols this module uses but another module defines, leaving the linker to resolve them and, under automatic library call, to search libraries for them.",
|
|
430
|
+
"source": {
|
|
431
|
+
"doc": "High Level Assembler for z/OS & z/VM & z/VSE 1.6 Language Reference",
|
|
432
|
+
"number": "SC26-4940-09",
|
|
433
|
+
"topic": "EXTRN instruction",
|
|
434
|
+
"url": "https://www.ibm.com/docs/en/hla-and-tf/1.6.0?topic=statements-extrn-instruction"
|
|
435
|
+
}
|
|
436
|
+
},
|
|
437
|
+
{
|
|
438
|
+
"name": "WXTRN",
|
|
439
|
+
"kind": "assembler",
|
|
440
|
+
"class": "linkage",
|
|
441
|
+
"privilege": null,
|
|
442
|
+
"summary": "Declares weak external references that the linker resolves only when the defining module is already part of the link, without triggering an automatic library search.",
|
|
443
|
+
"source": {
|
|
444
|
+
"doc": "High Level Assembler for z/OS & z/VM & z/VSE 1.6 Language Reference",
|
|
445
|
+
"number": "SC26-4940-09",
|
|
446
|
+
"topic": "WXTRN instruction",
|
|
447
|
+
"url": "https://www.ibm.com/docs/en/hla-and-tf/1.6.0?topic=statements-wxtrn-instruction"
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
]
|
|
451
|
+
}
|