Next: Using SUs
Up: SNOlib: The Advanced User
Previous: SNOlib: The Advanced User
Contents
In the previous sections we have described ways to modify the actions of SNOMAN
by adding code to user routines. As all these are based on the SNOMAN
framework, all such modified versions are referred to collectively as:-
SNOMAN Applications
To get ultimate control you have to replace even this outer framework and
take complete control of the entire code. Such programs are described as:-
SNOlib Applications
The outer framework consists of the following routines:-
- SNOMAN. This is the main routine. It does little more than call the
main initialisation, INMAIN, the execution routines QNEXTE, and the
termination routine ZEND.
- QNEXT. This the heart of the execution phase of the program. It is
called once from SNOMAN (although the call goes indirectly via QNEXTE), and
again every time a ZTELL signal to start a new event is received.
- ZABEND. This routine is called if a fatal error is detected. It calls
ZEND.
- ZEND. This is the top level termination routine. It calls TMMAIN, the
main termination routine.
When using the link_snolib tool, SNOMAN, QNEXT and ZABEND are all explicitly
loaded from the SNOlib library, but ZEND is called directly by SNOMAN so needs
no explicit loading. To inhibit this loading a third parameter, NO_SNOMAN,
must be specified, for example:-
$SNO_TOOLS/link_snolib.scr my_main.o test.exe NO_SNOMAN
(VMS: @SNO_TOOLS:LINK_SNOLIB MY_MAIN TEST.EXE NO_SNOMAN
With these routines removed you have total power - and total
responsibility! All the management provided by SU control must be provided
by you!
Next: Using SUs
Up: SNOlib: The Advanced User
Previous: SNOlib: The Advanced User
Contents
sno Guest Acct
2009-09-09