*DECK HCACRQA USETEXT NIPDEF USETEXT ACB USETEXT ACNB USETEXT AHEADER USETEXT AT USETEXT PT USETEXT PARAMS USETEXT SUPMSG PRGM HCACRQA ; # SEND CON/ACRQ/A TO APPLICATION # STARTIMS; # *1DC HCACRQA * * 1. PROC NAME AUTHOR DATE * HCACRQA A. BEN-ARTZI 82/05/06 * * 2. FUNCTIONAL DESCRIPTION * SEND CON/ACRQ/A TO APPLICATION * * 3. METHOD USED * ALLOCATE A BUFFER FOR MESSAGE * FORMAT APPLICATION BLOCK HEADER * FORMAT THE MESSAGE USING VALUES STORED IN THE ACNB * QUEUE MESSAGE TO APPLICATION-S ACB * * 4. ENTRY PARAMETERS * PARAMS1 - REASON CODE FOR CON/ACRQ/A * PARAMS2 - ADDRESS OF ACNB * * 5. EXIT PARAMETERS * NONE * * 6. COMDECKS CALLED AND SYMPL TEXTS USED * NIPDEF ACNB AHEADER AT PT * PARAMS SUPMSG OSSIZE * ACB * * 7. ROUTINES AND OVERLAYS CALLED * MGETS - ALLOCATE A BUFFER * BLINK - QUEUE MESSAGE ON APPLICATION-S ACB * OSCHAPP - SCHEDULE APPLICATION * XTRACE - TRACE PROCEDURE CALL * * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION * THIS IS A SECONDARY OVERLAY CALLED BY HCSTTP. * * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE SECONDARY *CALL OSSIZE * # STOPIMS; # EXTERNAL VARIABLES # XREF BEGIN PROC BLINK ; # LINK MESSAGE ON APPLICATION"S ACB # PROC MGETS ; # ALLOCATE A BUFFER # PROC OSCHAPP; # SCHEDULE APPLICATION # PROC XTRACE; # DEBUG TRACE CALL # LABEL RJMAIN; END # INTERNAL VARIABLES # DEF X25RC # 214 #; # REASON CODE X"D6" FOR X25 TROUBLE # ITEM BUFADDR ; # HOLD SM BUFFER ADDRESS # #**********************************************************************# BEGIN CONTROL IFEQ DEBUG,1 ; XTRACE("ACRQA") ; CONTROL FI ; # ALLOCATE BUFFER # MGETS( LCONACA + BLKHSIZE + ABHSIZE,BUFADDR,TRUE) ; # SET APPLICATION BLOCK HEADER # P = BUFADDR + BLKHSIZE ; ABHABT[0] = APPCMD ; ABHACT[0] = CT60TRANS; ABHTLC[0] = LCONACA ; # SET THE MESSAGE # P = BUFADDR + BLKHSIZE + ABHSIZE ; PFCSFC[0] = CONACRA ; IF PARAMS1 EQ RCCB"LLF" # IF REASON CODE OBTAINED FROM CRCB # THEN BEGIN CONRAC[0] = RCIA"NLL"; # MAP TO REASON CODE H"23" # END ELSE BEGIN IF PARAMS1 EQ RCCB"I" # IF REASON CODE IS 9 FROM TCNTA # THEN # WHICH IS THEN COPYIED TO CRCB # BEGIN CONRAC[0] = X25RC; # MAP TO 214 AS X.25 PROBLEM # END ELSE BEGIN CONRAC[0] = PARAMS1 ; # REASON CODE FOR ABNORMAL # END END P = PARAMS2 ; # BASE ACNB # CONANM[0] = ACNBANM[0] ; # NAME OF APPLICATION FROM CON/ACRQ/R # CONHID[0] = ACNBHID[0] ; # HOST DESTINATION # CONAABN[0] = ACNBABN[0]; # APPLICATION BLOCK NUMBER # # AND QUEUE IT TO THE APPLICATION"S ACB # P = ATACBA[ACNBIAN]; # ADDRESS OF ACB # BLINK(BUFADDR,P); # QUEUE SUP MSG TO ACB # OSCHAPP(P); # SWAPIN APPLICATION # ACBERCNT[0] = ACBERCNT[0] + 1; # INCRE CNT OF CON/ACRQ/A QUEUED# GOTO RJMAIN ; END TERM