<> <> <> <<>> <> <<>> <<>> DIRECTORY Camelot, Mach, YggdrasilInit; <<>> YggMIGServerProcsImpl: CEDAR PROGRAM EXPORTS YggdrasilInit ~ BEGIN <> <<>> STServer: PUBLIC PROC [inMsg: REF Camelot.camlibSysReqMsgT, outMsg: REF Camelot.camlibSysRepMsgT] RETURNS [messageUnderstood: BOOL _ FALSE] ~ { <> innerSTServert: PROC [InHeadP: POINTER TO Camelot.camlibSysReqMsgT, OutHeadP: POINTER TO Camelot.camlibSysReqMsgT] RETURNS [ok: BOOL] ~ TRUSTED MACHINE CODE { ".st_server" }; messageUnderstood _ innerSTServert[LOOPHOLE[inMsg], LOOPHOLE[outMsg]]; }; SRServer: PUBLIC PROC [inMsg: REF Camelot.camlibSysReqMsgT, outMsg: REF Camelot.camlibSysRepMsgT] RETURNS [messageUnderstood: BOOL _ FALSE]~ { <> innerSRServert: PROC [InHeadP: POINTER TO Camelot.camlibSysReqMsgT, OutHeadP: POINTER TO Camelot.camlibSysReqMsgT] RETURNS [ok: BOOL]~ TRUSTED MACHINE CODE { ".sr_server" }; messageUnderstood _ innerSRServert[LOOPHOLE[inMsg], LOOPHOLE[outMsg]]; }; ATServer: PUBLIC PROC [inMsg: REF Camelot.camlibSysReqMsgT, outMsg: REF Camelot.camlibSysRepMsgT] RETURNS [messageUnderstood: BOOL _ FALSE] ~ { <> innerSTServert: PROC [InHeadP: POINTER TO Camelot.camlibSysReqMsgT, OutHeadP: POINTER TO Camelot.camlibSysReqMsgT] RETURNS [ok: BOOL] ~ TRUSTED MACHINE CODE { ".at_server" }; messageUnderstood _ innerSTServert[LOOPHOLE[inMsg], LOOPHOLE[outMsg]]; }; <<>> <<>> <> END.