cdc:nos2.source:nam5871:npicmd
Table of Contents
NPICMD
Table Of Contents
- [00011] PRGM NPICMD
- [00074] PROC BLINK
- [00075] PROC MGETS
- [00076] PROC MRELS
- [00077] PROC OSCHAPP
- [00078] PROC XTRACE
Source Code
- NPICMD.txt
- *DECK NPICMD
- USETEXT NIPDEF
- USETEXT AHEADER
- USETEXT PT
- USETEXT AT
- USETEXT ACB
- USETEXT ACNB
- USETEXT NCNB
- USETEXT PARAMP
- USETEXT SUPMSG
- PRGM NPICMD;
- CONTROL NOLIST;
- CONTROL LIST;
- STARTIMS;
- #
- *1DC NPICMD
- *
- * 1. PROC NAME AUTHOR DATE
- * NPICMD N. NICHOLAS 79/09/12
- *
- * 2. FUNCTIONAL DESCRIPTION.
- * PROCESS ICMDR NETWORK BLOCK FROM N P U
- *
- * 3. METHOD USED.
- * GET BUFFER FOR INTR/USR/BLOCK
- * CREATE INTR/USR SUPERVISOR MESSAGE
- * LINK SUPERVISOR MESSAGE TO APP DATA RING
- * SCHEDULE APPLICATION
- *
- * 4. ENTRY PARAMETERS.
- * PARAMP1 BLOCK ADDRESS
- * PARAMP2 FWA OF NCNB
- *
- * 5. EXIT PARMETERS.
- * PARAMP2 ZERO IF USR/MSG NOT PROCESSED
- *
- * QHICMD TRUE = ICMD BLOCK PROCESSED
- * 6. COMDECKS CALLED.
- * CYBERDEFS INTR INTRDEF AT
- * HEADER INPAR INPARU AT ACB ACNB NCNB
- * MISCOM MISDEF SUPMSG OSIZE
- *
- * 7. ROUTINES AND OVERLAYS CALLED.
- *
- * MGETS ALLOCATE EMPTY BUFFER
- * MRELS RELEASE BUFFER SPACE
- * BLINK LINK DATA BLOCK INTO DATA RING
- * OSCHAPP SCHEDULE APPLICATION
- * XTRACE READ PROCEDURE CALLS
- *
- * 8. DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATIONS
- *
- * THIS PROGRAM IS A PRIMARY OVERLAY LOADED BY SUBROUTINE
- * OVLCALL. WHEN EXECUTION HAS COMPLETED, A JUMP IS MADE
- * TO LOCATION RJMAIN TO RETURN TO CALLING PROGRAM.
- *
- * W A R N I N G - THIS PROGRAM CANNOT EXCEED THE PRIMARY
- *CALL OPSIZE
- * THIS OVERLAY IS CALLED BY NEIB.
- *
- #
- STOPIMS;
- #
- INPUT PARAMETERS
- NONE
- OUTPUT PARMETERS
- NONE
- #
- #
- EXTERNAL VARIABLES
- #
- XREF BEGIN
- PROC BLINK; # LINK DATA BLOCK INTO DATA RING #
- PROC MGETS; # ALLOCATE BUFFER SPACE #
- PROC MRELS; # RELEASE BUFFER SPACE #
- PROC OSCHAPP; # SCHEDULE APPLICATION #
- PROC XTRACE; # TRACE CALLS #
- LABEL RJMAIN; # RETURN ADDRESS IN OVLCALL #
- END
- #
- INTERNAL VARIABLES
- #
- ITEM BUFADDR; # ADDRESS OF BUFFER TO HOLD INTR/USR SM #
- #
- TEMPLATE OF APPLATION BLOCK HEADER
- BASED ARRAY USED, USETEXT ( A H E A D E R ).
- #
- #
- TEMPLATE OF INTRUSR SUPERVISTOR MESSAGE
- BASED ARRAY USE BY A
- USETEXT CALL TO
- ( S U P $ M S G )
- #
- #
- BASED ARRAY NEEDED FOR ICMD ALPHA CHARACTER
- #
- BASED ARRAY INTCHAR;
- BEGIN
- ITEM ALPHA U(0,0,8);
- END
- #
- ***************** E X E C U T A B L E C O D E ******************
- #
- BEGIN
- CONTROL IFEQ DEBUG,1;
- XTRACE("PICMD") ;
- CONTROL FI;
- P<NCNB> = PARAMP2; # NCNB ADDRESS #
- P<ACNB> = NCNBACNB[0]; # ACNB ADDRESS #
- #
- GET BUFFER TO HOLD INTR/USR SUPERVISOR MESSAGE
- #
- #
- CREATE INTR/USR/SM TO SEND TO APPLICATION
- #
- P<AHEADER> = BUFADDR + BLKHSIZE; # A B H ADDRESS #
- ABHABT[0] = APPCMD; # SUP/MSG BLOCK TYPE #
- ABHACT[0] = ACINTR; # SET CHARACTER TYPE #
- ABHTLC[0] = LINTR; # LENGTH OF INTR/USR/SM #
- P<SUPMSG> = P<AHEADER> + ABHSIZE; # ADDR OF INTR/USR/SM #
- PFCSFC[0] = INTRUSR; # PFC SFC FOR INTR/USR/SM #
- INTRACN[0] = ACNBACN[0]; # APP CONNECT NUMBER #
- #
- GET INTERRUPT ALPHA CHARACTER INTO/APP/MSG
- #
- P<INTCHAR> = PARAMP1 + BLKHSIZE + ABHSIZE;# ALPHA/CHAR ADDRESS #
- INTRCHR[0] = ALPHA[0];
- #
- LINK SUPERVLSOR MESSAGE TO APPLICATLON PCB DATA RING
- #
- P<ACB> = ATACBA[ACNBAN[0]];
- BLINK(BUFADDR,P<ACB>);
- #
- SCHEDULE APPLICATION FOR INTR/USR/SM
- #
- OSCHAPP(P<ACB>);
- # QHICMD[0] = TRUE SET INTR/USR SM FLAG #
- #
- RELEASE BUFFER OF NPU INTR/USR/SM
- #
- GOTO RJMAIN;
- END
- TERM
cdc/nos2.source/nam5871/npicmd.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator