Hi Adrian,
Anyway ... has anyone got some assembly examples that I could use to hack
something that I could call from C?
Sorry, I can't seem to find any. The closest I came was some code that
uses VMCF to receive SMSGs:
Also ... and I appreciate I need to read more ... for the sink machine what
do I actually have to do to allow a module to be waiting on a
interrupt/message?
You have to issue a DIAG 68 with the VMCPAUTH function code and the address
and length of a buffer to receive messages into. Actually, this is the
side that is implemented in the link I quoted above. There isn't any
code provided to send VMCF messages unfortunately, however, it may give
some ideas on how to set up a VMCF control block and call DIAG 68 and how
to deal with the resulting external interrupts when VMCF messages arrive.
Maybe someone else can find a better example?
One thing to note is that your module should not exit back to CMS until
you have turned off ("unauthorised") VMCF. In later versions of VM/CMS,
it is possible to use NUCXLOAD to get around this issue by permanently
loading code and buffers to handle VMCF external interrupts, however,
NUCXLOAD is not available in VM/370. It might be possible to use RESLIB
instead though.
Regards,
Peter Coghlan.