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

eh e.heuser at dvdwrite.de
Tue Sep 26 08:44:39 EDT 2023


Many thanks. That's what I need to go on!

Am 26.09.2023 um 03:02 schrieb John Reagan via Info-vax:
> On Monday, September 25, 2023 at 9:26:39 AM UTC-4, Eberhard Heuser wrote:
>> Brian Schenkenberger schrieb am Sonntag, 24. September 2023 um 22:36:09 UTC+2:
>>>> Sounds like something interesting I need to hack!
>> If you're willing to produce some code, that will be great!
>>
>> My problem is that I cannot find an hook, that helps me to get the information, which
>> file operation (i.e. create/remove file / create/remove directory / copy file)
>> been isssued via a DCL-command. The drivers only care about I/O of records so
>> my hook must lay between the command layer and the driver I/O. I assume that F11ACP
>> is the part that might give this info back.
>>
>> Eberhard
> Here's the code to turn on the bits.  The code in the XQP writes to SYS$OUTPUT so you should be able to
> easily redirect it to a file, etc.
>
> /*
> $ search XGI5_RESD$:[F11X.SRC]FCPDEF.REQ xqp$_
>
>          XQP$_MAJOR_FUNC = 0,                    ! Notify about major events
>          XQP$_CNTRL_FUNC = 1,                    ! Notify about control functions
>          XQP$_ATTRIBUTE  = 2,                    ! Notify about attribute modifications
>          XQP$_DIR_OPS    = 3,                    ! Notify about directory operations
>          XQP$_DUMP       = 4,                    ! Notify about misc things
>          XQP$_QUOTA      = 5,                    ! Notify about quota functions
>          XQP$_PROTECTION = 6;                    ! Notify about protection checks
> */
>
> extern short PIO$GW_DFPROT;
> #include <stdio.h>
> #include <starlet.h>
>
> int flip() {
>   PIO$GW_DFPROT = PIO$GW_DFPROT | 1;   // turn on XQP$_MAJOR_FUNC
>   return 1;
> }
>
> int main() {
>   int s;
>   printf("DFPROT = %hx\n",PIO$GW_DFPROT);
>   s = SYS$CMKRNL(&flip,0);
>   printf("CMKRNL returned %08x\n",s);
>   printf("DFPROT = %hx\n",PIO$GW_DFPROT);
> }
> _______________________________________________
> Info-vax mailing list
> Info-vax at rbnsn.com
> http://rbnsn.com/mailman/listinfo/info-vax_rbnsn.com
>


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.





More information about the Info-vax mailing list