¿ªÔÆÌåÓý

MAKEBUF, DROPBUF, SENTRIES


 

Has anyone looked at doing these for VM/370? With the newest BREXX developments, these interfaces seem necessary to me. I would love it if someone already has this working! If not,
I will proceed in making them.

Bob Bolch


 

¿ªÔÆÌåÓý

Was waiting for someone more knowledgeable to answer this, but in BREXX you can do something like this:

'coap-client -m get -u "'TF_USERNAME'" -k "'KEY'" -B "1" coaps://'TF_GATEWAYIP':5684/15001/'pilot' (STACK'
if queued() <> 1 then exit 99

¡­ which controls my IKEA home automation gateway.

That (STACK construct looks a lot like what some commands on VM do, but it seems unique to BREXX (where ANSI REXX says ¡®address with¡¯), and it is generalised to all command environment commands. The same construct works on VM/370 but I do not know whether it uses the VM program stack or not. As MAKEBUF seems to work with EXEC2 I assume it was added around the same time.?

BREXX does have a ¡®makebuf¡¯ function, as mention in Howard Fosdick¡¯s book on page 363. (??)
So I guess for MAKEBUF and friends, we would need a way to connect PARSE PULL and the program stack. SENTRIES I never even heard of, so thank you for that.

¸é±ð²Ô¨¦.

On 8 Jul 2020, at 13:23, Bob Bolch <Bob@...> wrote:

Has anyone looked at doing these for VM/370? With the newest BREXX developments, these interfaces seem necessary to me. I would love it if someone already has this working! If not,
I will proceed in making them.

Bob Bolch


 

I looked up how those commands handled the CMS control blocks,
and writing the support turned out to be trivial. I'll post it after
more testing.

Anyone porting in old REXX tools from later CMS systems will need these.

Bob

On Thu, Jul 9, 2020 at 7:42 AM rvjansen@... <rvjansen@...> wrote:
Was waiting for someone more knowledgeable to answer this, but in BREXX you can do something like this:

'coap-client -m get -u "'TF_USERNAME'" -k "'KEY'" -B "1" coaps://'TF_GATEWAYIP':5684/15001/'pilot' (STACK'
if queued() <> 1 then exit 99

¡­ which controls my IKEA home automation gateway.

That (STACK construct looks a lot like what some commands on VM do, but it seems unique to BREXX (where ANSI REXX says ¡®address with¡¯), and it is generalised to all command environment commands. The same construct works on VM/370 but I do not know whether it uses the VM program stack or not. As MAKEBUF seems to work with EXEC2 I assume it was added around the same time.?

BREXX does have a ¡®makebuf¡¯ function, as mention in Howard Fosdick¡¯s book on page 363. (??)
So I guess for MAKEBUF and friends, we would need a way to connect PARSE PULL and the program stack. SENTRIES I never even heard of, so thank you for that.

¸é±ð²Ô¨¦.

On 8 Jul 2020, at 13:23, Bob Bolch <Bob@...> wrote:

Has anyone looked at doing these for VM/370? With the newest BREXX developments, these interfaces seem necessary to me. I would love it if someone already has this working! If not,
I will proceed in making them.

Bob Bolch


 

I am not quite sure what the question is here but SENTRIES is a command that gives the same information as queued() in your example.

You are correct that adding "(STACK" is the VM way of putting the output of the command/module onto the latest program input stack. It provided a easy work around to ensure that EXEC processors and Rexx could access the information. It was never elegant as is demonstrate if your program exits unexpectedly, at which point CMS will take the program stack as input. If the stack contains a list of files, then multiple other programs got fired up. All very quirky.

Ant