cdc:nos2.source:opl871:baaml
Table of Contents
BAAML
Table Of Contents
- [00026] BAAML - OBJECT TIME BATCH CONCURRENCY.
- [00030] OBJECT TIME BATCH CONCURRENCY.
- [00310] FCTM - FUNCTION CODE TABLE ERROR.
- [00346] SUB-FUNCTION FOR *CRM* CALLS.
- [00360] CLOSE - CLOSE A FILE.
- [00382] DBCOMIT - MARK END OF UPDATE SEQUENCE.
- [00403] DBEGIN - DESIGNATE A DATA BASE AS RECOVERABLE.
- [00435] DBFREE - ROLLBACK ALL UPDATES TO A FILE.
- [00456] DBSTAT - FIND LAST BEGIN/COMMIT SEQUENCE.
- [00502] DELETE - DELETE A RECORD.
- [00531] FLOCK - LOCK A FILE.
- [00553] LOCK - LOCK RECORD.
- [00591] OPEN - OPEN DATA BASE.
- [00613] READ - READ BY KEY.
- [00635] READL - READ AND LOCK RECORD.
- [00655] READM - READ BY MAJOR KEY.
- [00676] READNL - READ NEXT RECORD WITH LOCK.
- [00697] READN - READ NEXT RECORD.
- [00718] REWIND - REWIND FILE.
- [00740] REWRITE - REWRITE RECORD.
- [00760] SKIPBL - SKIP BACKWARD LOGICAL RECORDS.
- [00780] SKIPFL - SKIP FORWARD LOGICAL RECORDS.
- [00800] START - POSITION A FILE AT OR AFTER A GIVEN KEY.
- [00852] UNFLOCK - UNLOCK FILE.
- [00874] UNLOCK - UNLOCK RECORD.
- [00911] WRITE - WRITE RECORD.
- [00930] UTILITIES FOR *CRM* FUNCTIONS.
- [00932] CKF - CHECK KEY FIELD LENGTH.
- [00997] CWS - CALCULATE *WSA* LENGTH.
- [01052] DCF - DBCOMIT AND DBFREE PROCESSOR.
- [01081] LWR - LAST WORD AND RECORD LENGTH RESTORED.
- [01123] MST - TO MOVE THE KEY TO PACKET AREA.
- [01177] MTS - TO MOVE TEXT TO STRING.
- [01237] PRT - PRESET PACKET AND HEADER WORDS.
- [01313] RAD - READ AND READL PROCESSOR.
- [01375] RDM - READM/READNL/READN PROCESSOR.
- [01460] RKA - RETURN KEY-AREA.
- [01517] RTS - RETURN STATUS CODES.
- [01572] RTT - RETURN TAF-STATUS.
- [01613] RQS - REQUEST *TAF/CRM* SUBSYSTEM.
- [01755] SKP - SKIP FUNCTION PROCESSOR.
- [01781] WRR - WRITE AND REWRITE A RECORD.
Source Code
- BAAML.txt
- IDENT BAAML
- SST
- ENTRY CLOSE
- ENTRY DBCOMIT
- ENTRY DBEGIN
- ENTRY DBFREE
- ENTRY DBSTAT
- ENTRY DELETE
- ENTRY FLOCK
- ENTRY LOCK
- ENTRY OPEN
- ENTRY READ
- ENTRY READL
- ENTRY READM
- ENTRY READNL
- ENTRY READN
- ENTRY REWIND
- ENTRY REWRITE
- ENTRY SKIPBL
- ENTRY SKIPFL
- ENTRY START
- ENTRY UNFLOCK
- ENTRY UNLOCK
- ENTRY WRITE
- SYSCOM B1
- TITLE BAAML - OBJECT TIME BATCH CONCURRENCY.
- *COMMENT BAAML - OBJECT TIME BATCH CONCURRENCY.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- BAAML SPACE 4,10
- *** BAAML - OBJECT TIME BATCH CONCURRENCY.
- *
- * P. H. PETERSEN. 81/01/13.
- SPACE 4,10
- *** BAAML IS AN USER LIBRARY INTERFACE FOR COBOL5 AND FORTRAN
- * BATCH USER PROGRAMS TO MAKE ADVANCED ACCESS METHOD CYBER
- * RECORD MANAGER REQUESTS OF THE TRANSACTION FACILITY. DECK
- * *BAAML* IS PLACED ON THE SYSTEM AS LIBRARY *BAAML*. COBOL5
- * *ENTER* VERB AND FORTRAN *CALL* COMMAND INTERFACE THE
- * USER BATCH PROGRAMS TO THE TRANSACTION FACILITY.
- *
- * THE REQUESTS FOR *TAF CMR* ARE AS FOLLOWS -
- *
- * TO CLOSE A FILE FOR A DATA BASE -
- * ENTER "CLOSE" USING FILE,TSTAT,CSTAT.
- * CALL CLOSE (FILE,TSTAT,CSTAT).
- *
- * TO MARK THE END OF AN UPDATE SEQUENCE -
- * ENTER "DBCOMIT" USING TSTAT.
- * CALL DBCOMIT (TSTAT).
- *
- * TO ESTABLISH A DATA BASE AS RECOVERABLE -
- * ENTER "DBEGIN" USING UBEGIN, TSTAT.
- * CALL DBEGIN (UBEGIN, TSTAT).
- *
- * TO ROLLBACK UPDATES TO A DATA BASE -
- * ENTER "DBFREE" USING TSTAT.
- * CALL DBFREE (TSTAT).
- *
- * TO FIND LAST IDENTIFIER OF LAST SUCCESSFULL BEGIN/COMMIT -
- * ENTER "DBSTAT" USING UBEGIN, TSTAT, PBEGIN.
- * CALL DBSTAT (UBEGIN, TSTAT, PBEGIN).
- *
- * TO DELETE A RECORD -
- * ENTER "DELETE" USING FILE,TSTAT,CSTAT,KEYN,KEYP.
- * CALL DELETE (FILE,TSTAT,CSTAT,KEYN,KEYP).
- *
- * TO LOCK A RECORD -
- * ENTER "LOCK" USING FILE,TSTAT,KEYN,KEYP.
- * CALL LOCK (FILE,TSTAT,KEYN,KEYP).
- *
- * TO LOCK A FILE -
- * ENTER "FLOCK" USING FILE,TSTAT.
- * CALL FLOCK (FILE,TSTAT).
- *
- * TO OPEN A FILE FOR A DATA BASE -
- * ENTER "OPEN" USING FILE,TSTAT,CSTAT.
- * CALL OPEN (FILE,TSTAT,CSTAT).
- *
- * TO READ A RECORD BY KEY -
- * ENTER "READ" USING FILE,TSTAT,CSTAT,WSA,WSAL,RL,KEYN,KEYP,
- * KSTAT,KEYID,KEYA,KEYL.
- * CALL READ (FILE,TSTAT,CSTAT,WSA,WSAL,RL,KEYN,KEYP,
- * KSTAT,KEYID,KEYA,KEYL).
- *
- * TO READ A RECORD BY KEY WITH LOCK -
- * ENTER "READL" USING FILE,TSTAT,CSTAT,WSA,WSAL,RL,KEYN,KEYP,
- * KSTAT,KEYID,KEYA,KEYL.
- * CALL READL (FILE,TSTAT,CSTAT,WSA,WSAL,RL,KEYN,KEYP,
- * KSTAT,KEYID,KEYA,KEYL).
- *
- * TO READ A RECORD BY MAJOR KEY -
- * ENTER "READM" USING FILE,TSTAT,CSTAT,WSA,WSAL,RL,KEYA,
- * KEYRL,KEYN,KEYP,MKEYL,KSTAT,KEYID.
- * CALL READM (FILE,TSTAT,CSTAT,WSA,WSAL,RL,KEYA,
- * KEYRL,KEYN,KEYP,MKEYL,KSTAT,KEYID).
- *
- * TO READ NEXT RECORD -
- * ENTER "READN" USING FILE,TSTAT,CSTAT,WSA,WSAL,RL,KEYR,KEYL,
- * KSTAT.
- * CALL READN (FILE,TSTAT,CSTAT,WSA,WSAL,RL,KEYR,KEYL,KSTAT).
- *
- * TO READ NEXT RECORD WITH LOCK -
- * ENTER "READNL" USING FILE,TSTAT,CSTAT,WSA,WSAL,RL,KEYR,KEYL,
- * KSTAT.
- * CALL READNL (FILE,TSTAT,CSTAT,WSA,WSAL,RL,KEYR,KEYL,KSTAT).
- *
- * TO REWIND A FILE -
- * ENTER "REWIND" USING FILE,TSTAT,CSTAT.
- * CALL REWIND (FILE,TSTAT,CSTAT).
- *
- * TO REWRITE A RECORD -
- * ENTER "REWRITE" USING FILE,TSTAT,CSTAT,WSA,RL,KEYN,KEYP.
- * CALL REWRITE (FILE,TSTAT,CSTAT,WSA,RL,KEYN,KEYP).
- *
- * TO SKIP A LOGICAL RECORD BACKWARD -
- * ENTER "SKIPBL" USING FILE,TSTAT,CSTAT,COUNT.
- * CALL SKIPBL (FILE,TSTAT,CSTAT,COUNT).
- *
- * TO SKIP A LOGICAL RECORD FORWARD -
- * ENTER "SKIPFL" USING FILE,TSTAT,CSTAT,COUNT.
- * CALL SKIPFL (FILE,TSTAT,CSTAT,COUNT).
- *
- * TO ESTABLISH A POSITION ON A FILE -
- * ENTER "START" USING FILE,TSTAT,CSTAT,RELOP,KEYN,KEYP,KSTAT,
- * KEYID,MKEYL.
- * CALL START (FILE,TSTAT,CSTAT,RELOP,KEYN,KEYP,KSTAT,
- * KEYID,MKEYL.
- *
- * TO UNLOCK A RECORD -
- * ENTER "UNLOCK" USING FILE,TSTAT,KEYN,KEYP.
- * CALL UNLOCK (FILE,TSTAT,KEYN,KEYP).
- *
- * TO UNLOCK A FILE -
- * ENTER "UNFLOCK" USING FILE,TSTAT.
- * CALL UNFLOCK (FILE,TSTAT).
- *
- * TO WRITE A RECORD -
- * ENTER "WRITE" USING FILE,TSTAT,CSTAT,WSA,RL,KEYN,KEYP.
- * CALL WRITE (FILE,TSTAT,CSTAT,WSA,RL,KEYN,KEYP).
- *
- * THE PARAMETERS FOR *TAF CRM* REQUESTS ARE DEFINED BELOW -
- *
- * XXPFNI (FILE) - FILE NAME SELECTED BY DATA BASE ADMINIS-
- * TRATOR. THE FILE NAME MUST BEGIN ON A WORD BOUNDARY
- * AND CONSIST OF 2-7 CHARACTERS WITH BLANK OR BINARY
- * ZERO FILL.
- * COBOL5 - 01 LEVEL DATA NAME.
- * FORTRAN - INTEGER.
- *
- * TAF-STATUS (TSTAT) - TRANSACTION FACILTY STATUS.
- * SEE DECK *COMKTER.
- * COBOL5 - 01 LEVEL COMPUTATIONAL-1 DATA NAME.
- * FORTRAN - INTEGER.
- *
- * CRM-STATUS (STAT) - ERROR CODE STATUS FOR *CRM*.
- * COBOL5 - 01 LEVEL COMPUTATIONAL-1 DATA NAME.
- * FORTRAN - INTEGER.
- *
- * WSA-NAME (WSA) - SPECIFIES THE AREA TO CONTAIN THE RECORD.
- * COBOL5 - 01 LEVEL DATA NAME.
- * FORTRAN - INTEGER ARRAY.
- *
- *
- * WSA-LENGTH (WSAL) - SPECIFIES THE LENGTH OF THE AREA
- * IDENTIFIED BY THE WSA-NAME.
- * COBOL5 - 01 LEVEL COMPUTATIONAL-1 DATA NAME.
- * FORTRAN - INTEGER.
- *
- * KEY-AREA (KEYA) - SPECIFIES THE FIELD TO CONTAIN THE
- * PRIMARY KEY RETURNED ON A READ REQUEST.
- * COBOL5 - 01 LEVEL DATA NAME.
- * FORTRAN - INTEGER.
- *
- * KEY-AREA-LENGTH (KEYAL) - THE LENGTH OF THE FIELD IDENTIFIED
- * BY THE KEY-AREA PARAMETER.
- * COBOL5 - 01 LEVEL COMPUTATIONAL-1 DATA NAME.
- * FORTRAN - INTEGER.
- *
- * MAJOR-KEY-LENGTH (MKEYL) - THE LENGTH OF THE MAJOR KEY.
- * COBOL5 - 01 LEVEL COMPUTATIONAL-1 DATA NAME.
- * FORTRAN - INTEGER.
- *
- * KEY-OFFSET (KEYP) - THE BEGINNING POSITION OF THE
- * PRIMARY KEY.
- * COBOL5 - 01 COMPUTATIONAL-1 DATA NAME.
- * FORTRAN - INTEGER.
- *
- * KEY-NAME (KEYN) - DATA NAME THE CONTAINS THE PRIMARY KEY.
- * COBOL5 - 01 LEVEL DATA NAME.
- * FORTRAN - INTEGER.
- *
- * RECORD-LENGTH (RL) - DATA NAME THE SPECIFIES THE LENGTH
- * OF THE RECORD RETURNED BY *TAF* AFTER ISSUING
- * A READ REQUEST. ALSO, THE LENGTH OF THE RECORD
- * TO BE WRITTEN TO THE DATA BASE FROM THE AREA
- * IDENTIFIED BY THE WSA-NAME PARAMETER.
- * COBOL5 - 01 LEVEL COMPUTATIONAL-1 DATA NAME.
- * FORTRAN - INTEGER.
- *
- * COUNT - COUNT OF LOGICAL RECORDS TO SKIP.
- * COBOL5 - 01 LEVEL COMPUTATIONAL-1 DATA NAME.
- * FORTRAN - INTEGER.
- *
- * KEY-STATUS (KSTAT) - DATA NAME THAT SPECIFIES THE FIELD TO
- * CONTAIN A KEY STATUS CODE RETURNED BY *TAF*.
- * COBOL5 - 01 LEVEL COMPUTATIONAL-1 DATA NAME.
- * FORTRAN - INTEGER.
- *
- * KEY-IDENTIFIER (KEYID) - A DATA NAME THE SPECIFIES
- * THE KEY, ALTERNATE OR PRIMARY, FOR ACCESS.
- *
- * NEGATIVE - NO CHANGE IN KEY ACCESS.
- * 0 - PRIMARY KEY.
- * N - VALUE ASSOCIATED WITH THE
- * KEY BY AN *AKY* COMMAND.
- * COBOL5 - 01 LEVEL COMPUTIONAL DATA NAME.
- * FORTRAN - INTEGER.
- *
- * RELATION-OPERATOR (RELOP) - VALUES EQ, GT, OR GE.
- * A DATA NAME THAT SPECIFIES THE POSITION RELATIVE
- * TO THE GIVEN KEY AFTER THE OPERATION.
- * COBOL5 - 01 LEVEL COMPUTATION-1 DATA NAME.
- * FORTRAN - INTEGER.
- *
- * UBEGIN - A JOB SUPPLIED VALUE TO DEFINE A
- * RESTART POSITION.
- * COBOL5 - 01 LEVEL COMPUTIONAL-1 DATA NAME.
- * FORTRAN - INTEGER.
- *
- * PBEGIN - THE BEGINNING IDENTIFIER OF THE
- * PREVIOUS *DBEGIN* REQUEST.
- * COBOL5 - 01 LEVEL COMPUTIONAL-1 DATA NAME.
- * FORTRAN - INTEGER.
- *
- SPACE 4,20
- *** DAYFILE MESSAGES.
- *
- * TAF FUNCTION CODE NOT VALID.
- * TAF CANNOT PROCESS THE REQUEST ISSUED BECAUSE
- * IT IS AN UNRECOGNIZABLE FUNCTION CODE. THIS IS
- * AN INTERNAL ERROR.
- *
- *
- * TAF TWO OUTSTANDING REQUEST.
- * TAF RECIEVED ANOTHER REQUEST FROM A USER PROGRAM
- * BEFORE THE PREVIOUS REQUEST WAS SATISFIED. THIS
- * IS AN INTERNAL ERROR.
- *
- *
- * TAF SUBSYSTEM BUSY.
- * TAF WAS BUSY AND COULD NOT ACCEPT THE BATCH REQUEST.
- *
- *
- * TAF/CRM FUNCTION CODE NOT VALID.
- * *TAF/CRM* CANNOT PROCESS THE REQUEST ISSUED BECAUSE
- * IT IS AN UNRECOGNIZABLE FUNCTION CODE. THIS
- * IS AN INTERNAL ERROR.
- *
- *
- * TAF USER NOT VALID FOR TAF ACCESS.
- * BATCH USER WAS NOT VALIDATED TO USE *TAF*.
- *
- *
- * TAF USER NAME ACTIVE.
- * SOME OTHER BATCH OR TERMINAL JOB IS CURRENTLY
- * ACCESSING *TAF/CRM* UNDER THIS USER NAME.
- *
- *
- * TAF DATA NOT WITHIN UCP FL.
- * TAF CANNOT READ (WRITE) DATA FROM USER PROGRAM
- * BECAUSE THE ADDRESS SPECIFIED IS OUTSIDE THE
- * *UCP* (USER CONTROL POINT) *FL* (FIELD LENGTH).
- *
- *
- * TAF/CRM TAF STATUS ERROR XXXX IN FUNCTION YYYYYYY.
- * AN TAF-STATUS ERROR CODE NNN WAS RETURNED TO
- * THE PROGRAM FROM FUNCTION XXXXXXX.
- *
- *
- * TAF/CRM CRM STATUS ERROR XXXX IN FUNCTION YYYYYYY.
- * AN CRM-STATUS ERROR CODE NNN WAS RETURNED TO
- * THE PROGRAM FROM FUNCTION XXXXXXX.
- *
- * TAF USER CONFLICT IN ACCESS TYPE.
- * BATCH JOB TRIED TO ACCESS AS INTERACTIVE.
- *
- * TAF ERROR CODE NOT DEFINED.
- * *BAAML* COULD NOT FIND PROPER ERROR CODE.
- *
- * TAF RECOVERY REQUEST ERROR.
- * TAF DETECTED AN ERROR IN THE RECOVERY REQUEST.
- *
- * BATCH CONCURRENCY DISABLED.
- * TAF WAS NOT INITIALIZED WITH BATCH CONCURRENCY
- * ENABLED.
- *
- * TAF/CRM DATA MANAGER NOT LOADED IN TAF.
- * THE CRM DATA MANAGER WAS NOT LOADED WHEN
- * TAF WAS INITIALIZED.
- SPACE 4,10
- *** OPERATOR MESSAGES.
- *
- * TAF IDLE (GO OR DROP).
- * ACCESS TO *TAF* DENIED BECAUSE IT IS IDLING DOWN.
- *
- * TAF SUBSYSTEM NOT PRESENT (GO OR DROP).
- * THE *TAF* SUBSYSTEM WAS NOT PRESENT WHEN A BATCH
- * JOB TRIED TO CONNECT TO IT.
- SPACE 4,10
- ** FCTM - FUNCTION CODE TABLE ERROR.
- *
- * *FCTM* IS A MACRO THAT IS USED TO BUILD A TABLE
- * FOR PROCESSING THE RESPONSE FROM *TAF/CRM*.
- *
- * ENTRY FCTM MSG,RUT,DSP,ERC
- * MSG - MESSAGE TO BE ISSUED.
- * RUT - ROUTINE TO DO THE PROCESSING.
- * DSP - DISPLAY MESSAGE TO PROPER DAYFILE.
- * ERC - ERROR CODE RESPONSE.
- FCTM MACRO MSG,RUT,DSP,ERC
- VFD 18/MSG,18/RUT,6/DSP,18/ERC
- FCTM ENDM
- SPACE 4,10
- *** COMMON DECKS.
- *CALL COMCMAC
- *CALL COMKTRN
- *CALL COMKTDM
- *CALL COMKIPR
- LIST X
- *CALL COMKFLD
- *CALL COMKTSC
- BEGNX BSS 0
- *CALL COMKCRM
- *CALL COMKTER
- ORG BEGNX DO NOT RESERVE SPACE FOR *TAF/CRM* TABLES
- QUAL SCP
- *CALL COMSSCP
- QUAL SSD
- *CALL COMSSSD
- QUAL
- LIST -X
- TITLE SUB-FUNCTION FOR *CRM* CALLS.
- SPACE 4,10
- **** ASSEMBLY CONSTANTS.
- TCHL EQU 10 NUMBER OF CHARACTERS IN A WORD
- TMKL EQU 255 MAXIMUN LENGTH OF A KEY IN CHARACTERS
- TMKW EQU 24 MAXIMIN LENGTH OF A KEY IN WORDS
- THRL EQU 2 LENGTH OF PACKET HEADER
- EJECT
- CLOSE SPACE 4,15
- ** CLOSE - CLOSE A FILE.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT *TAF* AND *CRM* STATUS RETURNED.
- *
- * USES X - 7.
- * B - 2.
- *
- * CALLS PRT, RQS, RTS.
- CLOSE SUBR ENTRY/EXIT
- SB2 TPCLL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRCL CLOSE SUB-FUNCTION CODE
- RJ PRT PRESET
- RJ RQS ISSUE *TAF/CRM* REQUEST
- RJ RTS TAF-STATUS AND CRM-STATUS RETURNED
- EQ CLOSEX RETURN
- DBCOMIT SPACE 4,15
- ** DBCOMIT - MARK END OF UPDATE SEQUENCE.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETE.
- *
- * USES X - 1, 2, 7.
- * A - 1, 2, 7.
- * B - 2.
- *
- * CALLS PRT, DCF.
- DBCOMIT SUBR ENTRY/EXIT
- SB2 TPDCL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRDC SUB-FUNCTION CODE
- RJ DCF PROCESS REQUEST
- EQ DBCOMITX RETURN
- DBEGIN SPACE 4,15
- ** DBEGIN - DESIGNATE A DATA BASE AS RECOVERABLE.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETE AND STATUS RETURNED.
- *
- * USES X - 1, 2, 7.
- * A - 1, 2, 7.
- * B - 2.
- *
- * CALLS PRT, RQS, RTT.
- DBEGIN SUBR ENTRY/EXIT
- SB2 TPDBL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRDB SUB-FUNCTION CODE
- RJ PRT PRESET
- RJ RQS ISSUE *TAF/CRM* REQUEST
- SA2 TPKT+THRL+TPTS TAF-STATUS FROM AAMI
- ZR X2,DBN1 IF NO ERRORS
- BX1 X2
- RJ RTT ISSUE ERROR MESSAGE
- DBN1 SX7 B6-TPDBL NUMBER OF PARAMTERS
- NG X7,DBEGINX IF NOT ENOUGH PARAMTERS
- SA2 A1+TPTS ADDRESS TO PUT TAF-STATUS
- SA1 TPKT+THRL+TPTS TAF-STATUS
- BX7 X1
- SA7 X2 SET TAF-STATUS
- EQ DBEGINX RETURN
- DBFREE SPACE 4,15
- ** DBFREE - ROLLBACK ALL UPDATES TO A FILE.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETE AND STATUS RETURNED.
- *
- * USES X - 1, 2, 7.
- * A - 1, 2, 7.
- * B - 2.
- *
- * CALLS PRT, DCF.
- DBFREE SUBR ENTRY/EXIT
- SB2 TPDFL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRDF SUB-FUNCTION CODE
- RJ DCF PROCESS REQUEST
- EQ DBFREEX RETURN
- DBSTAT SPACE 4,15
- ** DBSTAT - FIND LAST BEGIN/COMMIT SEQUENCE.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETE AND STATUS RETURNED.
- *
- * USES X - 1, 2, 3, 7.
- * A - 2, 3, 7.
- * B - 2.
- *
- * CALLS PRT, RQS, RTT.
- DBSTAT SUBR ENTRY/EXIT
- SB2 TPDSL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRDS SUB-FUNCTION CODE
- RJ PRT PRESET
- SX7 B6-TPDSL PARAMETERS
- NG X7,DBS1 IF NOT ENOUGH PARAMETERS
- SA2 A1+TPPI PREVIOUS DBCOMIT STATUS
- SA2 X2 VALUE
- BX7 X2
- SA7 TPKT+THRL+TPPI PREVIOUS DBCOMIT STATUS
- DBS1 RJ RQS ISSUE *TAF/CRM* REQUEST
- SA2 TPKT+THRL+TPTS TAF-STATUS FROM AAMI
- ZR X2,DBS2 IF NO ERRORS
- BX1 X2
- RJ RTT ISSUE ERROR MESSAGE
- DBS2 SX7 B6-TPDSL MINIMUM NUMBER OF PARAMETERS
- NG X7,DBSTATX IF NOT ENOUGH PARAMETERS
- SA3 TPKT+THRL+TPCI DBSTAT FROM *TAF/CRM*
- SA2 A1+TPCI DBSTAT ADDRESS
- BX7 X3
- SA7 X2
- SA3 TPKT+THRL+TPTS TAF-STATUS
- SA2 A1+TPTS TAF-STATUS ADDRESS
- BX7 X3
- SA7 X2
- SA3 TPKT+THRL+TPPI DBSTAT FROM *TAF/CRM*
- SA2 A1+TPPI DBSTAT ADDRESS
- BX7 X3
- SA7 X2
- EQ DBSTATX RETURN
- DELETE SPACE 4,15
- ** DELETE - DELETE A RECORD.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND ADDRESS RETURNED.
- *
- * USES X - 7.
- * A - 7.
- * B - 2, 4.
- *
- * CALLS CKF, PRT, RQS, RTS.
- DELETE SUBR ENTRY/EXIT
- SB2 TPDEL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRDE SUB-FUNCTION CODE
- RJ PRT PRESET
- SX7 B6-TPDEL MINIMUM NUMBER OF PARAMETERS
- NG X7,DEL1 IF NOT ENOUGH PARAMETERS
- SB4 0 SET NO MAJOR KEY-LENGTH
- SB2 TPDK INDEX TO KEY-AREA IN PATAMERER LIST
- RJ CKF CHECK AND TRANSFER KEY
- NZ X7,DEL2 IF KEY-OFFSET ERROR
- DEL1 RJ RQS ISSUE *TAF/CRM* REQUEST
- DEL2 RJ RTS TAF-STATUS AND CRM-STATUS RETURNED
- EQ DELETEX RETURN
- FLOCK SPACE 4,15
- ** FLOCK - LOCK A FILE.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETE AND STATUS RETURNED.
- *
- * USES X - 7.
- * B - 2.
- *
- * CALLS PRT, RQS, RTS.
- FLOCK SUBR ENTRY/EXIT
- SB2 TPLFL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRLF SUB-FUNCTION CODE
- RJ PRT PRESET
- RJ RQS ISSUE *TAF/CRM* REQUEST
- RJ RTS TAF-STATUS AND CRM-STATUS RETURNED
- EQ FLOCKX RETURN
- LOCK SPACE 4,15
- ** LOCK - LOCK RECORD.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETE AND STATUS RETURNED.
- *
- * USES X - 1, 2, 7.
- * A - 1, 2, 7.
- * B - 2, 4.
- *
- * CALLS PRT, RQS, CKF, RTT.
- LOCK SUBR ENTRY/EXIT
- SB2 TPLCL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRLC SUB-FUNCTION CODE
- RJ PRT PRESET
- SX7 B6-TPLCL MINIMUM NUMBER OF PARAMETERS
- NG X7,LOK1 IF NOT ENOUGH PARAMETERS
- SB2 TPKL INDEX FOR KEY-NAME TO PARAMETER LIST
- SB4 0 SET NO MAJOR-KEY-LENGTH
- RJ CKF CHECK AND TRANSFER KEY
- NZ X7,LOK2 IF KEY-OFFSET ERRORS
- LOK1 RJ RQS ISSUE *TAF/CRM* REQUEST
- LOK2 SA2 TPKT+THRL+TPTS TAF-STATUS FROM AAMI
- ZR X2,LOK3 IF NO ERRORS
- BX1 X2
- RJ RTT ISSUE ERROR MESSAGE
- LOK3 SX7 B6-TPPI MINIMUM NUMBER OF PARAMETERS
- NG X7,LOCKX IF NOT ENOUGH PARAMETERS
- SA2 A1+TPTS ADDRESS TO RETURN DBSTAT
- SA1 TPKT+THRL+TPTS TAF-STATUS FROM DBSTAT
- BX7 X1
- SA7 X2 TAF-STATUS TO PROGRAM
- EQ LOCKX RETURN
- OPEN SPACE 4,15
- ** OPEN - OPEN DATA BASE.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETE AND STATUS RETURNED.
- *
- * USES X - 7.
- * B - 2.
- *
- * CALLS PRT, RQS, RTS.
- OPEN SUBR ENTRY/EXIT
- SB2 TPOPL MAXIMUM NUMBER OF PARAMETERS
- SX7 TROP SUB-FUNCTION CODE
- RJ PRT PRESET
- RJ RQS ISSUES *TAF/CRM* REQUEST
- RJ RTS TAF-STATUS AND CRM-STATUS RETURNED
- EQ OPENX RETURN
- READ SPACE 4,15
- ** READ - READ BY KEY.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * EXIT READ FUNCTIN COMPLETE AND STATUS RETURNED.
- *
- * USES X - 7.
- * B - 2.
- *
- * CALLS RAD.
- READ SUBR ENTRY/EXIT
- SB2 TPRDL MAXIMIM NUMBER OF PARAMETERS
- SX7 TRRD SUB-FUNCTION CODE
- RJ RAD PROCESS READ AND READL FUNCTIONS
- EQ READX RETURN
- READL SPACE 4,15
- ** READL - READ AND LOCK RECORD.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 7.
- * B - 2.
- *
- * CALLS RAD.
- READL SUBR ENTRY/EXIT
- SB2 TPRLL MAXIMUM PARAMETERS FOR READ
- SX7 TRRL SUB-FUNCTION CODE
- RJ RAD PROCESS READ AND READL FUNCTIONS
- EQ READLX RETURN
- READM SPACE 4,15
- ** READM - READ BY MAJOR KEY.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 0, 7.
- * B - 2.
- *
- * CALLS RDM.
- READM SUBR ENTRY/EXIT
- SB2 TPRML MAXIMUM NUMBER OF PARAMETERS
- SX7 TRRM SUB-FUNCTION CODE
- SX0 TRRM SET SWITCH FOR CALL BY READM
- RJ RDM PROCESS READM FUNCTION
- EQ READMX RETURN
- READNL SPACE 4,15
- ** READNL - READ NEXT RECORD WITH LOCK.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 0, 7.
- * B - 2.
- *
- * CALLS RDM.
- READNL SUBR ENTRY/EXIT
- SX7 TRRO SUB-FUNCTION CODE
- SB2 TPROL MAXIMUM NUMBER OF PARAMETERS
- SX0 0 INDICATE NOT CALLED BY READM
- RJ RDM PROCESS READNL FUNCTION
- EQ READNLX RETURN
- READN SPACE 4,15
- ** READN - READ NEXT RECORD.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 0, 7.
- * B - 2.
- *
- * CALLS RDM.
- READN SUBR ENTRY/EXIT
- SB2 TPRNL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRRN SUB-FUNCTION CODE
- SX0 0 INDICATE NOT CALLED BY READM
- RJ RDM PROCESS READN FUNCTION
- EQ READNX RETURN
- REWIND SPACE 4,15
- ** REWIND - REWIND FILE.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 7.
- * B - 2.
- *
- * CALLS PRT, RQS, RTS.
- REWIND SUBR ENTRY/EXIT
- SB2 TPRPL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRRP SUB-FUNCTION CODE
- RJ PRT PRESET
- RJ RQS ISSUE *TAF/CRM* REQUEST
- RJ RTS TAF-STATUS AND CRM-STATUS RETURNED
- EQ REWINDX RETURN
- REWRITE SPACE 4,15
- ** REWRITE - REWRITE RECORD.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 7.
- * B - 2.
- *
- * CALLS WRR.
- REWRITE SUBR ENTRY/EXIT
- SB2 TPRWL MAXIMUM NUMBER OF PARAMETER
- SX7 TRRW SUB-FUNCTION
- RJ WRR REWRITE RECORD
- EQ REWRITEX RETURN
- SKIPBL SPACE 4,15
- ** SKIPBL - SKIP BACKWARD LOGICAL RECORDS.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 7.
- * B - 2.
- *
- * CALLS SKP.
- SKIPBL SUBR ENTRY/EXIT
- SB2 TPSBL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRSB SUB-FUNCTION CODE
- RJ SKP PROCESS SKIP FUNCTION
- EQ SKIPBLX RETURN
- SKIPFL SPACE 4,15
- ** SKIPFL - SKIP FORWARD LOGICAL RECORDS.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 7.
- * B - 2.
- *
- * CALLS SKP.
- SKIPFL SUBR ENTRY/EXIT
- SB2 TPSFL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRSF SUB-FUNCTION FOR *TAF/CRM*
- RJ SKP PROCESS SKIP FUNCTION
- EQ SKIPFLX RETURN
- START SPACE 4,15
- ** START - POSITION A FILE AT OR AFTER A GIVEN KEY.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 1, 2, 3, 7.
- * A - 2, 3, 7.
- * B - 4.
- *
- * CALLS CKF, PRT, RQS, RTS.
- START SUBR ENTRY/EXIT
- SB2 TPSTL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRST SUB-FUNCTION CODE
- RJ PRT PRESET
- SX1 B6-TPSTF REQUIRED NUMBER OF PPARAMETERS
- NG X1,SRT2 IF NOT ENOUGH PARAMETERS
- SA2 A1+TPSR RELATION-OPERATOR
- SB4 0
- SA2 X2 VALUE OF RELATION-OPERATOR
- BX7 X2
- SX1 B6-TPSM PARAMETERS
- SA7 TPKT+THRL+TPSR RELATION-OPERATOR TO PACKET
- NG X1,SRT1 IF END OF PARAMETERS
- SA2 A1+TPSO KEY-IDENTIFIER
- SA2 X2 VALUE
- BX7 X2
- SA7 TPKT+THRL+TPSO KEY-IDENTIFIER TO PACKET
- ZR X1,SRT1 IF END OF PARAMETERS
- SA2 A1+TPSM MAJOR-KEY-INDEX
- SA2 X2
- BX7 X2
- SB4 X2+
- SA7 TPKT+THRL+TPSM MAJOR-KEY-LENGTH TO PACKET
- SRT1 SB2 TPSK KEY-AREA INDEX
- RJ CKF TRANSFER KEY
- NZ X7,SRT3 IF KEY-OFFSET ERROR
- SRT2 RJ RQS ISSUE *TAF/CRM* REQUEST
- SRT3 RJ RTS TAF-STATUS AND CRM-STATUS RETURNED
- SX2 B6-TPSTF REQUIRED PARAMETER
- NG X2,STARTX IF NOT ENOUGH PARAMETERS
- ZR X2,STARTX IF END OF PARAMETERS
- SA2 A1+TPSF KEY-STATUS ADDRESS
- SA3 TPKT+THRL+TPSF KEY-STATUS
- BX7 X3
- SA7 X2
- EQ STARTX RETURN
- UNFLOCK SPACE 4,15
- ** UNFLOCK - UNLOCK FILE.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 7.
- * B - 2.
- *
- * CALLS PRT, RQS, RTS.
- UNFLOCK SUBR ENTRY/EXIT
- SB2 TPUFL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRUF SUB-FUNCTION CODE
- RJ PRT PRESET
- RJ RQS ISSUE *TAF/CRM* REQUEST
- RJ RTS TAF-STATUS AND CRM-STATUS RETURNED
- EQ UNFLOCKX RETURN
- UNLOCK SPACE 4,15
- ** UNLOCK - UNLOCK RECORD.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 1, 2, 7.
- * A - 1, 2, 7.
- * B - 2, 4.
- *
- * CALLS PRT, CKF, RQS, RTT.
- UNLOCK SUBR ENTRY/EXIT
- SB2 TPUCL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRUC SUB-FUNCTION CODE
- RJ PRT PRESET
- SX7 B6-TPUCL CHECK NUMBER OF PARAMETERS
- NG X7,UNL1 IF NOT ENOUGH PARAMETERS
- SB2 TPKL KEY POSITION
- SB4 0 SET NO MAJOR-KEY-LENGTH
- RJ CKF TRANSFER KEY
- NZ X7,UNL2 IF KEY-OFFSET ERRORS
- UNL1 RJ RQS ISSUE *TAF/CRM* REQUEST
- UNL2 SA2 TPKT+THRL+TPTS TAF-STATUS FROM AAMI
- ZR X2,UNL3 IF NO ERRORS
- BX1 X2
- RJ RTT ISSUE ERROR MESSAGE
- UNL3 SX7 B6-TPPI MINIMUM NUMBER OF PARAMETERS
- NG X7,UNLOCKX IF NOT ENOUGH PARAMETERS
- SA2 A1+TPTS ADDRESS TO RETURN DBSTAT
- SA1 TPKT+THRL+TPTS TAF-STATUS FROM DBSTAT
- BX7 X1
- SA7 X2 TAF-STATUS TO PROGRAM
- EQ UNLOCKX RETURN
- WRITE SPACE 4,15
- ** WRITE - WRITE RECORD.
- *
- * ENTRY (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 7.
- * B - 2.
- *
- * CALLS WRR.
- WRITE SUBR ENTRY/EXIT
- SB2 TPWRL MAXIMUM NUMBER OF PARAMETERS
- SX7 TRWR SUB-FUNCTION CODE
- RJ WRR WRITE A RECORD
- EQ WRITEX RETURN
- TITLE UTILITIES FOR *CRM* FUNCTIONS.
- CKF SPACE 4,20
- ** CKF - CHECK KEY FIELD LENGTH.
- *
- * ENTRY (TSA1) = POINTER TO PARAMETER LIST.
- * (A1) = ADDRESS OF PARAMETER LIST.
- * (B2) = INDEX OF PARAMETER LIST FOR KEY-NAME.
- * (B3) = INDEX OF PACKET FOR KEY-NAME ADDRESS.
- * (B4) = MAJOR-KEY-LENGTH IF NON-ZERO.
- *
- * EXIT (TPKT+15) = KEY.
- * (X7) - ZERO, NO ERRORS.
- * (X7) - NON-ZERO, IF ERROR IN KEY-OFFSET.
- *
- * USES X - 1, 2, 3, 6, 7.
- * A - 2, 3, 6, 7.
- * B - 2, 4.
- *
- * MACRO GETFLC.
- *
- * CALL MST.
- CKF SUBR ENTRY/EXIT
- SA3 A1+B2 KEY-NAME ADDRESS
- SA2 A3+B1 KEY-OFFSET
- SA2 X2 VALUE OF KEY-OFFSET
- SX3 X3 ADDRESS ONLY
- ZR X2,CKF3 IF KEY-OFFSET ZERO
- NG X2,CKF3 IF KEY-OFFSET IS NEGATIVE
- SX1 TCHL NUMBER OF CHARACTERS IN A WORD
- BX7 X1
- BX6 X2
- IX6 X6/X7 NUMBER OF WORDS TO KEY-NAME
- IX7 X6+X3 ADDRESS PLUS NUMBER OF WORDS
- IX1 X1*X6 NUMBER OF CHARACTERS TO KEY-OFFSET
- IX2 X2-X1 KEY-OFFSET
- SX6 B1
- SA7 TPKT+THRL+B2 KEY-NAME ADDRESS
- SA6 A7+B1 SET KEY-OFF TO ONE FOR *TAF/CRM*
- SB2 X2 KEY-OFFSET FOR MOVE
- SX3 X7+ KEY-NAME ADDRESS FOR MOVE
- GETFLC CKFA FIELD LENGTH OF JOB
- SA2 CKFA MEMORY VALUE
- MX1 12 MASK FOR FIELD CENTRAL MEMORY
- BX2 X2*X1
- SX7 X7+TMKW ADDRESS OF KEY-NAME PLUS KEY
- LX2 17-59 POSITION FIELD LENGTH
- IX7 X7-X2 SUBTRACT KEY-NAME PLUS KEY SIZE
- NE B4,CKF1 IF NOT MAJOR-KEY-LENGTH
- SB4 TMKL MAXIMUM LENGTH OF KEY
- CKF1 NG X7,CKF2 IF KEY-NAME ADDRESS NOT TO LARGE
- SB4 TCHL REDUCE KEY MOVE TO ONE WORD
- CKF2 SB5 TKEY ADDRESS TO TRANSFER KEY
- SA2 X3 KEY-NAME TRANSFER
- SB2 B2-B1
- RJ MST MOVE KEY INTO PACKET
- BX7 X7-X7 SET NO ERRORS
- EQ CKFX RETURN
- CKF3 SX7 TERQ INVALID KEY-OFFSET
- SA7 TPKT+THRL+TPCS *TAF/CRM* ERROR STATUS SET
- EQ CKFX RETURN
- CKFA BSSZ 1 FIELD LENGTH OF PROGRAM
- CWS SPACE 4,15
- ** CWS - CALCULATE *WSA* LENGTH.
- *
- * ENTRY (A1) = PARAMETER LIST ADDRESS.
- *
- * EXIT (LWRA) = *LWA* OF LAST *WSA*.
- * (LWRB) = MASK FOR LAST *WSA*.
- * (LWRC) = CONTENTS OF *LWA* OF *WSA*.
- *
- * USES X - 2, 3, 5, 6, 7.
- * A - 2, 3, 6, 7.
- * B - 4.
- CWS SUBR ENTRY/EXIT
- SX7 0
- SX5 TCHL NUMBER OF CHARACTER IN A WORD
- SA3 A1+TPWL WSA-LENGTH ADDRESS
- SA7 LWRB VALUE OF MASK MUST BE ZERO
- SA2 A3-B1 WSA-NAME ADDRESS
- SA3 X3 VALUE OF LENGTH
- SX6 X2
- BX7 X3 VALUE OF WSA-LENGTH
- SA6 TPKT+THRL+TPWS ADDRESS OF WSA INTO PACKET
- PX5 X5 PACK CHARACTERS IN WORD
- SA7 A6+B1 LENGTH OF WSA INTO PACKET
- PX7 X7 PACK WSA-LENGTH
- NX5 X5 NORMALIZE VALUE
- FX7 X7/X5 DIVIDE LENGTH BY 10
- UX7 B4,X7 UNPACK LENGTH IN WORDS
- SX5 TCHL RESTORE CHARACTERS IN WORD
- LX7 X7,B4 ADJUST LENGTH IN WORDS
- SB4 X7 ADJUST WORD COUNT
- SA2 X6+B4 ADDRESS AND VALUE OF LAST WORD
- IX6 X5*X7 NUMBER OF CHARACTERS IN LAST WORD
- BX7 X2 VALUE OF LAST WORD
- IX5 X3-X6 NUMBER OF CHARACTERS IN LAST WORD
- ZR X5,CWSX IF END ON WORD BOUNDRY
- SX6 A2+ ADDRESS OF LAST WORD
- SA7 LWRC VALUES OF LAST WORD
- SA6 LWRA ADDRESS OF LAST WORD
- LX7 X5,B1 THE NEXT LINES OF CODE WILL MULTIPLY BY 6
- MX2 1
- * THE NEXT LINES OF CODE WILL MULITIPLY THE NUMBER IN
- * X5 BY 6. THE VALUES IN X5 WILL BE 1 THROUGH 9 WILL
- * RESULT IN VALUSE OF 6 THROUGH 56 RESPECTIVELY.
- LX5 X7,B1
- SB4 X5-1
- SB4 B4+X7
- AX7 X2,B4 FORM MASK
- BX7 -X7
- SA7 LWRB SAVE MASK
- EQ CWSX RETURN
- DCF SPACE 4,15
- ** DCF - DBCOMIT AND DBFREE PROCESSOR.
- *
- * ENTRY (B2) - NUMBER FOR PARAMETERS.
- * (X7) - VALUE OF SUBFUNCTION.
- *
- * EXIT FUNCTION PROCESSED AND STATUS RETURNED.
- *
- * USES X - 1, 2, 7.
- * A - 2, 7.
- *
- * CALLS PRT, RTT.
- DCF SUBR ENTRY/EXIT
- RJ PRT PRESET
- SX7 0 CLEAR OUT LFN IN PACKET AREA
- SA7 TPKT+THRL+TPSX CLEARED
- RJ RQS ISSUE *TAF/CRM* REQUEST
- SA2 TPKT+THRL+TPSX TAF-STATUS FROM AAMI
- ZR X2,DCF1 IF NO ERRORS
- BX1 X2
- RJ RTT ISSUE ERROR MESSAGE
- DCF1 SX7 B6-TPDCL NUMBER OF PARAMETERS
- NG X7,DCFX IF NOT ENOUGH PARAMETERS
- SA2 TPKT+THRL+TPSX TAF-STATUS
- BX7 X2
- SA7 X1 SET TAF-STATUS
- EQ DCFX RETURN
- LWR SPACE 4,15
- ** LWR - LAST WORD AND RECORD LENGTH RESTORED.
- *
- * ENTRY (LWRB) = MASK FOR LAST WORD.
- * (LWRA) = ADDRESS OF LAST WORD.
- * (LWRC) = VALUE OF LAST WORD.
- * (TPKT+7) = RECORD LENGTH OF READ.
- * (A1) = POINTER TO PARAMETER LIST.
- *
- * (B2) = LENGTH TO PACKET HEADER
- *
- * EXIT RECORD LENGTH AND LAST WORD OF RECORD AREA
- * RESTORED.
- *
- * USES X - 2, 3, 4, 6.
- * A - 2, 3, 4, 6.
- *
- * NOTE (LWRA), (LWRB), AND (LWRC) ARE CONSECUTIVE
- * LOCATIONS.
- LWR SUBR ENTRY/EXIT
- SA3 TPKT+THRL+TPRL NUMBER OF CHARACTERS FROM PACKET
- SA2 A1+TPRL RECORD LENGTH
- ZR X3,LWRX IF NO RECORD RETURNED
- BX6 X3
- SA6 X2 LENGTH OF RECORD READ
- SA3 LWRA ADDRESS OF LAST WORD OF RECORD
- SA2 A3+B1 MASK FOR LAST WORD IN RECORD
- SA4 A2+B1 VALUE OF LAST WORD
- SA3 X3+
- ZR X2,LWRX IF END ON WORD BOUNDRY
- BX4 X2*X4 LAST WORD
- BX3 -X2*X3 CHARACTERS TO TRANSFER
- BX6 X3+X4 VALUE OF OLD LAST WORD PLUS NEW
- SA6 A3 RESTORE LAST WORD OF RECORD
- EQ LWRX RETURN
- LWRA BSSZ 1 ADDRESS OF LAST WORD OF WORKING STORAGE
- LWRB BSSZ 1 MASK OF LAST WORD IN WORD STORAGE
- LWRC BSSZ 1 VALUE OF LAST WORD IN RECORD
- MST SPACE 4,15
- ** MST - TO MOVE THE KEY TO PACKET AREA.
- *
- * ENTRY (B2) = CHARACTER POSITION OF GOOD DATA.
- * (B5) = ADDRESS TO RECIEVE TEXT.
- * (A2) = ADDRESS OF DATA STRING TO TRANSFER.
- * (X2) = FIRST WORD OF DATA.
- * (B4) = TOTAL NUMBER OF CHARACTERS TO TRANSFER.
- *
- * EXIT DATA TRANSFERED COMPLETE.
- * (B6) - RESTORED TO NUMBER OF PARAMETERS.
- *
- * USES X - 1, 2, 3, 6, 7.
- * A - 2, 6.
- * B - 2, 3, 4, 5, 6.
- MST2 MX1 1
- LX7 X1,B4 SHIFT TO FORM MASK
- LX1 X7,B1
- BX1 X1*X7
- BX6 X1*X6
- SA2 TNPR NUMBER OF PARAMETERS IN CALL
- SA6 B5
- SB6 X2+ RESTORE NUMBER OF PARAMETERS
- MST SUBR ENTRY/EXIT
- SB3 B2+B2 CHANGE CHARACTER COUNT TO BIT COUNT
- SB2 B3+B3
- SB2 B2+B3
- SB3 B4+B4 CHANGE NUMBER OF CHARACTERS
- SB4 B3+B3
- SB4 B4+B3
- SB4 -B4 CHANGE TO MINUS BIT COUNT
- SB3 B2-60
- MX1 1
- LX7 X1,B3
- LX1 X7,B1
- BX1 X1*X7
- LX2 B2 POSITION STRING BEGINNING
- BX3 X1*X2
- BX6 X3
- SB6 B3-B2
- LT B3,B4,MST2 IF LAST WORD
- MST1 SA2 A2+B1
- LX2 B2
- BX6 -X1*X2
- BX6 X3+X6
- BX3 X1*X2
- GE B4,B6,MST2 IF LAST WORD
- SB4 B4-B6
- SA6 B5 STORE FIRST/NEXT WORD
- SB5 B5+B1
- EQ MST1 CONTINUE MOVE
- MTS SPACE 4,15
- ** MTS - TO MOVE TEXT TO STRING.
- *
- * ENTRY (A1) = ADDRESS TO TRANSMIT DATA.
- * (X1) = FIRST DATA TO TRANSMIT.
- * (A2) = ADDRESS TO RECIEVE DATA.
- * (B2) = CHARACTER POSITION.
- * (B4) = NUMBER OF CHARACTERS TO TRANSMIT.
- *
- * EXIT DATA TRANSFERED.
- *
- * USES X - 0, 2, 3, 4, 6, 7.
- * A - 2, 6.
- * B - 2, 3, 4.
- MTS2 SA2 A6+1 FETCH RESERVED FIELD
- MTS3 SB2 B4-60 REMAINING BITS TO TRANSFER
- MX0 1
- SB2 -B2
- AX7 X0,B2
- LX0 X7,B1
- BX0 X0*X7
- BX6 X0*X6 MERGE NEW RESERVED FIELD
- BX2 -X0*X2
- BX6 X2+X6
- SA6 A2+ SET FIRST/LAST STRING WORD
- MTS SUBR ENTRY/EXIT
- SB3 B2-B1 CHANGE CHARACTERS TO BITS
- SB3 B3+B3
- SB2 B3+B3
- SB2 B3+B2 STARTING BIT POSITION TO TRANSFER
- SB3 B4+B4 CHANGE CHARACTERS TO BITS
- SB4 B3+B3
- SB4 B3+B4 NUMBER OF BITS TO TRANSFER
- SB4 -B4 NEGATIVE BITS
- SB3 B2-60
- MX0 1
- AX7 X0,B2
- LX0 X7,B1
- BX0 X0*X7
- AX1 B3 POSITION TEXT
- BX4 -X0*X1
- BX3 X0*X1
- SA1 A1+B1 FETCH NEXT WORD OF TEXT
- BX6 X0*X2
- BX6 X4+X6
- SB4 B4-B3
- PL B4,MTS3 IF MOVE IS COMPLETE
- SA6 A2 STORE FIRST STRING WORD
- MTS1 AX1 B3
- BX4 -X0*X1
- BX6 X3+X4
- BX3 X0*X1
- SB4 B4+60
- PL B4,MTS2 IF MOVE IS COMPLETED
- SA1 A1+B1
- SA6 A6+B1 STORE NEXT STRING WORD
- EQ MTS1 CONTINUE MOVE
- PRT SPACE 4,20
- ** PRT - PRESET PACKET AND HEADER WORDS.
- *
- * ENTRY (A1) = ADDRESS TO PARAMETER LIST.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- * (X7) = SUB-FUNCTION CODE.
- *
- * EXIT (TSA1) = ADDRESS OF PARAMETER LIST.
- * (RQSB) = HEADER WORD SET FOR *TAF/CRM*.
- * (TPKT) = INITIALIZED TO ZERO.
- * (TPKT+2) = VALUE OF FIRST PARAMETER.
- * (TNPR) = NUMBER OF PARAMETERS.
- * (TFCD) = NAME CURRENT SUB-FUNCTION.
- * (A1) = ADDRESS TO PARAMETER LIST.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- * (B1) = 1.
- * (B6) = NUMBER OF PARAMETERS.
- *
- * USES X - 2, 6, 7.
- * A - 2, 6, 7.
- * B - 1, 6.
- PRT SUBR ENTRY/EXIT
- SA2 PRTA+X7 FUNCTION NAME OF CALLING
- SB1 1
- BX6 X2
- SB6 BUFE-1-TPKT LAST ADDRESS MINUS THE STARTING ADDRESS
- SA6 TFCD SET FUNCTION CODE NAME
- SX6 0
- PRT1 SA6 TPKT+B6 CLEAR CELLS
- SB6 B6-1
- PL B6,PRT1 IF NOT LAST CELL
- SX6 A1+
- SA2 X1+ VALUE OF FIRST
- SA6 TSA1 SAVE PARAMETER LIST ADDRESS
- BX6 X2
- SB6 B0
- SA6 TPKT+THRL+TPFN FIRST PARAMETER VALUE
- PRT2 SA2 A1+B6 NEXT PARAMETER ADDRESS
- ZR X2,PRT3 IF END OF PARAMETER LIST
- SB6 B6+B1 PARAMETER COUNT
- LT B6,B2,PRT2 IF NOT MAXIMUM PARAMETERS
- PRT3 SX6 B6 PARAMETER COUNT
- SX2 B6
- LX7 35-11 POSITION SUB-FUNCTION
- LX2 23-5 POSITION COUNT
- SA6 TNPR SET NUMBER OF PARAMETER PASSED
- BX7 X2+X7 MASK SUB-FUNCTION AND PARAMETER COUNT
- PX7 X7 PUT FUNCTION CODE INTO POSITION
- SA7 RQSB HEADER WORD (TPKT+1) FOR *TAF/CRM* CALL
- EQ PRTX RETURN
- PRTA DATA C*CLOSE*
- DATA C*DELETE*
- DATA C*LOCK*
- DATA C*FLOCK*
- DATA C*OPEN*
- DATA C*READ*
- DATA C*READL*
- DATA C*READM*
- DATA C*READN*
- DATA C*READNL*
- DATA C*REWIND*
- DATA C*REWRITE*
- DATA C*SKIPBL*
- DATA C*SKIPFL*
- DATA C*UNLOCK*
- DATA C*UNFLOCK*
- DATA C*WRITE*
- DATA C*START*
- DATA C*DBEGIN*
- DATA C*DBCOMIT*
- DATA C*DBFREE*
- DATA C*DBSTAT*
- RTT SPACE 4,20
- RAD SPACE 4,20
- ** RAD - READ AND READL PROCESSOR.
- *
- * ENTRY (X2) = MAXIMUM PARAMTER COUNT.
- * (X7) = SUB-FUNCION CODE.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 1, 2, 3, 7.
- * A - 1, 2, 3, 7.
- * B - 2, 4.
- *
- * CALLS CWS, CKF, PRT, RQS, RTS, RKA, LWR.
- RAD SUBR ENTRY/EXIT
- RJ PRT PRESET
- SX7 B6-TPRDF REQUIRED NUMBER OF PARAMETERS
- NG X7,RAD2 IF NOT ENOUGH PARAMETERS
- RJ CWS CALCULATE LENGTH OF RECORD
- SX7 B6-TPRK PARAMETERS REQUIRED FOR KEY-IDENTIFIER
- NG X7,RAD1 IF END OF PARAMETER LIST
- SA2 A1+TPRO KEY-IDENTIFIER
- SA2 X2 VALUE OF KEY-IDENTIFIER
- BX7 X2
- SA7 TPKT+THRL+TPRO KEY-IDENTIFER INTO PACKET
- SX2 B6-TPRLL
- NG X2,RAD1 IF END OF PARAMETER LIST
- SA3 A1+TPRR ADDRESS OF KEY-AREA-LENGTH
- SA2 A3-B1 ADDRESS OF KEY-AREA
- SA3 X3 VALUE
- SX7 X2+ ADDRESS OF KEY-AREA
- SA7 TPKT+THRL+TPRK KEY-AREA ADDRESS TO PACKET
- BX7 X3
- SA7 A7+B1 KEY-AREA-LENGTH INTO PACKET
- RAD1 SB2 TPKA KEY-AREA
- SB4 0 SET NO MAJOR-KEY-LENGTH
- RJ CKF CHECK FIELD LENGTH AND MOVE KEY
- NZ X7,RAD3 IF KEY-OFFSET ERROR
- RAD2 RJ RQS ISSUE *TAF/CRM* REQUEST
- RAD3 RJ RTS TAF-STATUS AND CRM-STATUS RETURNED
- SA2 TPKT+THRL+TPCS *TAF/CRM* STATUS
- NZ X2,RADX IF ERROR RETURN
- RJ LWR RESTORE LAST WORD AND RECORD LENGTH
- SX2 B6-TPRDF REQUIRED NUMBER OF PARAMETERS
- NG X2,RADX IF LESS THEN REQUIRED
- ZR X2,RADX IF END OF LIST
- SA3 TPKT+THRL+TPRDF KEY-STATUS RESULTS
- SA2 A1+TPRDF KEY-STATUS ADDRESS
- BX7 X3
- SA7 X2 SET KEY-STATUS
- SX2 B6-TPRDL PARAMETERS REQUIRED FOR LOCK STATUS
- NG X2,RAD4 IF END OF PARAMETER LIST
- SA2 TPKT+THRL+TPLB
- SA3 A1+TPLB LOCK STATUS ADDRESS
- BX7 X2
- SA7 X3 RETURN LOCK STATUS
- RAD4 SX3 B6-TPRLL PARAMETERS REQUIRED FOR KEY-AREA
- NG X3,RADX IF END OF PARAMETER LIST
- SA2 A1+TPRK KEY-AREA ADDRESS
- RJ RKA RETURN KEY-AREA
- EQ RADX RETURN
- RDM SPACE 4,20
- ** RDM - READM/READNL/READN PROCESSOR.
- *
- * ENTRY (B2) = MAXIMUM NUMBER OF PARAMETERS.
- * (X0) = NONZERO IF CALLED BY READM FUNCTION.
- * (X7) = SUB-FUNCTION CODE.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 1, 2, 3, 6, 7.
- * A - 1, 2, 3, 6, 7.
- * B - 2, 4.
- *
- * CALLS CWS, CKF, PRT, RKA, RQS, RTS.
- RDM SUBR ENTRY/EXIT
- RJ PRT PRESET
- SX1 B6-TPRL PARAMETERS REQUIRED FOR *CWS*
- NG X1,RDM2 IF NOT ENOUGH PARAMETERS
- RJ CWS WSA-NAME AND WSA-LENGTH
- SB4 0 SET NO MAJOR-KEY-LENGTH
- SX1 B6-TPRNF REQUIRED NUMBER OF PARAMETERS
- NG X1,RDM2 IF NOT ENOUGH PARAMETERS
- SA2 A1+TPKW KEY-AREA ADDRESS
- SA3 A2+B1 KEY-AREA-LENGTH ADDRESS
- SX7 X2 ADDRESS OF KEY-AREA
- SA3 X3 VALUE OF KEY-AREA-LENGTH
- SX6 X3 VALUE
- SA7 TPKT+THRL+TPKW KEY-AREA ADDRESS TO PACKET
- SA6 TPKT+THRL+TPLN VALUE OF KEY-AREA-LENGTH
- ZR X1,RDM2 IF END OF PARAMETERS
- ZR X0,RDM2 IF CALLED BY READN OR READNL
- SX1 B6-TPRMF PARAMETERS REQUIRED FOR READM
- NG X1,RDM2 IF NOT PARAMETERS FOR READM
- SA2 A1+TPMM ADDRESS OF MAJOR-KEY-LENGTH
- SA2 X2+ VALUE OF MAJOR-KEY-LENGTH
- SB4 X2
- BX7 X2
- SA7 TPKT+THRL+TPMM MAJOR-KEY-LENGTH INTO PACKET
- ZR X1,RDM1 IF END OF PARAMETER LIST
- SX1 B6-TPRDL PARAMETERS REQUIRED FOR KEY-IDENTIFIER
- NZ X1,RDM1 IF NO KEY-IDENTIFIER
- SA3 A1+TPMO ADDRESS OF KEY-IDENTIFIER
- SA3 X3 VALUE
- BX7 X3
- SA7 TPKT+THRL+TPMO VALUE OF KEY-IDENTIFIER INTO PACKET
- RDM1 SB2 TPYM INDEX TO PARAMETER LIST FOR KEY-NAME
- RJ CKF CHECK AND TRANSFER KEY INTO PACKET
- NZ X7,RDM3 IF KEY-OFFSET ERRORS
- RDM2 RJ RQS ISSUE *TAF/CRM* REQUEST
- RDM3 RJ RTS TAF-STATUS AND CRM-STATUS RETURNED
- SX7 B6-TPRNF REQUIRED NUMBER OF PARAMETERS
- SA2 TPKT+THRL+TPCS *CRM* STATUS
- NG X7,RDMX IF NOT ENOUGH PARAMETERS
- NZ X2,RDMX IF ERROR RETURN
- RJ LWR LAST WORD OF RECORD AND RECORD LENGTH
- NZ X0,RDM4 IF NOT CALLED BY READN OR READNL
- ZR X7,RDM6 IF END OF PARAMETER LIST
- SA3 TPKT+THRL+TPRNF KEY-STATUS RESULTS
- SA2 A1+TPRNF ADDRESS OF KEY-STATUS FOR READN OR READNL
- BX7 X3 KEY-STATUS
- SA7 X2 SAVE KEY-STATUS
- SX2 B6-TPRNL
- NG X2,RDM6 IF END OF PARAMETER LIST
- SA3 TPKT+THRL+TPLA GET LOCK STATUS
- SA2 A1+TPLA LOCK STATUS ADDRESS
- EQ RDM5 PROCESS LOCK STATUS
- RDM4 SX7 B6-TPRMF REQUIRED PARAMETERS FOR READM
- NG X7,RDMX IF NOT ENOUGH PARAMETERS
- ZR X7,RDM6 IF NOT KEY-STATUS
- SA3 TPKT+THRL+TPMS KEY-STATUS FROM PACKET
- SA2 A1+TPMS ADDRESS OF KEY-STATUS
- BX7 X3 KEY-STATUS
- SA7 X2 SAVE KEY-STATUS
- SX2 B6-TPRML PARAMETERS REQUIRED FOR LOCK STATUS
- NG X2,RDM6 IF END OF PARAMETER LIST
- SA3 TPKT+THRL+TPLC LOCK STATUS
- SA2 A1+TPLC GET LOCK STATUS ADDRESS
- RDM5 BX7 X3
- SA7 X2+
- RDM6 SA2 A1+TPKW KEY-AREA ADDRESS
- RJ RKA RETURN KEY-AREA
- EQ RDMX RETURN
- RKA SPACE 4,15
- ** RKA - RETURN KEY-AREA.
- *
- * ENTRY (TPKT) = RESULTS OF *TAF/CRM* REQUEST.
- * (A1) = POINTER TO PARAMETER LIST.
- * (A2) = POINTER TO KEY-AREA ADDRESS.
- * (X2) = ADDRESS OF KEY-AREA.
- *
- * EXIT KEY-AREA (PRIMARY KEY) PROCESSED.
- *
- * USES X - 1, 2, 3, 7.
- * A - 1, 2, 3.
- * B - 2, 3, 4, 6.
- *
- * CALLS MTS.
- RKA SUBR ENTRY/EXIT
- SA1 A1+TPWS WORKING-STORGE-ADDRESS (WSA)
- SB2 X1 ADDRESS OF WSA
- SB3 X2 ADDRESS OF KEY-AREA
- EQ B2,B3,RKAX IF SAME ADDRESS RETURN
- SX1 TCHL LENGTH OF WORD IN CHARACTERS
- SA3 TPKT+THRL+TPRL RECORD LENGTH FROM PACKET
- SA2 A2+B1 KEY-AREA-LENGTH ADDRESS
- SA2 X2 VALUE
- SX7 X1-1 LENGTH OF WORD MINUS ONE (1)
- SB4 X2+ LENGTH OF KEY-AREA IN CHARACTERS
- GT B3,B2,RKA1 IF KEY-AREA ADDRESS IS BELOW WSA
- * KEY-AREA ADDRESS IS ABOVE WORKING-STORAGE ADDRESS.
- IX2 X2+X7 ROUND UP CHARACTERS
- IX2 X2/X1 CHANGE CHARACTERS TO WORDS
- SB6 X2+B3 KEY-AREA ADDRESS PLUS KEY-AREA-LENGTH
- SB6 B6-1 ADJUST FOR INDEX
- LT B6,B2,RKA2 IF KEY-AREA DOES NOT GO INTO RECORD
- SX1 TCHL LENGTH OF WORD IN CHARACTERS
- SX3 B2-B3 DIFFERENCE IN KEY-AREA AND WSA
- IX3 X3*X1 NUMBER OF CHARACTERS
- SB4 X3+ ADJUSTED KEY-LENGTH
- EQ RKA2 GO MOVE PART OF KEY
- * KEY-AREA ADDRESS IS BELOW WORKING-STORAGE ADDRESS.
- RKA1 IX3 X3+X7 ROUND UP CHARACTERS OF RECORD LENGTH
- IX3 X3/X1 NUMBER OF WORD
- SB6 X3 NUMBER OF WORD MINUS ONE (1)
- SB6 B2+B6 END OF RECORD AREA
- SB6 B6-B1 ADJUST ADDRESS
- LE B3,B6,RKAX IF KEY-AREA IS IN RECORD AREA
- RKA2 SB2 B1 STARTING POSITION
- SA2 B3 KEY-AREA ADDRESS
- SA1 TKEY KEY-AREA IN PACKET
- RJ MTS TRANSFER KEY TO KEY-AREA
- EQ RKAX RETURN
- RTS SPACE 4,20
- ** RTS - RETURN STATUS CODES.
- *
- * ENTRY (TPKT+2) = TAF STATUS RETURNED.
- * (A1) = POINTER TO PARAMETER LIST.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- * (B6) = NUMBER OF PARAMETERS.
- *
- * EXIT *TAF* AND *CRM* STATUS SET IN PROGRAM.
- * (A1) = POINTER TO ADDRESS LIST.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * USES X - 1, 2, 3, 6.
- * A - 1, 2, 3, 6.
- *
- * MACROS MESSAGE.
- *
- * CALLS COD, RTT, SNM.
- RTS SUBR ENTRY/EXIT
- SA1 TPKT+THRL+TPTS VALUE OF TAF-STATUS FROM TAF
- ZR X1,RTS1 IF NO ERROR
- RJ RTT TAF-STATUS CODE
- RTS1 SA1 TPKT+THRL+TPCS VALUE OF CRM-STATUS FROM AAMI
- ZR X1,RTS2 IF STATUS OF ZERO
- RJ COD CONVERT ERROR CODE TO DISPLAY
- MX3 24 MASK FOR ERROR CODE
- SB2 1RX REPLACEMENT CHARACTER
- BX1 X3*X4 ERROR CODE
- SB3 RTCB ASSEMBLY AREA
- SB5 -RTCA FWA OF MESSAGE
- RJ SNM SET NAME IN MESSAGE
- SA1 TFCD FUNCTION CODE NAME
- SB2 1RY REPLACEMENT CHARACTER
- SB5 RTCB FWA OF MESSAGE
- RJ SNM SET NAME IN MESSAGE
- MESSAGE RTCB,0,R
- RTS2 SA1 TSA1 RESTORE ADDRESS TO PARAMETER LIST
- SA1 X1+
- LE B6,B1,RTSX IF NOT ENOUGH PARAMETERS
- SA3 TPKT+THRL+TPTS VALUE OF TAF-STATUS FROM AAMI
- SA2 A1+TPTS
- BX6 X3
- SA6 X2 STORE TAF-STATUS
- SX3 B6-TPOPL PARAMETERS FOR *TAF/CRM* STATUS
- NG X3,RTSX IF END OF PARAMETER LIST
- SA2 A1+TPCS ADDRESS OF CRM-STATUS
- SA3 TPKT+THRL+TPCS CRM-STATUS FROM AAMI
- BX6 X3
- SA6 X2
- EQ RTSX RETURN
- RTCA DATA C* TAF/CRM CRM STATUS XXXXB IN FUNCTION YYYYYYY.*
- RTCB BSSZ *+1-RTCA ASSEMBLY AREA FOR *SNM*
- RTT SPACE 4,15
- ** RTT - RETURN TAF-STATUS.
- *
- * ENTRY (X1) - TAF-STATUS FORM *TAF/CRM* REQUEST (TPKT).
- * (RTTB) - LOCATION TO PUT MESSAGE ERROR CODE.
- * (RTTC) - LOCATION TO PUT FUNCTION NAME.
- * (TFCD) - NAME OF FUNCTION.
- *
- * EXIT - ERROR MESSAGE ISSUED TO DAYFILE.
- * (A1) = ADDRESS OF PARAMETER LIST OF CONSECUTIVE
- * WORDS FOLLOWED BY A WORD OF BINARY ZEROS.
- * (X1) = ADDRESS OF FIRST PARAMETER.
- *
- * USES X - 1, 2, 3, 5, 6.
- * A - 1, 2, 3, 6.
- *
- * MACROS MESSAGE, ABORT.
- *
- * CALLS CDD, SNM.
- RTT SUBR ENTRY/EXIT
- SX5 X1-TTENL FATAL ERROR STATUS FROM AAMI
- RJ CDD CONVERT TO DECIMAL DISPLAY CODE
- MX3 24 MASK FOR ERROR CODE
- SB2 1RX REPLACEMENT CHARACTER
- BX1 X3*X4 ERROR CODE
- SB3 RTCB ASSEMBLY AREA
- SB5 -RTTA FWA OF MESSAGE
- RJ SNM SET NAME IN MESSAGE
- SA1 TFCD FUNCTION CODE NAME
- SB2 1RY REPLACEMENT CHARACTER
- SB5 RTCB FWA OF MESSAGE
- RJ SNM SET NAME IN MESSAGE
- MESSAGE RTCB,0,R
- SA1 TSA1 RESTORE PARAMETER LIST ADDRESS
- SA1 X1+
- NG X5,RTTX IF NOT A FATAL ERROR
- ABORT ABORT DUE TO FATAL *TAF/CRM* ERRORS
- RTTA DATA C* TAF/CRM TAF STATUS XXXX IN FUNCTION YYYYYYY.*
- RQS SPACE 4,20
- ** RQS - REQUEST *TAF/CRM* SUBSYSTEM.
- *
- * ENTRY (RQSA) = HEADER WORD ONE.
- * (RQSB) = HEADER WORD TWO.
- * (TPKT) = FUNCTION PARAMETERS.
- *
- * EXIT (TPKT) = RESULTS FROM *TAF/CRM*.
- *
- * USES X - 1, 2, 6, 7.
- * A - 1, 2, 6, 7.
- * B - 4.
- *
- * MACROS CALLSS, ABORT, MESSAGE, RECALL.
- RQS SUBR ENTRY/EXIT
- RQS1 SA1 RQSA FIRST WORD OF HEADER
- SA2 RQSB SECOND HEADER WORD FOR *TAF/CRM*
- BX7 X1
- BX6 X2
- SA7 TPKT FIRST WORD OF PACKET AREA
- SA6 A7+B1 *UPC* INTERFACE WORD
- CALLSS /SSD/TRSI,TPKT,R *UCP* CALL TO TAF VIA MONITOR
- RQS2 SA1 A7 CHECK FOR RESPONSE
- LX1 59-0 RESPONSE IN BIT (0)
- NG X1,RQS3 IF CALL TO *TAF/CRM* COMPLETE
- RECALL
- EQ RQS2 IF COMPLETE NOT SET
- RQS3 SX2 7776B MASK FOR ERRORS
- LX1 0-0-59+0 SHIFT RESPONSE
- SB4 B0 TABLE INCREMENT COUNT TO ZERO
- BX2 X1*X2
- ZR X2,RQS5 IF NO ERRORS
- RQS4 SA1 RQSS+B4 SUBSYSTEM ERROR CODES
- SX7 X1
- IX7 X2-X7 SUBTRACT CODES
- SB4 B4+1 INCREMENT TABLE INDEX
- ZR X7,RQS7 IF MATCH OF ERROR CODES
- ZR X1,RQS11 IF END OF TABLE
- EQ RQS4 LOOK AT NEXT
- RQS5 SA1 TPKT+1 LOOK AT SECOND WORD OF HEADER FOR ERRORS
- MX2 -12 MASK FOR ERROR CODES
- BX2 -X2*X1 MASK OFF RESPONSE
- ZR X2,RQS1 IF NO RESPONSE
- RQS6 SA1 RQST+B4 LOOK AT ALL ERROR CODES
- SX7 X1
- IX7 X7-X2 SUBTRACT OFF ERROR CODES
- SB4 B4+1 INCREMENT TABLE INDEX
- ZR X7,RQS7 IF MATCH OF ERROR CODES
- ZR X2,RQS11 IF NO MATCH OF ERROR CODES
- EQ RQS6 GET NEXT ERROR CODE
- RQS7 LX1 17-59 SHIFT ADDRESS OF MESSAGE
- SX2 X1 ADDRESS OF MESSAGE
- LX1 17-41-17+59 ADDRESS OF ROUTINE
- SB4 X1
- ZR X2,RQS8 IF NOT ERROR MESSAGE
- MX7 -6 MASK FOR DISPLAY DAYFILE
- LX1 5-23-17+41 SHIFT DISPLAY MESSAGE AREA
- BX7 -X7*X1 MASK OFF DISPLAY VALUE
- MESSAGE X2,X7,R ISSUE ERROR MESSAGE
- RQS8 SA1 TSA1 RESTORE TO PARAMETER LIST ADDRESS
- SA1 X1+
- JP B4 GO TO ROUTINE FOR PROCESSING
- RQS9 SA1 0 LOCATION ZERO OF *CP* RA+0
- SX7 1
- LX7 12-0 SHIFT *PAUSE* BIT
- BX7 X1+X7
- SA7 0 SET IN RA+0
- RQS10 RECALL RECALL BEFOR RETRY
- SA1 B0 RA+0
- LX1 59-12 SHIFT TO POSITION FOR TEST
- NG X1,RQS10 IF *PAUSE* BIT NOT CLEARED
- EQ RQS1 *GO* ENTERED REISSUE REQUEST
- RQS11 MESSAGE RQML,0,R TAF ERROR NOT DEFINED
- RQS12 ABORT TERMINATE PROCESSING
- RQSA VFD 24/0LTAF,12/0,6/40,4/0,2/3,11/0,1/0
- RQSB BSSZ 1 SECOND WORD OF HEADER
- * ERROR MESSAGES FOR *RQS* FROM *TAF/CRM*.
- RQST EQU * SECOND HEADER WORD ERROR CODE
- FCTM ,RQSX,,JSRC REQUEST COMPLETE
- FCTM RQMA,RQS9,0,JSNU *TAF* SUBSYSTEM NOT UP
- FCTM RQMB,RQS1,1,JSTB *TAF* SUBSYSTEM BUSY
- FCTM RQMJ,RQS12,0,JSND SUBSYSTEM NOT DEFINED AS *SCP*
- FCTM RQMI,RQS9,0,JSTI *TAF* DEFINED - *TAF* IDLE
- FCTM RQMD,RQS12,0,JSNV USER NOT VALID FOR *TAF* ACCESS
- FCTM RQME,RQS12,0,JSUA USER NAME ACTIVE
- FCTM RQMK,RQS12,0,JSAT CONFLICT IN ACCESS TYPE
- FCTM RQMG,RQS12,0,JSFL DATA NOT WITHIN *UCP* FL
- FCTM RQMF,RQS12,0,JSOR TWO OUTSTANDING REQUEST
- FCTM RQMC,RQS12,0,JSFC *TAF* FUNCTION CODE NOT VALID
- FCTM RQMM,RQS12,0,JSRE RECOVERY REQUEST ERROR
- FCTM RQMN,RQS12,0,JSDC BATCH CONCURRENCY DISABLED
- FCTM RQMO,RQS12,0,JSNC TAF/CRM DATA MANAGER NOT IN TAF
- CON 0 END OF LIST
- RQSS EQU * FIRST HEADER WORD ERROR CODES
- FCTM RQMA,RQS9,0,/SCP/ES1 SUBSYSTEM NOT PRESENT
- FCTM RQMB,RQS1,1,/SCP/ES2 SUBSYSTEM BUSY
- FCTM RQMJ,RQS12,0,/SCP/ES3 SSID INCORRECT
- CON 0 END OF LIST
- RQMA DATA C* TAF NOT PRESENT (GO OR DROP).*
- RQMB DATA C* TAF SUBSYSTEM BUSY. *
- RQMC DATA C* TAF FUNCTION CODE NOT VALID.*
- RQMD DATA C* TAF USER NOT VALID FOR TAF ACCESS.*
- RQME DATA C* TAF USER NAME ACTIVE.*
- RQMF DATA C* TAF TWO OUTSTANDING REQUESTS.*
- RQMG DATA C* TAF DATA NOT WITHIN UCP FL.*
- RQMI DATA C* TAF IDLE (GO OR DROP).*
- RQMJ DATA C* TAF SUBSYSTEM NOT DEFINED AS A SCP.*
- RQMK DATA C* TAF USER CONFLICT IN ACCESS TYPE.*
- RQML DATA C* TAF ERROR CODE NOT DEFINED.*
- RQMM DATA C* TAF RECOVERY REQUEST ERROR.*
- RQMN DATA C* BATCH CONCURRENCY DISABLED.*
- RQMO DATA C* TAF/CRM DATA MANAGER NOT LOADED IN TAF.*
- SKP SPACE 4,15
- ** SKP - SKIP FUNCTION PROCESSOR.
- *
- * ENTRY (B2) = NUMBER OF PARAMETERS.
- * (X7) = SUB-FUNCTION CODE.
- *
- * EXIT FUNCTION COMPETED AND STATUS RETURNED.
- *
- * USES X - 2, 7.
- * A - 2, 7.
- * B - 2.
- *
- * CALLS PRT, RQS, RTS.
- SKP SUBR ENTRY/EXIT
- RJ PRT PRESET
- SB2 TPSBL NUMBER OF PARAMETERS
- LT B6,B2,SKP1 IF NOT ENOUGH PARAMETERS
- SA2 A1+TPCT COUNT ADDRESS
- SA2 X2 VALUE OF COUNT
- BX7 X2
- SA7 TPKT+THRL+TPCT PUT COUNT IN PACKET
- SKP1 RJ RQS ISSUE *TAF/CRM* REQUEST
- RJ RTS TAF-STATUS AND CRM-STATUS RETURNED
- EQ SKPX RETURN
- WRR SPACE 4,15
- ** WRR - WRITE AND REWRITE A RECORD.
- *
- * ENTRY (B2) - MAXIMUM NUMBER OF PARAMETERS.
- * (X7) - FUNCTION CODE.
- *
- * EXIT FUNCTION COMPLETED AND STATUS RETURNED.
- *
- * USES X - 1, 2, 3, 7.
- * A - 1, 2, 3, 7.
- * B - 2, 4.
- *
- * CALLS CKF, MTS, PRT, RQS, RTS.
- WRR SUBR ENTRY/EXIT
- RJ PRT PRESET
- SB2 TPWRF PARAMETERS NEEDED
- LT B6,B2,WRR2 IF NOT ENOUGH PARAMETERS
- SA3 A1+TPWR ADDRESS OF RECORD LENGTH
- SA2 A1+TPWS ADDRESS OF WSA-NAME
- SX7 X2
- SA3 X3 VALUE OF RECORD LENGTH
- SA7 TPKT+THRL+TPWS STORE ADDRESS INTO PACKET
- BX7 X3
- SB4 TPWRL NUMBER OF PARAMETERS NEEDED FOR KEY-AREA
- SA7 TPKT+THRL+TPWR RECORD LENGTH INTO PACKET
- EQ B6,B2,WRR1 IF END OF PARAMETER LIST
- LT B6,B4,WRR1 IF NO KEY-AREA AND KEY-AREA-LENGTH
- SA3 A1+TPWY ADDRESS OF KEY-AREA-LENGTH
- SA2 A1+TPWX ADDRESS OF KEY-AREA
- SX7 X2 ADDRESS OF KEY-AREA
- SA3 X3 VALUE OF KEY-AREA-LENGTH
- SA7 TPKT+THRL+TPWX KEY-AREA ADDRESS INTO PACKET
- BX7 X3
- SA7 TPKT+THRL+TPWY KEY-AREA-LENGTH INTO PACKET
- WRR1 SB2 TPWK PARAMETER POSITION OF KEY-AREA
- SB4 0 SET NO MAJOR KEY
- RJ CKF CHECK AND TRANSFER KEY INTO PACKET
- NZ X7,WRR3 IF KEY-POSITION ERRORS
- WRR2 RJ RQS ISSUE *TAF/CRM* REQUEST
- WRR3 RJ RTS TAF-STATUS AND CRM-STATUS RETURNED
- SA2 TPKT+THRL+TPCS *TAF/CRM* STATUS
- NZ X2,WRRX IF ERROR
- SB2 TPRWL MINIMUM NUMBER OF PARAMETERS
- LE B6,B2,WRRX IF NO KEY-AREA AND KEY-AREA-LENGTH
- SA3 A1+TPWY ADDRESS OF KEY-AREA-LENGTH
- SA2 A1+TPWX ADDRESS OF KEY-AREA
- SA3 X3 VALUE OF KEY-AREA-LENGTH
- SB2 B1 KEY-POSITION
- SA2 X2 ADDRESS OF KEY-AREA
- SB4 X3 NUMBERS OF CHARACTERS TO MOVE
- SA1 TKEY ADDRESS OF KEY IN PACKET
- RJ MTS MOVE KEY TO KEY-AREA
- EQ WRRX RETURN
- COMMON SPACE 4,10
- ** COMMON DECKS.
- *CALL COMCSYS
- *CALL COMCCDD
- *CALL COMCCOD
- *CALL COMCSNM
- COMMON SPACE 4,65
- ** COMMON WORK STORAGE.
- *
- *T W+0 24/ RSS, 12/ RIN, 6/ WC, 4/ RCD, 2/ R, 11/ ES, 1/ C
- *
- * RSS = RESERVED FOR *TAF* USE; = THE CHARACTERS "TAF".
- * RIN = RESERVED FOR INSTALLATION.
- * WC = WORD COUNT (COUNT-1) OF REQUEST PACKET.
- * RCD = RESERVED FOR OPERATING SYSTEM.
- * R = RETURN CODE.
- * ES = ERROR STATUS.
- * C = COMPLETE BIT, SET TO ZERO (0) BY OBJECT-TIME
- * PRIOR TO FUNCTION OR MACRO CALL.
- *
- *T, W+1 6/ FC, 18/ ADDR, 6/ AC, 30/ 0
- *
- * FC = *TAF/CRM* FUNCTION CODE
- * ADDR = ADDRESS WITHIN THE CALLING OBJECT-TIME, WHERE
- * *TAF* IS TO WRITE THE RESPONSE PACKET.
- * AC = PARAMETER COUNT (NUMBER OF PARAMETER PASSED).
- *
- * W+2 6O/ FILE NAME OR UBEGIN-ID FOR REQUEST
- * TAF-STATUS FOR DBCOMIT/DBSTAT/DBFREE REQUEST
- *
- *
- * W+3 60/ TAF-STATUS
- *
- * W+4 60/ KEY-NAME FOR SKIP REQUEST OR CRM-STATUS
- *
- * W+5 60/ COUNT FOR SKIP REQUEST OR
- * KEY-NAME FOR DELETE REQUEST OR
- * KEY-OFFSET FOR LOCK REQUEST OR
- * WSA-NAME
- *
- * W+6 60/ KEY-OFFSET FOR DELETE REQUEST OR
- * RECORD LENGTH FOR WRITE REQUEST OR
- * WSA-LENGTH
- *
- * W+7 60/ KEY-NAME FOR WRITE REQUEST OR
- * RECORD LENGTH
- *
- * W+10 60/ KEY-AREA FOR READM/READN/READNL REQUEST OR
- * KEY-NAME
- *
- * W+11 60/ KEY-AREA-LENGTH FOR READM REQUEST OR
- * KEY-AREA-LENGTH FOR READN REQUEST OR
- * KEY-AREA-LENGTH FOR READNL REQUEST OR
- * KEY-OFFSET
- *
- * W+12 60/ KEY-NAME FOR READM REQUEST
- * MAJOR-KEY-LENGTH FOR START
- * KEY-AREA-LENGTH FOR WRITE
- * KEY-STATUS
- *
- * W+13 60/ KEY-OFFSET FOR READM REQUEST OR
- * KEY-IDENTIFIER FOR READ/READL REQUEST OR
- * LOCK STATUS FOR READN
- *
- * W+14 60/ MAJOR-KEY-LENGTH FOR READM REQUEST OR
- * KEY-AREA FOR READ/READL REQUEST
- *
- * W+15 60/ KEY-STATUS FOR READM REQUEST OR
- * KEY-AREA-LENGTH FOR READ/READL REQUEST
- *
- * W+16 60/ KEY-IDENTIFIER FOR READM REQUEST OR
- * LOCK STATUS FOR READ
- *
- * W+17 60/ LOCK STATUS FOR READM
- *
- * W+20 60/ KEY
- *
- *
- *
- *
- * W+52
- USE BUFFERS
- BUFA BSS 0 STARTING ADDRESS OF LITERAL AREA
- BEGIN BSSN BUFA START OF BUFFER AREA
- TNPR BSSN 1 MAXIMUM NUMBER OF PARAMETER FOR FUNCTION
- TFCD BSSN 1 NAME OF CALLING FUNCTION
- TSA1 BSSN 1 PARAMETER LIST ADDRESS
- TPKT BSSN 43 PACKET TO AND FROM *TAF/CRM*
- TKST EQU TPKT+THRL+TPSF KEY STATUS FOR PACKET AREA
- TKEY EQU TPKT+16 KEY AREA OF REQUEST PACKET
- BUFE BSSN 0 END OF BUFFER AREA
- END BSSN
- ORG BUFE
- END
cdc/nos2.source/opl871/baaml.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator