[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 14:19:13 EDT 2023


On 9/30/2023 1:34 PM, Chris Townley wrote:
> 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
>>
>> :-)
> 
> You could presumably set the logical with LIB$SET_LOGICAL

That is not the problem.

The problem is to get a valid value to set.

Arne





More information about the Info-vax mailing list