Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-26 Thread Peter Relson
Gil wrote

What other system services can similarly be called by LINKPGM?  I'd guess any 
that don't
require a parameter containing a pointer to obtained storage because REXX has no
pointer type.


In general, the answer might be "any callable service" (using the term as used 
within "z/OS MVS Programming: Callable Services for High-Level Languages") as 
long as you can accommodate the parameters.

That is in alignment with Shmuel's post.

Peter  Relson
z/OS Core Technology Design


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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-25 Thread Seymour J Metz
Anything whose parameters you can construct in REXX can be called with ADDRESS 
LINKPGM, and the STORAGE BIF helps, but for some things you need a supporting 
function in another language. Writing a REXX-aware routine is fairly 
straightforward.
--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-25 Thread Paul Gilmartin
On Sat, 25 Mar 2023 08:27:37 -0700, Ed Jaffe wrote:

>On 3/23/2023 12:52 PM, Steve Austin wrote:
>> After lurking for on here for years, it's nice to have contributed something
>> some found useful.
>
>Quite useful. Thanks!
>
Yes.  That uses address LINKPGM in a fashion similar to the SAMPLIB example for 
ICSF.

What other system services can similarly be called by LINKPGM?  I'd guess any 
that don't
require a parameter containing a pointer to obtained storage because REXX has no
pointer type.

Such support could be broadened, such as to the SMP/E API by a (user) function 
interface
to STORAGE OBTAIN/RELEASE, accepting the hazard of storage leaks.

-- 
gil

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-25 Thread Ed Jaffe

On 3/23/2023 12:52 PM, Steve Austin wrote:

After lurking for on here for years, it's nice to have contributed something
some found useful.


Quite useful. Thanks!


--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://www.phoenixsoftware.com/



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-23 Thread Steve Austin
After lurking for on here for years, it's nice to have contributed something
some found useful. Please excuse my poor attempt at humour.

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Paul Gilmartin
Sent: Thursday, March 23, 2023 6:59 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Is z/OS Name/Token pair retrieval supported from REXX?

On Thu, 23 Mar 2023 18:46:43 -, Steve Austin wrote:

>... The loop
>is simply to check that server has not ended every 2 seconds.
>
I see.  Thanks.

>I think I got
>the idea from an IBM sample that uses a similar technique to call the
>Catalog Search Interface  from REXX. I didn' t expect a kind of Spanish
>Inquisition(citation Monty Python).
>
A couple of us thought you might have some expertise to share, as you did.

>-Original Message-
>From: Paul Gilmartin
>Sent: Thursday, March 23, 2023 5:19 PM
>> ...
>I'm curious, too.
> ...

--
gil

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

-- 
This e-mail message has been scanned and cleared by Google Message Security 
and the UNICOM Global security systems. This message is for the named 
person's use only. If you receive this message in error, please delete it 
and notify the sender. 

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-23 Thread Paul Gilmartin
On Thu, 23 Mar 2023 18:46:43 -, Steve Austin wrote:

>... The loop
>is simply to check that server has not ended every 2 seconds. 
>
I see.  Thanks.

>I think I got
>the idea from an IBM sample that uses a similar technique to call the
>Catalog Search Interface  from REXX. I didn' t expect a kind of Spanish
>Inquisition(citation Monty Python).
>
A couple of us thought you might have some expertise to share, as you did.

>-Original Message-
>From: Paul Gilmartin
>Sent: Thursday, March 23, 2023 5:19 PM
>> ...
>I'm curious, too.
> ...

-- 
gil

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-23 Thread Steve Austin
The code is taken from a routine I've had running for some time and rather
than change it and potentially introduce an error I left it alone. The loop
is simply to check that server has not ended every 2 seconds. I think I got
the idea from an IBM sample that uses a similar technique to call the
Catalog Search Interface  from REXX. I didn' t expect a kind of Spanish
Inquisition(citation Monty Python).

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of Paul Gilmartin
Sent: Thursday, March 23, 2023 5:19 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Is z/OS Name/Token pair retrieval supported from REXX?

On Wed, 22 Mar 2023 11:30:44 -0400, Steve Smith wrote:

>That's a far more elegant and supported way to do it.  Although the
>loop is presumably part of some other logic.  I converted it into a
>simple demo
>exec:
>
I'm curious, too.
Why the loop?
Why the SLEEP?
Have you an example where they help?  Does the doc recommend that?  Cite?

>/* REXX */
>ARG NAME
>LEVEL = '0004'X
>NAME = LEFT(NAME,16)
>TOKEN = ''X
>RETCODE = ''X
>ADDRESS LINKPGM "IEANTRT  LEVEL NAME  TOKEN RETCODE"
>RCC = C2D(RETCODE)
>SAY "RC:" RCC "NAME:" NAME "TOKEN:" C2X(TOKEN)


