Charles,

I'm not sure that it can be a 64 Bit address, it is just an idea....


What I've investigated so far:

The QMPA (Queue Manager Parameter Area) has a new Flag-Byte (Job Status Byte) 
at Offset 16. if the bit X'04' is set, than the address of the QMAT (Queue 
Manager Address Table, which I don't know where it is documented) is 64 bit 
wide and spread up:

   Bytes 0-1 at offset 10,
   Bytes 2-3 at offset 18 and
   Bytes 4-7 at offset 24.

On my system the bytes at

   offset 10 are always 0x0000, at
   offset 18 always 0x0008 and at
   offset 24 always 0x80000000.

This alone may be correct, but it is somehow strange to me.... (QMAT always at 
address 0x8000000 00008 0000).

If the bit is 0 than the address of the QMAT is 31 bit and at offset 24. On my 
z/OS 2.1 System the bit is always 0, on an z/OS 2.2 system it is always 1.

My *conclusion*, that SWAREQ may return 64 bit addresses is that the fact that 
IBM Manuals state that a JFCB can be located anywhere ("Residency: Any"). And 
the address of a JFCB can be get with SWAREQ when using the SVA-Address from 
the TIOT. But when I'm writing these lines... I guess "any" means "anywere 
above or below the 16 MB line" but does not mean "anywhere"....


However... I don't understand why the code does not work under z/OS anymore. I 
guess that IBM has changed the handling of SVAs. But I can not find any manual 
that describes this....


Have a nice weekend,
Michael



Mit freundlichen Grüßen

Michael Knigge
Software Engineer

SET GmbH
Lister Straße 15
30163 Hannover

phone: +49 511 39780-23
fax: +49 511 39780-65

www.set.de
michael.kni...@set.de

Handelsregister: HRB52778 Amtsgericht Hannover
Geschäftsführer: Till Dammermann, Dr. Bernd Huber

Weitere Informationen finden Sie auf unserer Homepage...

-----Ursprüngliche Nachricht-----
Von: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] Im Auftrag 
von Charles Mills
Gesendet: Freitag, 11. September 2015 15:34
An: IBM-MAIN@LISTSERV.UA.EDU
Betreff: Re: SWAREQ / SVA under z/OS 2.2

> the “return value” from SWAREQ may be a 64 bit address

Can you elaborate on that a little? I am looking at V2R2 SWAREQ and I don't see 
that. That would have a HUGE compatibility impact would it not?

Charles

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Michael Knigge
Sent: Friday, September 11, 2015 5:41 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: SWAREQ / SVA under z/OS 2.2

All,

I’ve reimplemented the SWAREQ-Macro in Java (my „template“ was the well known 
REXX from Gilbert Saint-Flour, see 
https://www.mail-archive.com/ibm-main@listserv.ua.edu/msg30741.html).

Since z/OS 2.2 this implementation works no longer. The address to the QMAT can 
be a 64 bit address since z/OS 2.2. No problem so far. But it seems to me the 
complete logic

DO WHILE sva>65536
      qmat = C2D(STORAGE(D2X(qmat+12),4))
      sva=sva-65536
END
RETURN C2D(STORAGE(D2X(qmat+sva+1),4))+16

seems to work no longer…. I guess the problem is that the “return value” from 
SWAREQ may be a 64 bit address but the “old” routine only gets a 32 bit value 
at qmat+sva+1. …

Does anyone have a sample code of a SWAREQ-Implementation in a high-level 
language? Or can someone tell me in which manual the format of a SVA is 
documented, as well as the format of the QMAT (Queue Manager Address Table)? I 
was not able to find it in this really large forest of IBM manuals….

I need to do a SWAREQ from Java and I would like to do so without assembler 
“native” code from Java (which is always a little pain)….

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to