MX_FILEHOOK Support for ISAM-A

The following table summarizes the event flags to use for hooking the various ISAM-A operations.

Symbol

ISAM-A File Operation

HFE_xxx_WRITE

UPDATE'RECORD

HFE_xxx_WRITE

UPDATE'RECORD

HFE_xxx_WRITEL

CREATE'RECORD

HFE_xxx_ISAMA_DEL

DELETE'RECORD

HFE_xxx_READ

GET, GET'NEXT, GET'PREV (optional 'READ'ONLY)

HFE_xxx_READL

GET'LOCKED, GET'NEXT'LOCKED, GET'PREV'LOCKED

HFE_xxx_ALLOC

ALLOCATE'INDEXED

 

The DELETE'RECORD hook is enabled by one of the two event flags in HOOK.DEF in ASHINC:

define HFE_PRE_ISAMA_DEL=  &h00200000  ! ISAM-A pre delete'record

define HFE_POST_ISAMA_DEL= &h00400000  ! ISAM-A post delete'record

 

GET'LOCKED and GET'NEXT'LOCKED are hooked like READL, while GET and GET'NEXT (without locking) are hooked like READ. Use the HFE_xxx_READL and/or HFE_xxx_READ flags to enable.

ALLOCATE'INDEXED is hooked like ALLOCATE (HFE_xxx_ALLOCATE flags).

A sample program, ISPTSTH.BP in EXLIB:[908,50] is available to demonstrate and test the ISAM-A hooks. Also see fnhooklog.bsi in SOSLIB[907,10] for the applicable hook event flags.

History

2019 March, A-Shell 6.5.1658:  Function added to A-Shell