executor/util/trapper/trapper.c

572 lines
9.1 KiB
C

BEGIN(PBMountVol, ParmBlkPtr)
IN(ioVRefNum);
OUT(ioResult);
OUT(ioVRefNum);
END()
BEGIN(PBGetVInfo, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioVolIndex);
OUT(ioResult);
OUT(ioNamePtr);
OUT(ioVRefNum);
OUT(ioVCrDate);
OUT(ioVLsBkUp);
OUT(ioVAtrb);
OUT(ioVNmFls);
OUT(ioVDirSt);
OUT(ioVBlLn);
OUT(ioVNmAlBlks);
OUT(ioVAlBlkSiz);
OUT(ioVClpSiz);
OUT(ioAlBlSt);
OUT(ioVNxtFNum);
OUT(ioVFRBlk);
END()
BEGIN(PBHGetVInfo, HParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioVolIndex);
OUT(ioResult);
OUT(ioNamePtr);
OUT(ioVRefNum);
OUT(ioVCrDate);
OUT(ioVLsBkUp);
OUT(ioVAtrb);
OUT(ioVNmFls);
OUT(ioVBitMap);
OUT(ioVAllocPtr);
OUT(ioVNmAlBlks);
OUT(ioVAlBlkSiz);
OUT(ioVClpSiz);
OUT(ioAlBlSt);
OUT(ioVNxtFNum);
OUT(ioVFRBlk);
OUT(ioVSigWord);
OUT(ioVDrvInfo);
OUT(ioVDRefNum);
OUT(ioVFSID);
OUT(ioVBkUp);
OUT(ioVSeqNum);
OUT(ioVWrCnt);
OUT(ioVFilCnt);
OUT(ioVDirCnt);
OUT(ioVFndrInfo);
END()
BEGIN(PBSetVInfo, HParmBlkPtr)
IN(ioCompletion);
IN(NamePtr);
IN(VRefNum);
IN(VCrDate);
IN(VLsMod);
IN(VAtrb);
IN(VClpSiz);
IN(VBkUp);
IN(VSeqNum);
IN(VFndrInfo);
OUT(ioResult);
END()
BEGIN(PBGetVol, ParmBlkPtr)
IN(ioCompletion);
OUT(ioResult);
OUT(ioNamePtr);
OUT(ioVRefNum);
END()
BEGIN(PBHGetVol, WDPBPtr)
IN(ioCompletion);
OUT(ioResult);
OUT(ioNamePtr);
OUT(ioVRefNum);
OUT(ioWDProcID);
OUT(ioWDVRefNum);
OUT(ioWDDirID);
END()
BEGIN(PBSetVol, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
OUT(ioResult);
END()
BEGIN(PBHSetVol, WDPBPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioWDDirID);
OUT(ioResult);
END()
BEGIN(PBFlushVol, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
OUT(ioResult);
END()
BEGIN(PBUnmountVol, ParmBlkPtr)
IN(ioNamePtr);
IN(ioVRefNum);
OUT(ioResult);
END()
BEGIN(PBOffLine, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
OUT(ioResult);
END()
BEGIN(PBEject, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
OUT(ioResult);
END()
BEGIN(PBOpen, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioVersNum);
IN(ioPermssn);
IN(ioMisc);
OUT(ioResult);
OUT(ioRefNum);
END()
BEGIN(PBHOpen, HParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioPermssn);
IN(ioMisc);
IN(ioDirID);
OUT(ioResult);
OUT(ioRefNum);
END()
BEGIN(PBOpenRF, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioVersNum);
IN(ioPermssn);
IN(ioMisc);
OUT(ioResult);
OUT(ioRefNum);
END()
BEGIN(PBHOpenRF, HParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioPermssn);
IN(ioMisc);
IN(ioDirID);
OUT(ioResult);
OUT(ioRefNum);
END()
BEGIN(PBLockRange, ParmBlkPtr)
IN(ioCompletion);
IN(ioRefNum);
IN(ioReqCount);
IN(ioPosMode);
IN(ioPosOffset);
OUT(ioResult);
END()
BEGIN(PBUnlockRange, ParmBlkPtr)
IN(ioCompletion);
IN(ioRefNum);
IN(ioReqCount);
IN(ioPosMode);
IN(ioPosOffset);
OUT(ioResult);
END()
BEGIN(PBRead, ParmBlkPtr)
IN(ioCompletion);
IN(ioRefNum);
IN(ioBuffer);
IN(ioReqCount);
IN(ioPosMode);
IN(ioPosOffset);
OUT(ioResult);
OUT(ioActCount);
OUT(ioPosOffset);
END()
BEGIN(PBWrite, ParmBlkPtr)
IN(ioCompletion);
IN(ioRefNum);
IN(ioBuffer);
IN(ioReqCount);
IN(ioPosMode);
IN(ioPosOffset);
OUT(ioResult);
OUT(ioActCount);
OUT(ioPosOffset);
END()
BEGIN(PBGetFPos, ParmBlkPtr)
IN(ioCompletion);
IN(ioRefNum);
OUT(ioResult);
OUT(ioReqCount);
OUT(ioActCount);
OUT(ioPosMode);
OUT(ioPosOffset);
END()
BEGIN(PBSefFPos, ParmBlkPtr)
IN(ioCompletion);
IN(ioRefNum);
IN(ioPosMode);
IN(ioPosOffset);
OUT(ioResult);
OUT(ioPosOffset);
END()
BEGIN(PBGetEOF, ParmBlkPtr)
IN(ioCompletion);
IN(ioRefNum);
OUT(ioResult);
OUT(ioMisc);
END()
BEGIN(PBSetEOF, ParmBlkPtr)
IN(ioCompletion);
IN(ioRefNum);
IN(ioMisc);
OUT(ioResult);
END()
BEGIN(PBAllocate, ParmBlkPtr)
IN(ioCompletion);
IN(ioRefNum);
IN(ioReqCount);
OUT(ioResult);
OUT(ioActCount);
END()
BEGIN(PBAllocContig, ParmBlkPtr)
IN(ioCompletion);
IN(ioRefNum);
IN(ioReqCount);
OUT(ioResult);
OUT(ioActCount);
END()
BEGIN(PBFlushFile, ParmBlkPtr)
IN(ioCompletion);
IN(ioRefNum);
OUT(ioResult);
END()
BEGIN(PBClose, ParmBlkPtr)
IN(ioCompletion);
IN(ioRefNum);
OUT(ioResult);
END()
BEGIN(PBCreate, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioFVersNum);
OUT(ioResult);
END()
BEGIN(PBHCreate, HParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioDirID);
OUT(ioResult);
END()
BEGIN(PBDirCreate, HParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioDirID);
OUT(ioResult);
OUT(ioDirID);
END()
BEGIN(PBDelete, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioFVersNum);
OUT(ioResult);
END()
BEGIN(PBHDelete, HParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioDirID);
OUT(ioResult);
END()
BEGIN(PBGetFInfo, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioFVersNum);
IN(ioFDirIndex);
OUT(ioResult);
OUT(NamePtr);
OUT(FRefNum);
OUT(FlAttrib);
OUT(FlVersNum);
OUT(FlFndrInfo);
OUT(FlNum);
OUT(FlStBlk);
OUT(FlLgLen);
OUT(FlPyLen);
OUT(FlRStBlk);
OUT(FlRLgLen);
OUT(FlRPyLen);
OUT(FlCrDat);
OUT(FlMdDat);
END()
BEGIN(PBHGetFInfo, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioFDirIndex);
IN(ioDirID);
OUT(ioResult);
OUT(NamePtr);
OUT(FRefNum);
OUT(FlAttrib);
OUT(FlFndrInfo);
OUT(ioDirID);
OUT(FlStBlk);
OUT(FlLgLen);
OUT(FlPyLen);
OUT(FlRStBlk);
OUT(FlRLgLen);
OUT(FlRPyLen);
OUT(FlCrDat);
OUT(FlMdDat);
END()
BEGIN(PBSetFInfo, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioFVersNum);
IN(ioFlFndrInfo);
IN(ioFlCrDat);
IN(ioFlMdDat);
OUT(ioResult);
END()
BEGIN(PBHSetFInfo, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioFlFndrInfo);
IN(ioDirID);
IN(ioFlCrDat);
IN(ioFlMdDat);
OUT(ioResult);
END()
BEGIN(PBSetFLock, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioFVersNum);
OUT(ioResult);
END()
BEGIN(PBHSetFLock, HParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioDirID);
OUT(ioResult);
END()
BEGIN(PBRstFLock, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioFVersNum);
OUT(ioResult);
END()
BEGIN(PBHRstFLock, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioDirID);
OUT(ioResult);
END()
BEGIN(PBSetFVers, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioVersNum);
IN(ioMisc);
OUT(ioResult);
END()
BEGIN(PBRename, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioVersNum);
IN(ioMisc);
OUT(ioResult);
END()
BEGIN(PBHRename, ParmBlkPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioMisc);
IN(ioDirID);
OUT(ioResult);
END()
BEGIN(PBGetCatInfo, CInfoPBPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioFDirIndex);
IN(ioDirID);
OUT(ioResult);
OUT(ioNamePtr);
OUT(ioFRefNum);
OUT(ioFlAttrib);
if (???->ioFlAttrib & ???)
{
OUT(ioFlFndrInfo);
OUT(ioDirID
OUT(FlStBlk);
OUT(FlLgLen);
OUT(FlPyLen);
OUT(FlRStBlk);
OUT(FlRLgLen);
OUT(FlRPyLen);
OUT(FlCrDat);
OUT(FlMdDat);
OUT(FlBkDat);
OUT(FlXFndrInfo);
OUT(FlParID);
OUT(FlClpSiz);
}
else
{
OUT(ioDrUsrWds);
OUT(ioDrDirID);
OUT(ioDrNmFls);
OUT(ioDrCrDat);
OUT(ioDrMdDat);
OUT(ioDrBkDat);
OUT(ioDrFndrInfo);
OUT(ioDrParID);
}
END()
BEGIN(PBSetCatInfo, CInfoPBPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioFlAttrib);
IN(ioFlFndrInfo);
IN(ioDirID);
IN(ioFlCrDat);
IN(ioFlMdDat);
IN(ioFlBkDat);
IN(ioFlXFndrInfo);
IN(ioFlClpSiz);
OUT(ioResult);
OUT(ioNamePtr);
END()
BEGIN(PBCatMove, CMovePBPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioNewName);
IN(ioNewDirID);
IN(ioDirID);
OUT(ioResult);
END()
BEGIN(PBOpenWD, WDPBPtr)
IN(ioCompletion);
IN(ioNamePtr);
IN(ioVRefNum);
IN(ioWDProcID);
IN(ioWDDirID);
OUT(ioResult);
OUT(ioVRefNum);
END()
BEGIN(PBCloseWD, WDPBPtr)
IN(ioCompletion);
IN(ioVRefNum);
OUT(ioResult);
END()
BEGIN(PBGetWDInfo, WDPBPtr)
IN(ioCompletion);
IN(ioVRefNum);
IN(ioWDIndex);
IN(ioWDProcID);
IN(ioWDVRefNum);
OUT(ioResult);
OUT(ioNamePtr);
OUT(ioVRefNum);
OUT(ioWDProcID);
OUT(ioWDVRefNum);
END()
BEGIN(PBGetFCBInfo, FCBPBPtr)
IN(ioCompletion);
IN(ioVRefNum);
IN(ioRefNum);
IN(ioFCBIndx);
OUT(ioResult);
OUT(ioNamePtr);
OUT(ioVRefNum);
OUT(ioRefNum);
OUT(ioFCBFlNm);
OUT(ioFCBFlags);
OUT(ioFCBStBlk);
OUT(ioFCBEOF);
OUT(ioFCBPLen);
OUT(ioFCBCrPs);
OUT(ioFCBVRefNum);
OUT(ioFCBClpSiz);
OUT(ioFCBParID);
END()
trap_handler (void)
{
/* save all registers */
/* call the appropriate input logger */
/* restore all registers */
/* do the trap */
/* save all registers */
/* call the appropriate output logger */
}