1 r.kieninger 1.1 */%2006//////////////////////////////////////////////////////////////
2 */
3 */ Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard
4 */ Development Company, L.P.; IBM Corp.; The Open Group;
5 */ Tivoli Systems.
6 */ Copyright (c) 2003 BMC Software; Hewlett-Packard Development
7 */ Company, L.P.; IBM Corp.; EMC Corporation, The Open Group.
8 */ Copyright (c) 2004 BMC Software; Hewlett-Packard Development
9 */ Company, L.P.; IBM Corp.; EMC Corporation; VERITAS Software
10 */ Corporation; The Open Group.
11 */ Copyright (c) 2005 Hewlett-Packard Development Company, L.P.;
12 */ IBM Corp.; EMC Corporation; VERITAS Software Corporation;
13 */ The Open Group.
14 */ Copyright (c) 2006 Hewlett-Packard Development Company, L.P.;
15 */ IBM Corp.; EMC Corporation; Symantec Corporation; The Open Group.
16 */
17 */ Permission is hereby granted, free of charge, to any person
18 */ obtaining a copy of this software and associated documentation
19 */ files (the "Software"), to deal in the Software without restriction,
20 */ including without limitation the rights to use, copy, modify, merge,
21 */ publish, distribute, sublicense, and/or sell copies of the Software,
22 r.kieninger 1.1 */ and to permit persons to whom the Software is furnished to do so,
23 */ subject to the following conditions:
24 */
25 */ THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE
26 */ INCLUDED IN ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE.
27 */ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
28 */ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
29 */ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
30 */ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
31 */ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
32 */ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
33 */ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
34 */ DEALINGS IN THE SOFTWARE.
35 */
36 */===================================================================
37 */
38 */%//////////////////////////////////////////////////////////////////
39
40 ********************************************************************
41 * REGARM - register with ARM
42 *
43 r.kieninger 1.1 * Function: The elment name and type are hard coded.
44 * TERMTYPE=ELEMTERM is used for only app ABENDS.
45 * All other input parameters are left at their defaults:
46 * ELEMTYPE=NO_ELEMTYPE
47 * EVENTEXIT=NO_EVENTEXIT
48 * EVENTEXITPL=NO_EVENTEXITPL
49 * PLISTVER=IMPLIED_VERSION
50 * RESTARTTIMEOUT=NORM
51 * STARTTXT=NO_STARTTXT
52 *
53 * USAGE FROM C:
54 * void register_arm (char * elemname,
55 * char * elemtype,
56 * /* must point to a local buffer which has a length */
57 * /* of least 128 bytes */
58 * char * buffer,
59 * int * retcode,
60 * int * reasoncode)
61 *
62 ********************************************************************
63 REGARM CSECT
64 r.kieninger 1.1 REGARM AMODE 64
65 REGARM RMODE 31 MUST RESIDE in 31-BIT MEMORY
66 *
67 EDCPRLG +
68 BASEREG=3, +
69 USRDSAL=AUTOSPACE1
70 *
71 *
72 USING AUTOSPACE,13
73 * make C-auto-storage accessable using DSECT and register 13
74 L R4,0(0,R1) get element name address into R4
75 L R7,4(0,R1) GET buffer PTR into R7
76 L R5,8(0,R1) GET pointer to retcode variable
77 L R6,12(0,R1) GET pointer to reascode variable
78 MVC 0(IXC1FL,R7),IXC1ST COPY TEMPLATE LIST FORM MACRO
79 *
80 IXCARM REQUEST=REGISTER,ELEMENT=(R4), +
81 ELEMTYPE=NO_ELEMTYPE, +
82 TERMTYPE=ELEMTERM, +
83 RETCODE=0(0,R5), +
84 RSNCODE=0(0,R6), +
85 r.kieninger 1.1 MF=(E,(R7))
86 EDCEPIL
87 *
88 *
89 * use the LIST from of the IXCARM macro to generate a parameter
90 * block here
91 AUTOSPACE EDCDSAD
92 IXC1ST IXCARM MF=(L,IXCARML)
93 IXC1FE DS 0H
94 IXC1FL EQU IXC1FE-IXC1ST
95 AUTOSPACE1 EQU *-AUTOSPACE
96 *
97 ********************************************************************
98 * READYARM - set element to READY state with ARM
99 *
100 * USAGE FROM C:
101 * void ready_arm (
102 * /* must point to a local buffer which has a length */
103 * /* of least 128 bytes */
104 * char * buffer,
105 * int * retcode, int * reasoncode)
106 r.kieninger 1.1 *
107 ********************************************************************
108 READYARM CSECT
109 READYARM AMODE 31
110 READYARM RMODE ANY
111 *
112 EDCPRLG +
113 BASEREG=3, +
114 USRDSAL=AUTOSPACE2
115 *
116 *
117 USING AUTOSPACE,13
118 * make C-auto-storage accessable using DSECT and register 13
119 L R7,0(0,R1) GET buffer PTR into R7
120 L R5,4(0,R1) GET pointer to retcode variable
121 L R6,8(0,R1) GET pointer to reascode variable
122 MVC 0(IXC2FL,R7),IXC2ST COPY TEMPLATE LIST FORM MACRO
123 *
124 IXCARM REQUEST=READY, +
125 RETCODE=0(0,R5), +
126 RSNCODE=0(0,R6), +
127 r.kieninger 1.1 MF=(E,(R7))
128 *
129 *
130 EDCEPIL
131 *
132 *
133 AUTOSPACE EDCDSAD
134 IXC2ST IXCARM MF=(L,IXCARM2)
135 IXC2FE DS 0H
136 IXC2FL EQU IXC2FE-IXC2ST
137 AUTOSPACE2 EQU *-AUTOSPACE
138 *
139 ********************************************************************
140 * DEREGARM - deregister element from ARM
141 * should be called at program termination
142 * USAGE FROM C:
143 * void deregister_arm (
144 * /* must point to a local buffer which has a length */
145 * /* of least 128 bytes */
146 * char * buffer,
147 * int * retcode, int * reasoncode)
148 r.kieninger 1.1 *
149 ********************************************************************
150 DEREGARM CSECT
151 DEREGARM AMODE 31
152 DEREGARM RMODE ANY
153 *
154 EDCPRLG +
155 BASEREG=3, +
156 USRDSAL=AUTOSPACE3
157 *
158 *
159 USING AUTOSPACE,13
160 * make C-auto-storage accessable using DSECT and register 13
161 L R7,0(0,R1) GET buffer PTR into R7
162 L R5,4(0,R1) GET pointer to retcode variable
163 L R6,8(0,R1) GET pointer to reascode variable
164 MVC 0(IXC3FL,R7),IXC3ST COPY TEMPLATE LIST FORM MACRO
165 *
166 IXCARM REQUEST=DEREGISTER, +
167 RETCODE=0(0,R5), +
168 RSNCODE=0(0,R6), +
169 r.kieninger 1.1 MF=(E,(R7))
170 *
171 EDCEPIL
172 *
173 *
174 AUTOSPACE EDCDSAD
175 IXC3ST IXCARM MF=(L,IXCARM3)
176 IXC3FE DS 0H
177 IXC3FL EQU IXC3FE-IXC3ST
178 AUTOSPACE3 EQU *-AUTOSPACE
179 *
180 *
181 R0 EQU 0
182 R1 EQU 1
183 R2 EQU 2
184 R3 EQU 3
185 R4 EQU 4
186 R5 EQU 5
187 R6 EQU 6
188 R7 EQU 7
189 R8 EQU 8
190 r.kieninger 1.1 R9 EQU 9
191 R10 EQU 10
192 R11 EQU 11
193 R12 EQU 12
194 R13 EQU 13
195 R14 EQU 14
196 R15 EQU 15
197 *
|