*DECK HPNPDRL
USETEXT NIPDEF
USETEXT AHEADER
USETEXT AT
USETEXT DRHDR
USETEXT ACB
USETEXT PT
USETEXT SUPMSG
PRGM HPNPDRL ;
STARTIMS;
#
*1DC HPNPDRL
*
* 1. PROC NAME AUTHOR DATE
* HPNPDRL L. T. NGUYEN 82/08/09
*
* 2. FUNCTIONAL DESCRIPTION
* FORM HOP/REL AND SEND IT TO EACH EXISTING APPLICATION.
*
* 3. METHOD USED
* LOOP THROUGH THE AT TO FIND NON-ZERO ACB POINTER AND
* THEN FORM HOP/REL.
*
* 4. ENTRY PARAMETERS
* NONE
*
* 5. EXIT PARAMETERS
* NONE
*
* 6. COMDECKS CALLED AND SYMPL TEXTS USED
* NIPDEF AHEADER AT
* ACB PT SUPMSG
*
* 7. ROUTINES AND OVERLAYS CALLED
* BLINK - LINK MESSAGE TO DATA RING
* MGETS - GET BUFFER
* OSCHAPP - SCHEDULE APPLICATION
*
* 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
* THIS IS A PRIMARY OVERLAY CALLED BY HPPUT.
*
* W A R N I N G - THIS PROGRAM CANNOT EXCEED THE PRIMARY
*CALL OPSIZE
*
*
#
STOPIMS;
ITEM BUFADDR ; # BUFFER ADDRESS OF SM #
ITEM I ;
XREF PROC BLINK ; # LINKING SM TO APPL. #
XREF PROC MGETS ; # GET BUFFER FOR SM #
XREF PROC OSCHAPP ; # SCHEDULE APPLICATION #
XREF LABEL RJMAIN ; # RETURN ENTRY #
BEGIN # HPNPDRL #
#
LOOP THROUGH THE AT TO FIND NON-ZERO ACB AND SEND TO IT
#
FOR I = NVFAN STEP 1 WHILE I LQ ATHAN[0]
DO
BEGIN
P<ACB> = ATACBA[I] ; # ACB POINTER #
IF P<ACB> NQ 0
AND ( ACBANAME[0] EQ "NVF"
OR ACBANAME[0] EQ "CS" )
THEN
BEGIN # NON-ZERO ACB #
MGETS(LHOPREL + BLKHSIZE + ABHSIZE,BUFADDR,TRUE) ;
P<AHEADER> = BUFADDR + BLKHSIZE ;
ABHABT[0] = APPCMD ;
ABHACT[0] = CT60TRANS ;
ABHTLC[0] = LHOPREL ;
P<SUPMSG> = BUFADDR + BLKHSIZE + ABHSIZE ;
PFCSFC[0] = HOPREL ;
BLINK(BUFADDR,P<ACB>) ;
OSCHAPP(P<ACB>) ;
END # NON-ZERO ACB #
END
GOTO RJMAIN ;
END # HPNPDRL #
TERM.