>On Wed, Mar 22, 2023 at 4:22 AM Steve Austin wrote:
>>
>> level='0004'x
>> name=left(serverName,16)
>> token=''x
>> retcode=''x
>> do until retcode = '0004'x
>>   "sleep 2"
>>   address LINKPGM "IEANTRT  LEVEL NAME  TOKEN RETCODE"
>> end

--
gil

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

-- 
This e-mail message has been scanned and cleared by Google Message Security 
and the UNICOM Global security systems. This message is for the named 
person's use only. If you receive this message in error, please delete it 
and notify the sender. 

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-23 Thread Paul Gilmartin
On Wed, 22 Mar 2023 11:30:44 -0400, Steve Smith wrote:

>That's a far more elegant and supported way to do it.  Although the loop is
>presumably part of some other logic.  I converted it into a simple demo
>exec:
>
I'm curious, too.
Why the loop?
Why the SLEEP?
Have you an example where they help?  Does the doc recommend that?  Cite?

>/* REXX */
>ARG NAME
>LEVEL = '0004'X
>NAME = LEFT(NAME,16)
>TOKEN = ''X
>RETCODE = ''X
>ADDRESS LINKPGM "IEANTRT  LEVEL NAME  TOKEN RETCODE"
>RCC = C2D(RETCODE)
>SAY "RC:" RCC "NAME:" NAME "TOKEN:" C2X(TOKEN)


>On Wed, Mar 22, 2023 at 4:22 AM Steve Austin wrote:
>>
>> level='0004'x
>> name=left(serverName,16)
>> token=''x
>> retcode=''x
>> do until retcode = '0004'x
>>   "sleep 2"
>>   address LINKPGM "IEANTRT  LEVEL NAME  TOKEN RETCODE"
>> end

-- 
gil

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-23 Thread Seymour J Metz
In general, yes, and true for IEANTRT, but there are some cases where the 
intended service is awkward or pointless. 


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Ed 
Jaffe [edja...@phoenixsoftware.com]
Sent: Thursday, March 23, 2023 9:48 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Is z/OS Name/Token pair retrieval supported from REXX?

On 3/22/2023 1:21 AM, Steve Austin wrote:
> This works for me;
>
> level='0004'x
> name=left(serverName,16)
> token=''x
> retcode=''x
> do until retcode = '0004'x
>"sleep 2"
>address LINKPGM "IEANTRT  LEVEL NAME  TOKEN RETCODE"
> end

Using an intended service is always preferable to "crawling" through
control blocks...


--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.phoenixsoftware.com%2F&data=05%7C01%7Csmetz3%40gmu.edu%7C1fe3af6b7741469ee7d108db2ba54894%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C638151761113282322%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=n2s6YQEWKU%2F%2BJtpMXYZQ%2BbH35UAhGVbO8SUPwvOr8Ck%3D&reserved=0



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.

--
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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-23 Thread Ed Jaffe

On 3/22/2023 1:21 AM, Steve Austin wrote:

This works for me;

level='0004'x
name=left(serverName,16)
token=''x
retcode=''x
do until retcode = '0004'x
   "sleep 2"
   address LINKPGM "IEANTRT  LEVEL NAME  TOKEN RETCODE"
end


Using an intended service is always preferable to "crawling" through 
control blocks...



--
Phoenix Software International
Edward E. Jaffe
831 Parkview Drive North
El Segundo, CA 90245
https://www.phoenixsoftware.com/



This e-mail message, including any attachments, appended messages and the
information contained therein, is for the sole use of the intended
recipient(s). If you are not an intended recipient or have otherwise
received this email message in error, any use, dissemination, distribution,
review, storage or copying of this e-mail message and the information
contained therein is strictly prohibited. If you are not an intended
recipient, please contact the sender by reply e-mail and destroy all copies
of this email message and do not otherwise utilize or retain this email
message or any or all of the information contained therein. Although this
email message and any attachments or appended messages are believed to be
free of any virus or other defect that might affect any computer system into
which it is received and opened, it is the responsibility of the recipient
to ensure that it is virus free and no responsibility is accepted by the
sender for any loss or damage arising in any way from its opening or use.

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-22 Thread Steve Smith
That's a far more elegant and supported way to do it.  Although the loop is
presumably part of some other logic.  I converted it into a simple demo
exec:

/* REXX */
ARG NAME
LEVEL = '0004'X
NAME = LEFT(NAME,16)
TOKEN = ''X
RETCODE = ''X
ADDRESS LINKPGM "IEANTRT  LEVEL NAME  TOKEN RETCODE"
RCC = C2D(RETCODE)
SAY "RC:" RCC "NAME:" NAME "TOKEN:" C2X(TOKEN)

Sorry about upper-case, it was an accident.

sas

On Wed, Mar 22, 2023 at 4:22 AM Steve Austin 
wrote:

