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

Chris Townley news at cct-net.co.uk
Sat Sep 30 13:34:19 EDT 2023


On 30/09/2023 16:32, Arne Vajhøj wrote:
> On 9/30/2023 10:03 AM, Arne Vajhøj wrote:
>> 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.
> 
> Or to rephrase - I can not find:
>     LIB$OPEN_PROCESS_PERMANENT_FILE
> 
> :-)
> 
> Arne
> 

You could presumably set the logical with LIB$SET_LOGICAL

-- 
Chris




More information about the Info-vax mailing list