cdc:nos2.source:nam5871:hpfl
Table of Contents
HPFL
Table Of Contents
- [00009] PRGM HPFL
- [00064] PROC HWLP
- [00065] PROC MRELS
- [00066] PROC OSCCALL
- [00067] PROC OSCHAPP
- [00068] PROC XTRACE
Source Code
- HPFL.txt
- *DECK HPFL
- USETEXT NIPDEF
- USETEXT ACB
- USETEXT APPSTAT
- USETEXT AT
- USETEXT DRHDR
- USETEXT FLIST
- USETEXT PT
- PRGM HPFL;
- STARTIMS;
- STOPIMS;
- #
- *1DC HPFL
- *
- * 1. PROC NAME AUTHOR DATE
- * HPFL E. GEE 78/01/25
- *
- * 2. FUNCTIONAL DESCRIPTION.
- * REISSUE ACB SCP FUNCTION LIST
- *
- * 3. METHOD USED.
- * CLEAR COMPLETION BITS AND RETURN CODES FROM SCP FUNCTION.
- * LIST
- * REISSUE SCP FUNCTION
- * PROCESS SCP FUNCTION RETURN CODE
- *
- * 4. ENTRY PARAMETERS.
- * ACBADDR ACB ADDRESS
- *
- * 5. EXIT PARAMETERS.
- * ABTADDR BUF ADR FOR XABTAPP TO USE IF ABORTING APP
- * ABTAPPF ABORT FLG SET IF NIP GOT SCP RC = RCUCPAOOR
- * FAILADR FAIL FLG SET IF NIP GET SCP RC = RCUCPGONE
- *
- * 6. COMDECKS CALLED AND SYMPL TEXTS USED.
- * ACB APPSTAT AT FLIST
- * NIPDEF OPSIZE PT
- *
- * 7. ROUTINES AND OVERLAYS CALLED.
- * HWLP PROCESS WORKLIST
- * MRELS RELEASE BUFFER SPACE
- * OSCCALL ISSUE SCP FUNCTION
- * OSCHAPP SCHEDULE APPLICATION
- * XTRACE RECORD PROCEDURE CALLS
- *
- * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION.
- *
- * THIS PROGRAM IS A PRIMARY OVERLAY LOADED BY SUBOURTINE OVLCALL.
- * WHEN EXECUTION HAS COMPLETED, A JUMP IS MADE TO LOCATION RJMAIN
- * TO RETURN TO THE CALLING PROGRAM.
- *
- * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE PRIMARY
- *CALL OPSIZE
- *
- * THIS OVERLAY IS CALLED BY XSACB.
- *
- #
- #
- EXTERNAL VARIABLES
- #
- XREF
- BEGIN
- PROC HWLP; # PROCESS NWL WORKLIST ENTRIES #
- PROC MRELS; # RELEASE BUFFER SPACE #
- PROC OSCCALL; # ISSUE SCP CALLS #
- PROC OSCHAPP; # SCHEDULE APPLICATION #
- PROC XTRACE; # RECORD PROCEDURE CALLS #
- LABEL RJMAIN; # RETURN ADDRESS IN OVCALL #
- END
- #
- INTERNAL VARIABLES
- #
- ITEM EXTRAWORD; # EXTRA ONE WORD FOR SFXLST FUNCTION LIST #
- ITEM FLW; # INDEX FOR ZEROING RC AND CB IN FUNC LIST#
- ITEM RELADDR; # ADDR OF BUFFER TO RELEASE #
- #**********************************************************************#
- BEGIN
- CONTROL IFEQ DEBUG,1;
- XTRACE("HPFL ") ;
- CONTROL FI;
- P<ACB> = ACBADDR; # ACB ADDRESS #
- P<FLHEAD> = ACBFLIST[0]; # FUNCTION LIST ADDRESS #
- FLCB[0] = 0;
- FLRC[0] = 0;
- IF FLFC[0] EQ SFLIST
- OR FLFC[0] EQ SFXLST
- THEN # SF.LIST SCP REQUEST #
- BEGIN # CLEAR ALL COMPLETE BITS/RC ON LIST ENTRIES #
- IF FLFC[0] EQ SFXLST
- THEN # EXTENDED READ/WRITE LIST REQUEST #
- EXTRAWORD = 1; # A 4-WORD FLHEAD/2 WORD ENTRY #
- ELSE # NORMAL READ/WRITE LIST REQUEST #
- EXTRAWORD = 0; # A 3-WORD FLHEAD/1-WORD ENTRY #
- FOR FLW=FLSIZE + EXTRAWORD STEP (FLESIZE + EXTRAWORD)
- UNTIL (FLBS[0] - BLKHSIZE)
- DO # LOOP THROUGH ALL LIST ENTRIES #
- BEGIN
- P<FLE> = ACBFLIST[0] + FLW;
- FLERC[0] = 0;
- FLECB[0] = 0;
- END
- END
- #
- REISSUE SCP FUNCTION
- #
- P<FLE> = ACBFLIST[0] + FLHSIZE; # SCP CALL WORD #
- OSCCALL(FLE); #ISSUE SCP CALL #
- #
- PROCESS SCP FUNCTION RETURN CODE
- #
- IF FLRC[0] EQ 0
- THEN # SCP FUNCTION COMPLETED OK #
- BEGIN
- IF ACBWRADDR[0] NQ 0
- THEN # WRITE BUF IN NIP TO RELEASE #
- BEGIN
- IF ACBWRADDR[0] LS ACBADDR # CHECK IF WRADDR OUT OF ACB AREA #
- OR ACBWRADDR[0] GQ ACBADDR + ACBSIZE
- THEN
- BEGIN
- MRELS(ACBWRADDR[0]); # WRITE BUF IN NIP TO RELEASE #
- END
- ACBWRADDR[0] = 0; # CLEAR ACBWRADDR POINTER ADDRESS #
- END
- MRELS(ACBFLIST[0]); # RELEASE FUNCTION LIST BUFFER #
- ACBFLIST[0] = 0;
- HWLP; # PROCESS REST OF NWL #
- END
- ELSE
- BEGIN
- IF FLRC[0] EQ RCSWAPPEDOUT
- THEN # APP IS SWAPPED OUT AGAIN #
- BEGIN
- ATASBS[ACBAN[0]] = TRUE; # APP-AWAPPED-OUT FLAG IN ACB #
- OSCHAPP(ACBADDR); # SCHEDULE APPLICATION #
- END
- ELSE
- BEGIN
- IF FLRC[0] EQ RCUCPAOOR
- THEN # APP GAVE BAD AWL ADDR SO ABORT IT #
- BEGIN
- ABTAPPF = XFLERR; # SET ABORT-APPLICATION FLAG #
- ABTADDR = ACBADDR; # ACB ADDRESS #
- END
- ELSE # APP IS NO LONGER IN SYSTEM #
- FAILADR = ACBADDR; # SET APPLICATION-FAILED FLAG #
- END
- END
- GOTO RJMAIN; # RETURN TO CALLING PROGRAM #
- END
- TERM
cdc/nos2.source/nam5871/hpfl.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator