*DECK HPRUONX USETEXT ACB USETEXT NIPDEF USETEXT PARAMS USETEXT AHEADER USETEXT APPSTAT USETEXT SUPMSG PRGM HPRUONX; STARTIMS; # *1DC HPRUONX * * 1. PROC NAME AUTHOR DATE * HPRUONX A.BEN-ARTZI 82/03/01 * * 2. FUNCTIONAL DESCRIPTION. * THIS ROUTINE IS RESPONSIBLE FOR FORMATTING A PRU/ON/N OR * PRU/ON/A * MESSAGE AND SENDING IT TO THE APPROPRIATE APPLICATION. * * 3. METHOD USED. * FORM THE APPROPRIATE MESSAGE WITH ERROR CODE TO THE * APPLICATION BY LINKING TO THE PROPER ACB.(ZERO RC FOR N) * * 4. ENTRY PARAMETERS. * PARAMS1 REASON CODE FOR THE ERROR(OR 0 ) * PARAMS2 PRU CONNECTION NUMBER * * 5. EXIT PARAMETERS. * BUFADDR LOCATION OF PRU/ON/N(OR A) MESSAGE * * 6. COMDECKS CALLED AND SYMPL TEXTS USED. * AHEADER APPSTAT * NIPDEF OSSIZE * ACB APPLICATION CONTROL BLOCK TEMPLATE * PARAMS PARAMETERS FOR PASSING TO/FROM SEC OVERLAYS * SUPMSG SUPERVISORY MESSAGE TEMPLATE * * 7. ROUTINES CALLED. * BLINK LINK DATA BLOCK INTO DATA RING * MGETS ALLOCATE EMPTY BUFFER * OSCHAPP SCHEDULE APPLICATION * XTRACE RECORD CALL * * 8. DAYFILE MESSAGES. * NONE * * THIS PROGRAM IS A SECONDARY OVERLAY LOADED BY OVLCALL. * WHEN EXECUTION HAS COMPLETED, A JUMP IS MADE TO LOCATION * RJMAIN TO RETURN TO THE CALLING PROGRAM. * * * THIS OVERLAY IS CALLED BY HPRUON AND HBSTTP * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE SECONDARY *CALL OSSIZE * # STOPIMS; XREF BEGIN PROC MGETS; # GET A FREE BUFFER # PROC BLINK; # SEND THE BUFFER TO THE APPLICATION # PROC OSCHAPP; # # PROC XTRACE; # TRACE CALLS # LABEL RJMAIN; # TO EXIT TO CALLING PROGRAM # END # INTERNAL VARIABLES # ITEM BUFADDR; # STORE NEW BUFFER ADDRESS # # # BEGIN CONTROL IFEQ DEBUG,1; XTRACE("HPRUX") ; CONTROL FI; # GET A BUFFER TO FORMAT MESSAGE # MGETS(LPRUA+BLKHSIZE+ABHSIZE,BUFADDR,TRUE) ; P = BUFADDR+BLKHSIZE+ABHSIZE ; P= BUFADDR+BLKHSIZE ; # FORMAT APPLICATIN HEADER FIELDS # ABHTLC[0] = LPRUA ; ABHABT[0] = APPCMD ; ABHACT[0] = CT60TRANS ; ABHABN[0] = 0 ; ABHADR[0] = 0 ; # FORMAT THE MESSAGE # PRUACN[0] = PARAMS2 ; PRURC[0] = PARAMS1 ; IF PARAMS1 EQ 0 THEN PFCSFC[0] = PRUONN ; ELSE BEGIN P = ACBADDR; # ADRESS OF ACB # ACBERCNT[0] = ACBERCNT[0] + 1; # INCRE CNT OF QUEUED PRU/ON/A # PFCSFC[0] = PRUONA ; END # AND SEND IT TO APPLICATION # BLINK(BUFADDR,ACBADDR) ; OSCHAPP(ACBADDR) ; GOTO RJMAIN ; # RETURN TO CALLING PROGRAM # END TERM