> This works for me;
>
> level='0004'x
> name=left(serverName,16)
> token=''x
> retcode=''x
> do until retcode = '0004'x
>   "sleep 2"
>   address LINKPGM "IEANTRT  LEVEL NAME  TOKEN RETCODE"
> end
>
>

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-22 Thread Peter Relson
It is surely understood that you use non-programming-interface control block 
fields at your (and your customers') risk.
And what works "today" might not work "tomorrow" whether because of changes or 
because of serialization situations that you do not account for.

If that's OK with you, have at it.

Peter Relson
z/OS Core Technology Design


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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-22 Thread Mike Shaw
Also excellent. Thank you.

Mike


On Wed, Mar 22, 2023, 4:21 AM Steve Austin  wrote:

> This works for me;
>
> level='0004'x
> name=left(serverName,16)
> token=''x
> retcode=''x
> do until retcode = '0004'x
>   "sleep 2"
>   address LINKPGM "IEANTRT  LEVEL NAME  TOKEN RETCODE"
> end
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of ITschak Mugzach
> Sent: Tuesday, March 21, 2023 5:36 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Is z/OS Name/Token pair retrieval supported from REXX?
>
> It dump the pairs, but you can always use IF and LEAVE...
>
> בתאריך יום ג׳, 21 במרץ 2023 ב-19:24 מאת Paul Gilmartin <
> 042bfe9c879d-dmarc-requ...@listserv.ua.edu>:
>
> > On Tue, 21 Mar 2023 16:51:17 +, Farley, Peter  wrote:
> >
> > >Great routine ITschak.  I made two small improvements to the name and
> > token displays to better handle binary characters (less than '40'x) in
> > each part.
> > >
> > Judicious use of  white space/indention helps/would help legibility.
> >
> > Use of PROCEDURE EXPOSE could help robustness.
> >
> > Does this actually "check for the existence of a specific name/token
> pair"
> > as
> > the OP requested or merely dump the entire table?  Setting a compound
> > symbol would facilitate the former.
> >
> > Was I mistaken about the need to retry in case of concurrent updates?
> >
> >
> > >Updated code for display subroutine:
> > >
> > >/* routine to report on name token pairs */
> > >Donttp:
> > >Parse Arg ptr,title
> > >Say title' level NTTP at 'D2X(ptr)
> > >eye = Storage(D2X(ptr),4)
> > >If eye \= 'NTTH' then Do
> > >Say '** Invalid eye catcher found for NTTP'
> > >Return
> > >End
> > >base = C2D(Storage(D2X(ptr+64),4))
> > >Do While base \= 0
> > >tcbt = C2X(Storage(D2X(base+4),4))
> > >name = Storage(D2X(base+8),16)
> > >token = C2X(Storage(D2X(base+24),16)) nonprint =
> > >verify(name,xrange('40'x)) if nonprint = 0 then
> > >   Say 'Name 'name' from 'tcbt
> > >else do
> > >   name_bin = c2x(substr(name, nonprint))
> > >   name = substr(name, 1, nonprint - 1)' + "'name_bin'"'
> > >   Say 'Name has binary characters: 'name' from 'tcbt End display =
> > >X2C(token)
> > >/* translate out characters between 00 and 3f */ display =
> > >TRANSLATE(display,,XRANGE(,'3f'x),'.')
> > >Say ' Token = 'token' ('display')'
> > >base = C2D(Storage(D2X(base+64),4))
> > >End
> > >Say ''
> > >Return
> >
> > --
> > gil
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions, send
> > email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
> >
> --
> ITschak Mugzach
> *|** IronSphere Platform* *|* *Information Security Continuous Monitoring
> for z/OS, x/Linux & IBM I **| z/VM coming soon  *
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email
> to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> This e-mail message has been scanned and cleared by Google Message
> Security
> and the UNICOM Global security systems. This message is for the named
> person's use only. If you receive this message in error, please delete it
> and notify the sender.
>
> --
> 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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-22 Thread Steve Austin
This works for me;

level='0004'x
name=left(serverName,16)
token=''x
retcode=''x
do until retcode = '0004'x
  "sleep 2"
  address LINKPGM "IEANTRT  LEVEL NAME  TOKEN RETCODE"
end

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
Behalf Of ITschak Mugzach
Sent: Tuesday, March 21, 2023 5:36 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Is z/OS Name/Token pair retrieval supported from REXX?

It dump the pairs, but you can always use IF and LEAVE...

בתאריך יום ג׳, 21 במרץ 2023 ב-19:24 מאת Paul Gilmartin <
042bfe9c879d-dmarc-requ...@listserv.ua.edu>:

> On Tue, 21 Mar 2023 16:51:17 +, Farley, Peter  wrote:
>
> >Great routine ITschak.  I made two small improvements to the name and
> token displays to better handle binary characters (less than '40'x) in
> each part.
> >
> Judicious use of  white space/indention helps/would help legibility.
>
> Use of PROCEDURE EXPOSE could help robustness.
>
> Does this actually "check for the existence of a specific name/token pair"
> as
> the OP requested or merely dump the entire table?  Setting a compound
> symbol would facilitate the former.
>
> Was I mistaken about the need to retry in case of concurrent updates?
>
>
> >Updated code for display subroutine:
> >
> >/* routine to report on name token pairs */
> >Donttp:
> >Parse Arg ptr,title
> >Say title' level NTTP at 'D2X(ptr)
> >eye = Storage(D2X(ptr),4)
> >If eye \= 'NTTH' then Do
> >Say '** Invalid eye catcher found for NTTP'
> >Return
> >End
> >base = C2D(Storage(D2X(ptr+64),4))
> >Do While base \= 0
> >tcbt = C2X(Storage(D2X(base+4),4))
> >name = Storage(D2X(base+8),16)
> >token = C2X(Storage(D2X(base+24),16)) nonprint =
> >verify(name,xrange('40'x)) if nonprint = 0 then
> >   Say 'Name 'name' from 'tcbt
> >else do
> >   name_bin = c2x(substr(name, nonprint))
> >   name = substr(name, 1, nonprint - 1)' + "'name_bin'"'
> >   Say 'Name has binary characters: 'name' from 'tcbt End display =
> >X2C(token)
> >/* translate out characters between 00 and 3f */ display =
> >TRANSLATE(display,,XRANGE(,'3f'x),'.')
> >Say ' Token = 'token' ('display')'
> >base = C2D(Storage(D2X(base+64),4))
> >End
> >Say ''
> >Return
>
> --
> gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send
> email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
--
ITschak Mugzach
*|** IronSphere Platform* *|* *Information Security Continuous Monitoring
for z/OS, x/Linux & IBM I **| z/VM coming soon  *

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

-- 
This e-mail message has been scanned and cleared by Google Message Security 
and the UNICOM Global security systems. This message is for the named 
person's use only. If you receive this message in error, please delete it 
and notify the sender. 

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-21 Thread Seymour J Metz
Why? Chasing the pointers yourself will make the code more fragile.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Mike Shaw [techsupp...@quickref.com]
Sent: Tuesday, March 21, 2023 12:14 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Is z/OS Name/Token pair retrieval supported from REXX?

Listers,

The answer to my question is probably "no" since the doc on IEANTRT is
silent on this topic.

I need to be able to check for the existence of a specific name/token pair
from a REXX exec, WITHOUT using an external function. The z/OS Authorized
Assembler Services reference implies that only Assembler is supported, and
I have used that interface to create/retrieve/delete name/token pairs, but
I need to check for the existence of a specific name/token pair from a
REXX  exec.

...and I suppose it is a given that there is no (documented) anchored chain
of name/token pairs that I can run with the Rexx STORAGE function...

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

--
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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-21 Thread Seymour J Metz
How much core does your mainframe have? 


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Paul Gilmartin [042bfe9c879d-dmarc-requ...@listserv.ua.edu]
Sent: Tuesday, March 21, 2023 12:53 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Is z/OS Name/Token pair retrieval supported from REXX?

On Tue, 21 Mar 2023 16:20:22 +, W Mainframe wrote:
>
>Some time ago I created a Rexx function in BAL ...
>
"Some time ago" indeed.  I hadn't realized the use of BAL overlapped 
availability of Rexx.

--
gil

--
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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-21 Thread ITschak Mugzach
It dump the pairs, but you can always use IF and LEAVE...

בתאריך יום ג׳, 21 במרץ 2023 ב-19:24 מאת Paul Gilmartin <
042bfe9c879d-dmarc-requ...@listserv.ua.edu>:

> On Tue, 21 Mar 2023 16:51:17 +, Farley, Peter  wrote:
>
> >Great routine ITschak.  I made two small improvements to the name and
> token displays to better handle binary characters (less than '40'x) in each
> part.
> >
> Judicious use of  white space/indention helps/would help legibility.
>
> Use of PROCEDURE EXPOSE could help robustness.
>
> Does this actually "check for the existence of a specific name/token pair"
> as
> the OP requested or merely dump the entire table?  Setting a compound
> symbol
> would facilitate the former.
>
> Was I mistaken about the need to retry in case of concurrent updates?
>
>
> >Updated code for display subroutine:
> >
> >/* routine to report on name token pairs */
> >Donttp:
> >Parse Arg ptr,title
> >Say title' level NTTP at 'D2X(ptr)
> >eye = Storage(D2X(ptr),4)
> >If eye \= 'NTTH' then Do
> >Say '** Invalid eye catcher found for NTTP'
> >Return
> >End
> >base = C2D(Storage(D2X(ptr+64),4))
> >Do While base \= 0
> >tcbt = C2X(Storage(D2X(base+4),4))
> >name = Storage(D2X(base+8),16)
> >token = C2X(Storage(D2X(base+24),16))
> >nonprint = verify(name,xrange('40'x))
> >if nonprint = 0 then
> >   Say 'Name 'name' from 'tcbt
> >else do
> >   name_bin = c2x(substr(name, nonprint))
> >   name = substr(name, 1, nonprint - 1)' + "'name_bin'"'
> >   Say 'Name has binary characters: 'name' from 'tcbt
> >End
> >display = X2C(token)
> >/* translate out characters between 00 and 3f */
> >display = TRANSLATE(display,,XRANGE(,'3f'x),'.')
> >Say ' Token = 'token' ('display')'
> >base = C2D(Storage(D2X(base+64),4))
> >End
> >Say ''
> >Return
>
> --
> gil
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
-- 
ITschak Mugzach
*|** IronSphere Platform* *|* *Information Security Continuous Monitoring
for z/OS, x/Linux & IBM I **| z/VM coming soon  *

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-21 Thread Paul Gilmartin
On Tue, 21 Mar 2023 16:51:17 +, Farley, Peter  wrote:

>Great routine ITschak.  I made two small improvements to the name and token 
>displays to better handle binary characters (less than '40'x) in each part.
>
Judicious use of  white space/indention helps/would help legibility.

Use of PROCEDURE EXPOSE could help robustness.

Does this actually "check for the existence of a specific name/token pair" as
the OP requested or merely dump the entire table?  Setting a compound symbol
would facilitate the former.

Was I mistaken about the need to retry in case of concurrent updates?


>Updated code for display subroutine:
>
>/* routine to report on name token pairs */ 
>Donttp: 
>Parse Arg ptr,title 
>Say title' level NTTP at 'D2X(ptr)  
>eye = Storage(D2X(ptr),4)   
>If eye \= 'NTTH' then Do
>Say '** Invalid eye catcher found for NTTP' 
>Return  
>End 
>base = C2D(Storage(D2X(ptr+64),4))  
>Do While base \= 0  
>tcbt = C2X(Storage(D2X(base+4),4))  
>name = Storage(D2X(base+8),16)  
>token = C2X(Storage(D2X(base+24),16))   
>nonprint = verify(name,xrange('40'x))   
>if nonprint = 0 then
>   Say 'Name 'name' from 'tcbt  
>else do 
>   name_bin = c2x(substr(name, nonprint))   
>   name = substr(name, 1, nonprint - 1)' + "'name_bin'"'
>   Say 'Name has binary characters: 'name' from 'tcbt   
>End 
>display = X2C(token)
>/* translate out characters between 00 and 3f */
>display = TRANSLATE(display,,XRANGE(,'3f'x),'.')
>Say ' Token = 'token' ('display')'  
>base = C2D(Storage(D2X(base+64),4)) 
>End 
>Say ''  
>Return

-- 
gil

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-21 Thread ITschak Mugzach
Actually it is not my code. However I have been using it for a few years
now.

ITschak Mugzach
*|** IronSphere Platform* *|* *Information Security Continuous Monitoring
for z/OS, x/Linux & IBM I **| z/VM coming soon  *




On Tue, Mar 21, 2023 at 6:51 PM Farley, Peter <
031df298a9da-dmarc-requ...@listserv.ua.edu> wrote:

> Great routine ITschak.  I made two small improvements to the name and
> token displays to better handle binary characters (less than '40'x) in each
> part.
>
> HTH
>
> Peter
>
> Updated code for display subroutine:
>
> /* routine to report on name token pairs */
> Donttp:
> Parse Arg ptr,title
> Say title' level NTTP at 'D2X(ptr)
> eye = Storage(D2X(ptr),4)
> If eye \= 'NTTH' then Do
> Say '** Invalid eye catcher found for NTTP'
> Return
> End
> base = C2D(Storage(D2X(ptr+64),4))
> Do While base \= 0
> tcbt = C2X(Storage(D2X(base+4),4))
> name = Storage(D2X(base+8),16)
> token = C2X(Storage(D2X(base+24),16))
> nonprint = verify(name,xrange('40'x))
> if nonprint = 0 then
>Say 'Name 'name' from 'tcbt
> else do
>name_bin = c2x(substr(name, nonprint))
>name = substr(name, 1, nonprint - 1)' + "'name_bin'"'
>Say 'Name has binary characters: 'name' from 'tcbt
> End
> display = X2C(token)
> /* translate out characters between 00 and 3f */
> display = TRANSLATE(display,,XRANGE(,'3f'x),'.')
> Say ' Token = 'token' ('display')'
> base = C2D(Storage(D2X(base+64),4))
> End
> Say ''
> Return
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of ITschak Mugzach
> Sent: Tuesday, March 21, 2023 12:17 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Is z/OS Name/Token pair retrieval supported from REXX?
>
> It does.
>
>
> ITschak Mugzach
> *|** IronSphere Platform* *|* *Information Security Continuous Monitoring
> for z/OS, x/Linux & IBM I **| z/VM coming soon  *
>
> On Tue, Mar 21, 2023 at 6:15 PM Mike Shaw 
> wrote:
>
> > Listers,
> >
> > The answer to my question is probably "no" since the doc on IEANTRT is
> > silent on this topic.
> >
> > I need to be able to check for the existence of a specific name/token
> pair
> > from a REXX exec, WITHOUT using an external function. The z/OS Authorized
> > Assembler Services reference implies that only Assembler is supported,
> and
> > I have used that interface to create/retrieve/delete name/token pairs,
> but
> > I need to check for the existence of a specific name/token pair from a
> > REXX  exec.
> >
> > ...and I suppose it is a given that there is no (documented) anchored
> chain
> > of name/token pairs that I can run with the Rexx STORAGE function...
> >
> > Mike Shaw
> > MVS/QuickRef Support Group
> > Chicago-Soft, Ltd.
> --
>
> This message and any attachments are intended only for the use of the
> addressee and may contain information that is privileged and confidential.
> If the reader of the message is not the intended recipient or an authorized
> representative of the intended recipient, you are hereby notified that any
> dissemination of this communication is strictly prohibited. If you have
> received this communication in error, please notify us immediately by
> e-mail and delete the message and any attachments from your system.
>
>
> --
> 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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-21 Thread Paul Gilmartin
On Tue, 21 Mar 2023 16:20:22 +, W Mainframe wrote:
>
>Some time ago I created a Rexx function in BAL ...
>
"Some time ago" indeed.  I hadn't realized the use of BAL overlapped 
availability of Rexx.

-- 
gil

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-21 Thread Farley, Peter
Great routine ITschak.  I made two small improvements to the name and token 
displays to better handle binary characters (less than '40'x) in each part.

HTH

Peter

Updated code for display subroutine:

/* routine to report on name token pairs */ 
Donttp: 
Parse Arg ptr,title 
Say title' level NTTP at 'D2X(ptr)  
eye = Storage(D2X(ptr),4)   
If eye \= 'NTTH' then Do
Say '** Invalid eye catcher found for NTTP' 
Return  
End 
base = C2D(Storage(D2X(ptr+64),4))  
Do While base \= 0  
tcbt = C2X(Storage(D2X(base+4),4))  
name = Storage(D2X(base+8),16)  
token = C2X(Storage(D2X(base+24),16))   
nonprint = verify(name,xrange('40'x))   
if nonprint = 0 then
   Say 'Name 'name' from 'tcbt  
else do 
   name_bin = c2x(substr(name, nonprint))   
   name = substr(name, 1, nonprint - 1)' + "'name_bin'"'
   Say 'Name has binary characters: 'name' from 'tcbt   
End 
display = X2C(token)
/* translate out characters between 00 and 3f */
display = TRANSLATE(display,,XRANGE(,'3f'x),'.')
Say ' Token = 'token' ('display')'  
base = C2D(Storage(D2X(base+64),4)) 
End 
Say ''  
Return          

-----Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
ITschak Mugzach
Sent: Tuesday, March 21, 2023 12:17 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Is z/OS Name/Token pair retrieval supported from REXX?

It does.


ITschak Mugzach
*|** IronSphere Platform* *|* *Information Security Continuous Monitoring
for z/OS, x/Linux & IBM I **| z/VM coming soon  *

On Tue, Mar 21, 2023 at 6:15 PM Mike Shaw  wrote:

> Listers,
>
> The answer to my question is probably "no" since the doc on IEANTRT is
> silent on this topic.
>
> I need to be able to check for the existence of a specific name/token pair
> from a REXX exec, WITHOUT using an external function. The z/OS Authorized
> Assembler Services reference implies that only Assembler is supported, and
> I have used that interface to create/retrieve/delete name/token pairs, but
> I need to check for the existence of a specific name/token pair from a
> REXX  exec.
>
> ...and I suppose it is a given that there is no (documented) anchored chain
> of name/token pairs that I can run with the Rexx STORAGE function...
>
> Mike Shaw
> MVS/QuickRef Support Group
> Chicago-Soft, Ltd.
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-21 Thread Seymour J Metz
CMS also has macro-driven services, and z/OS also has callable services.


From: IBM Mainframe Discussion List  on behalf of 
Paul Gilmartin <042bfe9c879d-dmarc-requ...@listserv.ua.edu>
Sent: Tuesday, March 21, 2023 12:43 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Is z/OS Name/Token pair retrieval supported from REXX?

On Tue, 21 Mar 2023 12:14:38 -0400, Mike Shaw  wrote:
>
>The answer to my question is probably "no" since the doc on IEANTRT is
>silent on this topic.
>
Grrr!  There's a strong argument for uniformity of interfaces.  I believe CMS 
does bettrt
with "callable services library (CSL) 
<https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ibm.com%2Fdocs%2Fen%2Fzvm%2F7.2%3Ftopic%3Df-csl&data=05%7C01%7Csmetz3%40gmu.edu%7Ca13d5c7e5ff042f78e4708db2a2b657f%7C9e857255df574c47a0c00546460380cb%7C0%7C0%7C638150138095736017%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=b4vS9wucSZ7BcXjZpI5kX090Wm1QW1jdYtt8eVnvnAQ%3D&reserved=0>.
I've never used it, but it appears relatively general, however cumbersome.

ICSF is a laudable exemplar: there's a REXX example in SAMPLIB using address 
LINKMVS
with a subset of CALL macro facilities, passing no pointers to obtained storage 
-- results are
returned in the argument variables.

>...and I suppose it is a given that there is no (documented) anchored chain
>of name/token pairs that I can run with the Rexx STORAGE function...
>
That's a challenge given N-T's idiosyncratic serialization relying on testing a 
flag and
retrying if the chain was updated during a search.

--
gil

--
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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-21 Thread Paul Gilmartin
On Tue, 21 Mar 2023 12:14:38 -0400, Mike Shaw  wrote:
>
>The answer to my question is probably "no" since the doc on IEANTRT is
>silent on this topic.
> 
Grrr!  There's a strong argument for uniformity of interfaces.  I believe CMS 
does bettrt
with "callable services library (CSL) 
.
I've never used it, but it appears relatively general, however cumbersome.

ICSF is a laudable exemplar: there's a REXX example in SAMPLIB using address 
LINKMVS
with a subset of CALL macro facilities, passing no pointers to obtained storage 
-- results are
returned in the argument variables.

>...and I suppose it is a given that there is no (documented) anchored chain
>of name/token pairs that I can run with the Rexx STORAGE function...
>
That's a challenge given N-T's idiosyncratic serialization relying on testing a 
flag and
retrying if the chain was updated during a search.

-- 
gil

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-21 Thread Mike Shaw
God Bless You Itschak!

Thank you.

Mike

On Tue, Mar 21, 2023, 12:17 PM ITschak Mugzach  wrote:

> It does.
>
>
> /* REXX *** */
> /* track down various name token pair pointers */
> NUMERIC DIGITS 10
> /* TCB level */
> tcb = C2D(Storage(21C,4)) /* get current TCB */
> if tcb \= 0 then do
> stcb = C2D(Storage(D2X(tcb+312),4))
> nttp = C2D(Storage(D2X(stcb+200),4))
> If nttp \= 0 then Call donttp nttp,'Task'
> end
> /* ASCB level */
> ascb = C2D(Storage(224,4)) /* get current ascb */
> if ascb \= 0 then do
> assb = C2D(Storage(D2X(ascb+336),4))
> nttp = C2D(Storage(D2X(assb+220),4))
> If nttp \= 0 then Call donttp nttp,'Address space'
> end
>
> /* system level */
> cvt = C2d(Storage(10,4)) /* get CVT pointer */
> ecvt = C2d(Storage(D2x(cvt+140),4)) /* get CVTECVT */
> nttp = C2D(Storage(D2X(ecvt+140),4))
> Call donttp nttp,'System'
> exit 0
> /* routine to report on name token pairs */
> Donttp:
> Parse Arg ptr,title
> Say title' level NTTP at 'D2X(ptr)
> eye = Storage(D2X(ptr),4)
> If eye \= 'NTTH' then Do
> Say '** Invalid eye catcher found for NTTP'
> Return
> End
> base = C2D(Storage(D2X(ptr+64),4))
> Do While base \= 0
> tcbt = C2X(Storage(D2X(base+4),4))
> name = Storage(D2X(base+8),16)
> token = C2X(Storage(D2X(base+24),16))
> Say 'Name 'name' from 'tcbt
> display = X2C(token)
> /* translate out characters between 00 and 3f */
> display = TRANSLATE(display,,XRANGE(,'3f'x),'00'x)
> Say ' Token = 'token' ('display')'
> base = C2D(Storage(D2X(base+64),4))
> End
> Say ''
> Return
>
> ITschak Mugzach
> *|** IronSphere Platform* *|* *Information Security Continuous Monitoring
> for z/OS, x/Linux & IBM I **| z/VM coming soon  *
>
>
>
>
> On Tue, Mar 21, 2023 at 6:15 PM Mike Shaw 
> wrote:
>
> > Listers,
> >
> > The answer to my question is probably "no" since the doc on IEANTRT is
> > silent on this topic.
> >
> > I need to be able to check for the existence of a specific name/token
> pair
> > from a REXX exec, WITHOUT using an external function. The z/OS Authorized
> > Assembler Services reference implies that only Assembler is supported,
> and
> > I have used that interface to create/retrieve/delete name/token pairs,
> but
> > I need to check for the existence of a specific name/token pair from a
> > REXX  exec.
> >
> > ...and I suppose it is a given that there is no (documented) anchored
> chain
> > of name/token pairs that I can run with the Rexx STORAGE function...
> >
> > Mike Shaw
> > MVS/QuickRef Support Group
> > Chicago-Soft, Ltd.
> >
> > --
> > 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
>

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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-21 Thread Lionel B. Dyck
I couldn't find anything in the IBM Doc but I did find this in CBTTape File 794:

The RXMEM has the following features :  
  - to manage token pair service, using IEANTxx modules

This is obviously an external that you didn't want but it may be helpful.

Lionel B. Dyck <><
Website: https://www.lbdsoftware.com
Github: https://github.com/lbdyck

“Worry more about your character than your reputation. Character is what you 
are, reputation merely what others think you are.”   - - - John Wooden

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Mike Shaw
Sent: Tuesday, March 21, 2023 11:15 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Is z/OS Name/Token pair retrieval supported from REXX?

Listers,

The answer to my question is probably "no" since the doc on IEANTRT is silent 
on this topic.

I need to be able to check for the existence of a specific name/token pair from 
a REXX exec, WITHOUT using an external function. The z/OS Authorized Assembler 
Services reference implies that only Assembler is supported, and I have used 
that interface to create/retrieve/delete name/token pairs, but I need to check 
for the existence of a specific name/token pair from a REXX  exec.

...and I suppose it is a given that there is no (documented) anchored chain of 
name/token pairs that I can run with the Rexx STORAGE function...

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

--
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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-21 Thread W Mainframe
Hi,
Some time ago I created a Rexx function in BAL code to perform IEANT service, 
nut there are a plus.The CBT784 has storage/release/linkedliat/ieant services.
RegardsDan Gaeta


Sent from Yahoo Mail for iPhone


On Tuesday, March 21, 2023, 1:15 PM, Mike Shaw  wrote:

Listers,

The answer to my question is probably "no" since the doc on IEANTRT is
silent on this topic.

I need to be able to check for the existence of a specific name/token pair
from a REXX exec, WITHOUT using an external function. The z/OS Authorized
Assembler Services reference implies that only Assembler is supported, and
I have used that interface to create/retrieve/delete name/token pairs, but
I need to check for the existence of a specific name/token pair from a
REXX  exec.

...and I suppose it is a given that there is no (documented) anchored chain
of name/token pairs that I can run with the Rexx STORAGE function...

Mike Shaw
MVS/QuickRef Support Group
Chicago-Soft, Ltd.

--
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


Re: Is z/OS Name/Token pair retrieval supported from REXX?

2023-03-21 Thread ITschak Mugzach
It does.


/* REXX *** */
/* track down various name token pair pointers */
NUMERIC DIGITS 10
/* TCB level */
tcb = C2D(Storage(21C,4)) /* get current TCB */
if tcb \= 0 then do
stcb = C2D(Storage(D2X(tcb+312),4))
nttp = C2D(Storage(D2X(stcb+200),4))
If nttp \= 0 then Call donttp nttp,'Task'
end
/* ASCB level */
ascb = C2D(Storage(224,4)) /* get current ascb */
if ascb \= 0 then do
assb = C2D(Storage(D2X(ascb+336),4))
nttp = C2D(Storage(D2X(assb+220),4))
If nttp \= 0 then Call donttp nttp,'Address space'
end

/* system level */
cvt = C2d(Storage(10,4)) /* get CVT pointer */
ecvt = C2d(Storage(D2x(cvt+140),4)) /* get CVTECVT */
nttp = C2D(Storage(D2X(ecvt+140),4))
Call donttp nttp,'System'
exit 0
/* routine to report on name token pairs */
Donttp:
Parse Arg ptr,title
Say title' level NTTP at 'D2X(ptr)
eye = Storage(D2X(ptr),4)
If eye \= 'NTTH' then Do
Say '** Invalid eye catcher found for NTTP'
Return
End
base = C2D(Storage(D2X(ptr+64),4))
Do While base \= 0
tcbt = C2X(Storage(D2X(base+4),4))
name = Storage(D2X(base+8),16)
token = C2X(Storage(D2X(base+24),16))
Say 'Name 'name' from 'tcbt
display = X2C(token)
/* translate out characters between 00 and 3f */
display = TRANSLATE(display,,XRANGE(,'3f'x),'00'x)
Say ' Token = 'token' ('display')'
base = C2D(Storage(D2X(base+64),4))
End
Say ''
Return

ITschak Mugzach
*|** IronSphere Platform* *|* *Information Security Continuous Monitoring
for z/OS, x/Linux & IBM I **| z/VM coming soon  *




On Tue, Mar 21, 2023 at 6:15 PM Mike Shaw  wrote:

> Listers,
>
> The answer to my question is probably "no" since the doc on IEANTRT is
> silent on this topic.
>
> I need to be able to check for the existence of a specific name/token pair
> from a REXX exec, WITHOUT using an external function. The z/OS Authorized
> Assembler Services reference implies that only Assembler is supported, and
> I have used that interface to create/retrieve/delete name/token pairs, but
> I need to check for the existence of a specific name/token pair from a
> REXX  exec.
>
> ...and I suppose it is a given that there is no (documented) anchored chain
> of name/token pairs that I can run with the Rexx STORAGE function...
>
> Mike Shaw
> MVS/QuickRef Support Group
> Chicago-Soft, Ltd.
>
> --
> 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