[Info-vax] Howto can I call the undocumented "set watch/class=dir" in an own program and fetch the output in my program?

Arne Vajhøj arne at vajhoej.dk
Sat Sep 30 10:03:06 EDT 2023


On 9/27/2023 6:45 AM, Ian Miller wrote:
> On Tuesday, September 26, 2023 at 6:30:06 PM UTC+1,
> vax... at googlemail.com wrote:
>> Am 26.09.2023 um 17:53 schrieb Volker Halle via Info-vax:
>>> Eberhard Heuser schrieb am Dienstag, 26. September 2023 um
>>> 16:01:15 UTC+2:
>>>> So the question is what output channel is been used by QXP?
>>> 
>>> the XQP (in module [F11X]DISPAT) in routine NOTIFY_AST (run as a
>>> supervisor mode AST) writes the output to SYS$OUTPUT using a RMS
>>> $PUT call.
>>> 
>>> By default SYS$OUTPUT is a supervisor mode confined logical name,
>>> which points to the 'terminal device'.
>>> 
>>> Question: can this be re-directed ?
 >>
 >> Yes, "define/super" redirects the output to a file.
> 
> You can create a mailbox, define SYS$OUTPUT to that mailbox then read
> the mailbox to see the file watch messages from the XQP.  Of course
> you see everything that is sent to SYS$OUTPUT but the XQP File Watch
> messages all start with %XQP so can be detected.

Yes. But it looks like the define need to be done by DCL.

I did a little test trying to create the mailbox and defining
the logical from code and I don't think XQP does a SYS$OPEN
on whatever SYS$OUTPUT points to - I think it uses the
the first 4 bytes of the SYS$OUTPUT logical value to find a
reference to the file DCL already opened and just
SYS$PUT to that.

And I don't know how to stuff a reference to a newly
created mailbox in there programmatically.

Arne




More information about the Info-vax mailing list