[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