*DECK HCSUPCB
USETEXT NIPDEF
USETEXT PARAMS
USETEXT AHEADER
USETEXT AT
USETEXT PT
USETEXT ACB
USETEXT SUPMSG
PRGM HCSUPCB;
STARTIMS ;
#
*1DC HCSUPCB
*
* 1. PROC NAME AUTHOR DATE
* HCSUPCB L.T. NGUYEN 81-08-05
*
* 2. FUNCTIONAL DESCRIPTION
* FORM AND SEND SUP-CB MSG TO PROPER CS.
*
* 3. METHOD
* SET APPICATION BLOCK HEADER AND SUPERVISOR MESSAGE, THEN
* USE BLINK TO LINK IT INTO THAT CS'ACB
*
* 4. ENTRY PARAMETERS
* - PARAMS1 DESTINATION NODE
* - PARAMS2 SOURCE NODE
*
* 5. EXIT PARAMETERS
* NONE
*
* 6. SYMPL TEXTS USED
* NIPDEF
* SUPMSG
* AT
* AHEADER
* ACB
* PARAMS
*
* 7. ROUTINES CALLED
* BLINK - LINK MESSAGE ON DATA RING
* MGETS - ALLOCATE BUFFER
* OSCHAPP - SCHEDULE APPLICATION
* XTRACE - TRACE PROCEDURE CALL
*
* 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
* THIS PROCEDURE IS CALLED BY NPREGLL
* W A R N I N G -THIS PROGRAM CANNOT EXCEED THE SECONDARY
*CALL OSSIZE
*
*
#
STOPIMS ;
#
EXTERNAL REF
#
XREF PROC MGETS ; # GET BUFFER #
XREF PROC BLINK ; # LINK MSG INTO ITS ACB #
XREF PROC OSCHAPP ; # SCHEDULER #
XREF PROC XTRACE ; # DEBUG PROC #
XREF LABEL RJMAIN ;
#
#
ITEM BUFWA ; # BUFFER ADDRESS #
BEGIN # HCSUPCB #
CONTROL IFEQ DEBUG,1;
XTRACE("HCSUP") ;
CONTROL FI ;
MGETS(DBHSIZE+ABHSIZE+LSUPCB,BUFWA,TRUE); # GET BUFFER #
P<AHEADER> = BUFWA + BLKHSIZE ; # APPLICATION BLOCK #
P<SUPMSG> = BUFWA + BLKHSIZE + ABHSIZE ; # MSG ADDRESS #
ABHABT[0] = APPPN ; # BLOCK TYPE = 4 #
ABHACT[0] = CT8ASCII ; # CHAR TYPE IS 2 #
ABHTLC[0] = 2 ;
ABHCN[0] = 0 ; # SUPERVISORY MESSAGE #
ABHDN[0] = PARAMS1 ; # DESTINATION = HOST NODE #
ABHSN[0] = PARAMS2; # SOURCE = TERMINAL NODE #
PFCSFC[0] = SUPCB ; # SUP-CB #
P<ACB> = ATACBA[PROCAN[CSORD]]; # ACB OF CS #
BLINK(BUFWA,P<ACB>); # LINK IT INTO BLOCK #
OSCHAPP(P<ACB>) ; # CALL SCHEDULER #
GOTO RJMAIN ;
END # HCSUPCB #
TERM