1 thilo.boehm 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 thilo.boehm 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 */ Author: Thilo Boehm (tboehm@de.ibm.com)
39 */
40 */%//////////////////////////////////////////////////////////////////
41
42 ********************************************************************
43 thilo.boehm 1.1 * REGARM - register with ARM
44 *
45 * Function: The elment name and type are hard coded.
46 * TERMTYPE=ELEMTERM is used for only app ABENDS.
47 * All other input parameters are left at their defaults:
48 * ELEMTYPE=NO_ELEMTYPE
49 * EVENTEXIT=NO_EVENTEXIT
50 * EVENTEXITPL=NO_EVENTEXITPL
51 * PLISTVER=IMPLIED_VERSION
52 * RESTARTTIMEOUT=NORM
53 * STARTTXT=NO_STARTTXT
54 *
55 * USAGE FROM C:
56 * void register_arm (char * elemname,
57 * char * elemtype,
58 * /* must point to a local buffer which has a length */
59 * /* of least 128 bytes */
60 * char * buffer,
61 * int * retcode,
62 * int * reasoncode)
63 *
64 thilo.boehm 1.1 ********************************************************************
65 REGARM CSECT
66 REGARM AMODE 31
67 REGARM RMODE ANY
68 *
69 EDCPRLG +
70 BASEREG=3, +
71 USRDSAL=AUTOSPACE1
72 *
73 *
74 USING AUTOSPACE,13
75 * make C-auto-storage accessable using DSECT and register 13
76 L R4,0(0,R1) get element name address into R4
77 L R7,4(0,R1) GET buffer PTR into R7
78 L R5,8(0,R1) GET pointer to retcode variable
79 L R6,12(0,R1) GET pointer to reascode variable
80 MVC 0(IXC1FL,R7),IXC1ST COPY TEMPLATE LIST FORM MACRO
81 *
82 IXCARM REQUEST=REGISTER,ELEMENT=(R4), +
83 ELEMTYPE=NO_ELEMTYPE, +
84 TERMTYPE=ELEMTERM, +
85 thilo.boehm 1.1 RETCODE=0(0,R5), +
86 RSNCODE=0(0,R6), +
87 MF=(E,(R7))
88 EDCEPIL
89 *
90 *
91 * use the LIST from of the IXCARM macro to generate a parameter
92 * block here
93 AUTOSPACE EDCDSAD
94 IXC1ST IXCARM MF=(L,IXCARML)
95 IXC1FE DS 0H
96 IXC1FL EQU IXC1FE-IXC1ST
97 AUTOSPACE1 EQU *-AUTOSPACE
98 *
99 ********************************************************************
100 * READYARM - set element to READY state with ARM
101 *
102 * USAGE FROM C:
103 * void ready_arm (
104 * /* must point to a local buffer which has a length */
105 * /* of least 128 bytes */
106 thilo.boehm 1.1 * char * buffer,
107 * int * retcode, int * reasoncode)
108 *
109 ********************************************************************
110 READYARM CSECT
111 READYARM AMODE 31
112 READYARM RMODE ANY
113 *
114 EDCPRLG +
115 BASEREG=3, +
116 USRDSAL=AUTOSPACE2
117 *
118 *
119 USING AUTOSPACE,13
120 * make C-auto-storage accessable using DSECT and register 13
121 L R7,0(0,R1) GET buffer PTR into R7
122 L R5,4(0,R1) GET pointer to retcode variable
123 L R6,8(0,R1) GET pointer to reascode variable
124 MVC 0(IXC2FL,R7),IXC2ST COPY TEMPLATE LIST FORM MACRO
125 *
126 IXCARM REQUEST=READY, +
127 thilo.boehm 1.1 RETCODE=0(0,R5), +
128 RSNCODE=0(0,R6), +
129 MF=(E,(R7))
130 *
131 *
132 EDCEPIL
133 *
134 *
135 AUTOSPACE EDCDSAD
136 IXC2ST IXCARM MF=(L,IXCARM2)
137 IXC2FE DS 0H
138 IXC2FL EQU IXC2FE-IXC2ST
139 AUTOSPACE2 EQU *-AUTOSPACE
140 *
141 ********************************************************************
142 * DEREGARM - deregister element from ARM
143 * should be called at program termination
144 * USAGE FROM C:
145 * void deregister_arm (
146 * /* must point to a local buffer which has a length */
147 * /* of least 128 bytes */
148 thilo.boehm 1.1 * char * buffer,
149 * int * retcode, int * reasoncode)
150 *
151 ********************************************************************
152 DEREGARM CSECT
153 DEREGARM AMODE 31
154 DEREGARM RMODE ANY
155 *
156 EDCPRLG +
157 BASEREG=3, +
158 USRDSAL=AUTOSPACE3
159 *
160 *
161 USING AUTOSPACE,13
162 * make C-auto-storage accessable using DSECT and register 13
163 L R7,0(0,R1) GET buffer PTR into R7
164 L R5,4(0,R1) GET pointer to retcode variable
165 L R6,8(0,R1) GET pointer to reascode variable
166 MVC 0(IXC3FL,R7),IXC3ST COPY TEMPLATE LIST FORM MACRO
167 *
168 IXCARM REQUEST=DEREGISTER, +
169 thilo.boehm 1.1 RETCODE=0(0,R5), +
170 RSNCODE=0(0,R6), +
171 MF=(E,(R7))
172 *
173 EDCEPIL
174 *
175 *
176 AUTOSPACE EDCDSAD
177 IXC3ST IXCARM MF=(L,IXCARM3)
178 IXC3FE DS 0H
179 IXC3FL EQU IXC3FE-IXC3ST
180 AUTOSPACE3 EQU *-AUTOSPACE
181 *
182 *
183 R0 EQU 0
184 R1 EQU 1
185 R2 EQU 2
186 R3 EQU 3
187 R4 EQU 4
188 R5 EQU 5
189 R6 EQU 6
190 thilo.boehm 1.1 R7 EQU 7
191 R8 EQU 8
192 R9 EQU 9
193 R10 EQU 10
194 R11 EQU 11
195 R12 EQU 12
196 R13 EQU 13
197 R14 EQU 14
198 R15 EQU 15
199 *
|