mirror of
https://github.com/ctm/executor.git
synced 2024-11-04 16:07:03 +00:00
572 lines
9.1 KiB
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 */
|
|
}
|