@X @~
~L3 COUK1247
80
~V7 56 2 -5
~D10
~H                       MUSS
~
~
~D10
~HCONLIB 31
~D10
~MMANCHESTER UNIVERSITY  -  CONFIDENTIAL~
~
~
                                                          ISSUE 11~
~V9 -1
~P
~V9 1
~YCONLIB31
~X%|
~S1~M~OAP3 IMPLEMENTATION DESCRIPTION~
~S1~M~OLibrary Configuration  Version 1~
~S1~OLibrary Configuration - VAX11/750 Manchester University~
~S1~O1. Compile Jobs
~S~O1.1 L2X Compile for paged machines~
~
~OFiles produced~
~
List of files~
L2X<machine no.>  L2X<machine no.>00~
~
::BEGIN COMPL2X\~
DO 0 L2X\LOG %200 64~
ED MU6S:LIB022~
(FD/::X ONLY /)~
EED~
(FC/::OMIT THIS SEQUENCE FROM XCOMPILE/S/::END OF SEQUENCE/S+1)~
EED~
(FD/::HOST VAX /)E                 *FOR MC3*~
(FD/::HOST PTV /)E                 *FOR MC5*~
ED~
(FD/::TARGET VAX/)E~
FLIP 0 1~
LIB02A~
**DI 4 0~
MUSL %0 L2X\ %705                  *FOR MC5*~
MUSL %0 L2X\ %405                  *FOR MC3*~
*TLMODE %101 0;~
*INFORM %2400;~
**TLSEG 0 %0 %6C0000 -1 0          *FOR MC5*~
**TLSEG 1 %10000 %640000 -2 0      *FOR MC5*~
**TLSEG 0 %0 %330000 -1 0          *FOR MC3*~
**TLSEG 1 %10000 %340000 -2 0      *FOR MC3*~
**TLSEG 2 %0 %0 -3 0~
*TLLOAD 1 9;~
*TLLOAD 2 2;~
**SELECTINPUT 4
ENDINPUT 4~
FLIP MU6C:MTL21\ 1~
MTL21A~
**DI 4 0~
MUSL 0 0 %B00                      *FOR MC5*~
MUSL 0 0 %800                      *FOR MC3*~
*INFORM %2400;~
**SELECTINPUT 4~
STOP~
::END COMPL2X\~
~S~O1.2 Library Compile for paged machines~
::BEGIN COMPLIB\?~
DO 0 LIB\?LOG %200 200~
OPENDIR MUSMS MSUM
LIB MUSM:MTLX\~
LIB MUSM:MSLX~
LIB MUSM:L2X\~
LIB MUSM:DIR1\?~
MUSL %0 HLDIR\ %27                                       ~
**TLSEG 0 %0 %7FE00000 %F(8) 0                            *FOR MC3*~
**TLSEG 0 %0 %680000 %F(8) 0                              *FOR MC5*~
MODULE(PDUMMY);                                           ~
LSPEC PDUMMY(ADDR[$LO8],ADDR[$LO8],INTEGER,INTEGER);      ~
PROC PDUMMY(P1,P2,P3,P4);                                 ~
END                                                       ~
*END                                                      ~
MUSL %0 COMPDIR\ %27                                     ~
**TLSEG 0 %0 %7FE70000 %F(8) 0                            *FOR MC3*~
**TLSEG 0 %0 %6C0000 %F(8) 0                              *FOR MC5*~
MODULE(FDUMMY);                                           ~
LSPEC FDUMMY(ADDR[$LO8],ADDR[$LO8],ADDR[$LO8],INTEGER);      ~
PROC FDUMMY(P1,P2,P3,P4);                                 ~
END                                                       ~
*END                                                      ~
MERGEDIR HLDIR\ COMPDIR\ HLDIR\                           ~
FLIP MU6S:CONLIB52 1                                      *FOR MC5*~
FLIP MU6S:CONLIB31 1                            *FOR MC3*~
CONLIB~
**DI 4 0~
MUSL %0 BLIB\? %70F 256                                   *FOR MC5*~
MUSL %0 BLIB\? %427 256                                       *FOR MC3*~
*INFORM %2400;~
**TLSEG 0 %10000 %8C0000 -1 0                        *FOR MC5*~
**TLSEG 2 %100 %0 -3 0                                    *FOR MC5*~
**TLSEG 6 %4000 %7C0000 -3 0                             *FOR MC5*~
**TLSEG 0 %10000 %7FFB0000 -1 0                          *FOR MC3*~
**TLSEG 2 %0 %0 -3 0                                       *FOR MC3*~
**TLSEG 6 %4000 %3F0000 -3 0                          *FOR MC3*~
*TLLOAD 2 22; ::PW0 ETC~
*TLLOAD 0 27; ::SUBLIB~
*TLLOAD 6 9; :: LIB DATA~
*TLLOAD 0 18; :: USER MANAGEMENT CODE                     *FOR MC5*~
**SELECTINPUT 4~
ENDINPUT 4~
FLIP MU6S:SUP011 1~
SUP01~
**DI 4 0~
MUSL %0 %0 %F00                                           *FOR MC5*~
MUSL %0 %0 %C00                                               *FOR MC3*~
**SELECTINPUT 4~
ENDINPUT 4~
FLIP MU6S:SUP021 1~
SUP02~
**DI 4 0~
MUSL %0 %0 %F00                                           *FOR MC5*~
MUSL %0 %0 %C00                                               *FOR MC3*~
**SELECTINPUT 4~
ENDINPUT 4~
FLIP MU6S:LIB011 1~
LIB01~
**DI 4 0~
MUSL %0 %0 %F00                                           *FOR MC5*~
MUSL %0 %0 %C00                                               *FOR MC3*~
**SELECTINPUT 4~
ENDINPUT 4~
FLIP MU6S:LIB031 1~
LIB03~
**DI 4 0~
MUSL %0 %0 %F00                                           *FOR MC5*~
MUSL %0 %0 %C00                                               *FOR MC3*~
**SELECTINPUT 4~
ENDINPUT 4~
FLIP MU6S:LIB042A 1~
LIB04~
**DI 4 0~
MUSL %0 %0 %F00                                           *FOR MC5*~
MUSL %0 %0 %C00                                               *FOR MC3*~
**SELECTINPUT 4~
ENDINPUT 4~
FLIP MU6S:LIB051 1~
LIB05~
**DI 4 0~
MUSL %0 %0 %F00                                           *FOR MC5*~
MUSL %0 %0 %C00                                               *FOR MC3*~
**SELECTINPUT 4~
ENDINPUT 4~
FLIP MU6S:LIB061 1~
LIB06~
**DI 4 0~
MUSL %0 %0 %F00                                           *FOR MC5*~
MUSL %0 %0 %C00                                               *FOR MC3*~
**SELECTINPUT 4~
ENDINPUT 4~
FLIP MU6S:LIB071 1~
LIB07~
**DI 4 0~
MUSL %0 %0 %F00                                           *FOR MC5*~
MUSL %0 %0 %C00                                               *FOR MC3*~
**TLMODE %101~
**SELECTINPUT 4~
**TLMODE %100~
ENDINPUT 4~
FLIP MU6S:LIB081 1~
LIB08~
**DI 4 0~
MUSL %0 %0 %F00                                           *FOR MC5*~
MUSL %0 %0 %C00                                               *FOR MC3*~
**SELECTINPUT 4~
ENDINPUT 4~
FLIP MU6S:LIB091 1~
LIB09~
**DI 4~
MUSL %0 %0 %C00~
**SELECTINPUT 4~
ENDINPUT 4~
ED MU6S:LIB101~
(FD/::PTV /)                                          *FOR MC5*~
(FD/::MU6 /)                                        *FOR MC7*~
(FD/::RTV /)                                    *FOR MCZ*~
(FD/::VAX /)                                                 *FOR MC3*~
E~
FLIP 0 1~
LIB10~
**DI 4~
MUSL %0 %0 %F00                                           *FOR MC5*~
MUSL %0 %0 %C00                                               *FOR MC3*~
**TLMODE %101~
**SELECTINPUT 4~
**TLMODE %100~
ENDINPUT 4~
FLIP MU6S:LIB022 1~
LIB02~
**DI 4 0~
MUSL %0 %0 %F00                                           *FOR MC5*~
MUSL %0 %0 %C00                                               *FOR MC3*~
**TLMODE %101~
**SELECTINPUT 4~
**TLMODE %100~
ENDINPUT 4~
FLIP MU6C:MTL21\ 1~
MTL21~
**DI 4~
MUSL %0 %0 %F00                                           *FOR MC5*~
MUSL %0 %0 %C20                                               *FOR MC3*~
**SELECTINPUT 4~
ENDINPUT 4~
DEL
LIB HLDIR\                                                ~
MUSL %0 %0 %800                                           ~
**TLMODE %101                                             ~
PSPEC LIBRARY (ADDR[$LO8], INTEGER);                      ~
PSPEC RELEASE.LIB (ADDR[$LO8]);                           ~
MODULE (FORTRAN, PASCAL);                                 ~
LSPEC FORTRAN (ADDR[$LO8], ADDR[$LO8], ADDR[$LO8], INTEGER); ~
LSPEC PASCAL (ADDR[$LO8], ADDR[$LO8], INTEGER, INTEGER);  ~
PROC FORTRAN (P1, P2, P3, P4);                            ~
DATAVEC FTN($LO8)                                         ~
"UTIL:FORTRAN"~
END;                                                      ~
DATAVEC FIO($LO8)~
"UTIL:FIO"~
END;~
RELEASE.LIB(^FIO);~
RELEASE.LIB(^FTN);                                        ~
LIBRARY(^FIO, 6);                                       *FOR MC3*~
LIBRARY(^FIO, 0);                                       *FOR MC5*
LIBRARY(^FTN,0);                                          *FOR MC5*~
FDUMMY(P1, P2, P3, P4);                                   ~
RELEASE.LIB(^FTN);                                        *FOR MC5*~
RELEASE.LIB(^FIO);                                             *FOR MC3*~
END                                                       ~
PROC PASCAL (P1, P2, P3, P4);                             ~
DATAVEC PAS($LO8)                                         ~
"UTIL:PASCAL"                                             ~
END;                                                      ~
RELEASE.LIB(^PAS);                                        *FOR MC5*~
LIBRARY (^PAS, 0);                                        *FOR MC5*~
PDUMMY (P1, P2, P3, P4);                                  ~
RELEASE.LIB(^PAS);                                        *FOR MC5*~
END                                                       ~
*END                                                      ~
RELEASELIB MUSM:DIR1\?~
CF MUSM:DIR1\? DIR1\?~
MERGEDIR DIR1\? BLIB\? DIR2\?~
DEL
MUSL %0 COMPDIR\ %327                                     *FOR MC5*~
MUSL %0 COMPDIR\ %27                                          *FOR MC3*~
**TLSEG 0 %0 %D40000 %F(8) 0                              *FOR MC5*~
**TLSEG 0 %0 %7FE60000 %F(8) 0                                *FOR MC3*~
MODULE (MUSL);~
LSPEC MUSL(ADDR[$LO8],ADDR[$LO8],$IN,$IN);~
PROC MUSL(P1,P2,P3,P4);~
END~
*END~
MERGEDIR DIR2\? COMPDIR\ DIR2\?~
MUSL %0 COMPDIR\ %27                                          *FOR MC3*~
**TLSEG 0 %0 %7FE70000 %F(8) 0                                *FOR MC3*~
MODULE(FORTRAN);                                              *FOR MC3*~
LSPEC FORTRAN(ADDR[$LO8],ADDR[$LO8],INTEGER,INTEGER);         *FOR MC3*
PROC FORTRAN(P1,P2,P3,P4);                                    *FOR MC3*~
END                                                           *FOR MC3*~
*END                                                          *FOR MC3*~
MERGEDIR DIR2\? COMPDIR\ DIR2\?                               *FOR MC3*~
MUSL %0 COMPDIR\ %327                                     *FOR MC5*~
MUSL %0 COMPDIR\ %27                                          *FOR MC3*~
**TLSEG 0 %0 %EC0000 %F(8) 0                              *FOR MC5*~
**TLSEG 0 %0 %7FE30000 %F(8) 0                                *FOR MC3*~
MODULE (INBOOL, OUTBOOL, INSTRING, OUTSTRING, OUTINT, REMOVE.HEAP, MAKE.HEAP,
   INIT.PIO, SETELEM, P.STR.TRUNC, ADD.BOUND,~
   COMPLEMENT, P.GET, SETOP, SETRANGE, MOVEARRAY, COMPARRAY, P.CLOSE.FILE);~
TYPE SET IS LOGICAL64 SET1, SET2;~
LSPEC INBOOL()/$IN;~
LSPEC OUTBOOL($LO8,$IN);~
LSPEC INSTRING(ADDR [$LO8],$IN);~
LSPEC OUTSTRING(ADDR [$LO8],$IN);~
LSPEC OUTINT($IN,$IN);~
LSPEC REMOVE.HEAP($IN,$IN);~
LSPEC MAKE.HEAP($IN,$IN,$IN);~
LSPEC INIT.PIO();~
LSPEC SETELEM(INTEGER);~
LSPEC P.STR.TRUNC(ADDR[$LO8])/ADDR[$LO8];~
LSPEC ADD.BOUND (ADDR LOGICAL8, INTEGER) / ADDR [LOGICAL8];~
LSPEC COMPLEMENT (SET);~
LSPEC PGET (ADDR $IN);~
LSPEC SETRANGE ($IN, $IN);~
LSPEC SETOP (SET, SET, $IN);~
LSPEC MOVEARRAY (ADDR[$LO8], ADDR[$LO8], $IN);~
LSPEC COMPARRAY (ADDR[$LO8], ADDR[$LO8], $IN)/$IN;~
LSPEC P.CLOSE.FILE (ADDR $IN, $IN, $IN, $IN);~
PROC INBOOL;~
END~
PROC OUTBOOL(P1,P2);~
END~
PROC INSTRING(P1,P2);~
END~
PROC OUTSTRING(P1,P2);~
END~
PROC OUTINT(P1,P2);~
END~
PROC REMOVE.HEAP(P1,P2);~
END~
PROC MAKE.HEAP(P1,P2,P3);~
END~
PROC INITPIO;~
END~
PROC SETELEM (P1);~
END~
PROC P.STR.TRUNC(P1);~
END~
PROC ADD.BOUND(P1, P2);~
END~
PROC COMPLEMENT(P1);~
END~
PROC PGET(P1);~
END~
PROC SETRANGE (P1,P2);~
END~
PROC SETOP(P1,P2,P3);~
END~
PROC MOVEARRAY(P1,P2,P3);~
END~
PROC COMPARRAY (P1,P2,P3);~
END~
PROC P.CLOSE.FILE (P1,P2,P3,P4);~
END~
*END~
MERGEDIR DIR2\? COMPDIR\ DIR2\?~
MUSL %0 COMPDIR\ %327                                         *FOR MC5*~
MUSL %0 COMPDIR\ %27                                              *FOR MC3*~
**TLSEG 0 %0 %E80000 %F(8) 0                                  *FOR MC5*~
**TLSEG 0 %0 %7FE90000 %F(8) 0                                    *FOR MC3*~
MODULE(LIST, CONTINUE);~
LSPEC CONTINUE();~
LSPEC LIST(ADDR[$LO8], ADDR[$LO8]);~
PROC CONTINUE;~
END~
PROC LIST(P1,P2);~
END~
*END~
MERGEDIR DIR2\? COMPDIR\ DIR2\?~
CF DIR2\? MUSM:DIR2\?~
DEL COMPDIR\~
DEL HLDIR\                                 *FOR MC5*~
STOP~
::END COMPLIB\?~
~S~O1.3 BASIC UTILITIES COMPILE~
::BEGIN COMPUTL\? FOR PAGED MACHINES~
DO 0 UTL\?LOG %200 64~
OPENDIR MUSMS MSUM~
LIB MUSM:MTLX\~
LIB MUSM:MSLX~
LIB MUSM:L2X\~
LIB MUSM:DIR2\?~
MUSL 0 BUTL\? %705 16                    *FOR MC5*~
MUSL 0 BUTL\? %405 16                  *FOR MC3*~
**TLSEG 0 %0 %D80000 %F(8) 0            *FOR MC5*~
**TLSEG 0 %0 %7FDA0000 %F(8) 0           *FOR MC3*~
**TLSEG 1 %0  0 %F(7)D 0~
**TLSEG 2 %4000 %7C4000 %F(7)D 0        *FOR MC5*~
**TLSEG 2 %4000 %3F4000 %F(7)D 0               *FOR MC3*~
**TLLOAD 1 5~
**TLLOAD 2 9~
*INFORM %2400;~
MODULE(SYS14XSEG.SIZE,SYS14SEG.SIZE,SYS14PAGE.SHIFT,SYS14PAGE.SIZE,~
SYS17NO.OF.RESOURCES,SYS17NO.OF.USER.PARAMS,SYS17NO.OF.CONSUMABLES,~
SYS17NO.OF.REUSABLES);~
$LI SYS14XSEG.SIZE=%4000,SYS14SEG.SIZE=%10000,SYS14PAGE.SIZE=512; *FOR MC3*~
$LI SYS14PAGE.SHIFT=9;          *FOR MC3*~
$LI SYS14XSEG.SIZE=256,SYS14SEG.SIZE=%40000,SYS14PAGE.SIZE=1024; *FOR MC5*~
$LI SYS14PAGE.SHIFT=10;          *FOR MC5*~
$LI SYS17NO.OF.RESOURCES=5,SYS17NO.OF.USER.PARAMS=7;~
$LI SYS17NO.OF.CONSUMABLES=2,SYS17NO.OF.REUSABLES=3;~
*END~
ED MU6S:EDT041~
(FD/::MU6 /)E~
FLIP 0 1~
EDT04~
**DI 4 0~
MUSL %0 %0 %F00                     *FOR MC5*~
MUSL %0 %0 %C00                         *FOR MC3*~
**SELECTINPUT 4~
ENDINPUT 4~
FLIP MU6S:EDT031 1~
EDT03~
**DI 4 0~
MUSL %0 %0 %F00                 *FOR MC5*~
MUSL %0 %0 %C00                     *FOR MC3*~
**SELECTINPUT 4~
ENDINPUT 4~
FLIP MU6S:LIB111 1~
LIB11~
**DI 4 0~
MUSL %0 %0 %F00            *FOR MC5*~
MUSL %0 %0 %C00                   *FOR MC3*~
**SELECTINPUT 4~
ENDINPUT 4~
FLIP MU6S:LIB121 1~
LIB12~
**DI 4 0~
MUSL %0 %0 %B00                *FOR MC5*~
MUSL %0 %0 %800                    *FOR MC3*~
**SELECTINPUT 4~
ENDINPUT 4~
CF MUSM:DIR2\? DIR2\?~
MERGEDIR DIR2\? BUTL\? DIR3\?~
CF DIR3\? MUSM:DIR3\?~
STOP~
::END COMPUTL~
~Y
~V9 -1
~P
~D15
~HFLOWCHARTS
~
~
~H        CONLIB31
~V9 -1
~F
@TITLE CONLIB(31,10)
@COL 1S-2R-3R-4R-5R-6F
@FLOW 1-2-3-4-5-6
@BOX 1.0
LIBRARY CONFIGURATION MODULE
@BOX 3.0
SPECIFICATION OF CONFIGURATION PARAMETERS
FOR VAX11/750
@BOX 6.0
END
@BOX 1.1
#CONLIB/1
MODULE (PW0, PW1, PW2, PW3, PW4, PW5, PW6, PWW1, PWW2, PWW3, PWW4,
   BYTES.PER.WORD, BITS.PER.WORD, HX.PER.ADDR, HX.PER.INTEGER, STORE.SIZE,
   SYS13.NO.OF.PROCS,
   SYS14.NO.OF.LOCAL.SEGS, SYS14.PAGE.SIZE, SYS14.PAGE.SHIFT, SYS14.PAGE.MASK,
   SYS14.SEG.SIZE, SYS14.SEG.SHIFT, SYS14.X.SEG.SIZE,
   SYS17.NO.OF.RESOURCES, SYS17.NO.OF.USER.PARAMS,
   SYS17.NO.OF.CONSUMABLES, SYS17.NO.OF.REUSABLES,
   SYS21.NO.OF.STATS,
   MAIN.LIB.DIR.SEG, NO.OF.PUBLIC.LIBS, PUBLIC.LIB, PUB.LIB.DIR.SEG,
   INTEGER.PTYPE, LOGICAL.PTYPE, ADDR.PTYPE,
   INTEGER32.PTYPE, LOGICAL32.PTYPE,
   NO.OF.STREAMS, LIB04.NO.OF.STREAMS, MAX.STREAM.NO, LIB04.MAX.STREAM.NO,
   MAX.STREAM.MASK, NO.OF.IO.CONTROL.AREAS, NO.OF.BUFFERS, POSITION.DEFAULT,
   SECTION.DEFAULT, SECT.SIZE.DEFAULT, WAIT.TIME, IO.CONTROL.SEG,
   IO.BUFFER.BLOCK, MAPPED.IO.CONTROL.SEG, LIB04.MAPPED.IO.CONTROL.SEG,
   NO.OF.TRAPS, LIB05.NO.OF.TRAPS, NO.OF.MESSAGE.TYPES, TRAP.MESSAGES, NO.OF.TRA
P.MESSAGES,
   NO.OF.SCRIPTS, STATS.MESSAGES,
   MAPPED.MT.SEG);
@BOX 3.1
*GLOBAL 22;
ADDR PW0, PW1, PW2, PW3, PW4, PW5, PW6;
LOGICAL64 PWW1, PWW2, PWW3, PWW4;
@BOX 4.1
::GENERAL PARAMETERS
LITERAL / INTEGER BYTES.PER.WORD = 4, BITS.PER.WORD = 32, STORE.SIZE = 524288;
LITERAL / INTEGER HX.PER.ADDR = 8, HX.PER.INTEGER = 8;
@BOX 5.1
#CONSYS.SYS
#CONLIB.LIB02
#CONLIB.LIB03
#CONLIB.LIB04
#CONLIB.LIB05
#CONLIB.LIB08
#CONLIB.LIB09
@BOX 6.1
*END
@END



@TITLE CONLIB/1(31,8)
@COL 1S-2R
@FLOW 1-2
@BOX 1.0
OTHER MODULES REFERENCED
@BOX 2.0
SUP01 JOB SUPERVISOR
SUP02 FILE MANAGER
LIB10 SET UP
@BOX 1.1
::EXTERNAL ENVIRONMENT
@BOX 2.1
PSPEC JOB ();
PSPEC FILE.MANAGER ();
PSPEC FILE.MANAGER10 ();
PSPEC SET.UP ();
@END
@TITLE CONLIB.SYS(31,11)

@COL 1S-2R-3R
@FLOW 1-2-3
@BOX 1.0
SYS CONFIGURATION
@BOX 2.0
SYS PARAMETERS
@BOX 3.0
SYS DATAVEC
@BOX 1.1
:: SYS CONFIGURATION
@BOX 2.1
LITERAL / INTEGER SYS13.NO.OF.PROCS = 64;
LITERAL / INTEGER SYS14.NO.OF.LOCAL.SEGS = 64, SYS14.PAGE.SIZE = 512,
   SYS14.PAGE.SHIFT = 9, SYS14.SEG.SIZE = %10000, SYS14.SEG.SHIFT = 16,
   SYS14.X.SEG.SIZE = %1000, SYS14.PAGE.MASK = %1FF;
LITERAL / INTEGER SYS17.NO.OF.CONSUMABLES = 2, SYS17.NO.OF.REUSABLES = 3,
   SYS17.NO.OF.RESOURCES = SYS17.NO.OF.CONSUMABLES + SYS17.NO.OF.REUSABLES;
LITERAL / INTEGER SYS17.NO.OF.USER.PARAMS = SYS17.NO.OF.RESOURCES + SYS17.NO.OF.
CONSUMABLES;
LITERAL / INTEGER SYS21.NO.OF.STATS = 22;
@BOX 3.1
*CODE 9;
*GLOBAL 27;
PSPEC START.PROC ();
DATAVEC SUP.START (ADDR START.PROC)
   JOB
   FILE.MANAGER
   FILE.MANAGER10
END
PSPEC TASK.PROC ();
DATAVEC LIB.TASK.PROCS (ADDR TASK.PROC)
   SET.UP
END
*GLOBAL 22;
*CODE 1;
@END

@TITLE CONLIB.LIB02(31,9)

@COL 1S-2R

@FLOW 1-2

@BOX 1.0
LIB02 CONFIGURATION
@BOX 2.0
LIB02 PARAMETERS
@BOX 1.1
::LIB02 CONFIGURATION
@BOX 2.1
LITERAL / INTEGER NO.OF.PUBLIC.LIBS = 2, MAIN.LIB.DIR.SEG = 32754;
*CODE 9;
*GLOBAL 27;
DATAVEC PUBLIC.LIB (LOGICAL64)
 "MFN"
 "FIO"
END
DATAVEC PUB.LIB.DIR.SEG (INTEGER);
 32735
 32732
END
*GLOBAL 22;
*CODE 1;
@END
@TITLE CONLIB.LIB03(31,8)

@COL 1S-2R

@FLOW 1-2

@BOX 1.0
LIB03 CONFIGURATION
@BOX 2.0
LIB03 PARAMETERS
@BOX 1.1
::LIB03 CONFIGURATION
@BOX 2.1
LITERAL / INTEGER INTEGER.PTYPE = %4C, LOGICAL.PTYPE = %8C, ADDR.PTYPE = %4C;
LITERAL / INTEGER INTEGER32.PTYPE = INTEGER.PTYPE, LOGICAL32.PTYPE = LOGICAL.PTY
PE;
@END


@TITLE CONLIB.LIB04(31,9)

@COL 1S-2R

@FLOW 1-2

@BOX 1.0
LIB04 CONFIGURATION
@BOX 2.0
LIB04 PARAMETERS
@BOX 1.1
::LIB04 CONFIGURATION
@BOX 2.1
LITERAL / INTEGER NO.OF.STREAMS = 64;
LITERAL / INTEGER LIB04.NO.OF.STREAMS = NO.OF.STREAMS;
LITERAL / INTEGER MAX.STREAM.NO = 32, NO.OF.IO.CONTROL.AREAS = 65;
LITERAL / INTEGER POSITION.DEFAULT = 10000, SECTION.DEFAULT = 1,
   SECT.SIZE.DEFAULT = 65535, IO.CONTROL.SEG = 63,
   MAPPED.IO.CONTROL.SEG = IO.CONTROL.SEG,
   IO.BUFFER.BLOCK = 64, WAIT.TIME = 10000, NO.OF.BUFFERS = 8;
LITERAL / INTEGER LIB04.MAPPED.IO.CONTROL.SEG = MAPPED.IO.CONTROL.SEG,
   LIB04.MAX.STREAM.NO = MAX.STREAM.NO;
LITERAL / INTEGER MAX.STREAM.MASK = MAX.STREAM.NO - 1;
@END

@TITLE CONLIB.LIB05(31,11)

@COL 1S-2R-3R

@FLOW 1-2-3

@BOX 1.0
LIB05 CONFIGURATION
@BOX 2.0
LIB05 PARAMETERS
@BOX 1.1
::LIB05 CONFIGURATION
@BOX 2.1
LITERAL / INTEGER NO.OF.TRAPS = 16;
LITERAL /INTEGER NO.OF.MESSAGE.TYPES = 10;
LITERAL / INTEGER LIB05.NO.OF.TRAPS = NO.OF.TRAPS;
@BOX 3.1
*CODE 9;
*GLOBAL 27;
#CONLIB.LIB05.1
#CONLIB.LIB05.2
DATAVEC TRAP.MESSAGES (ADDR [LOGICAL8])
   TRAP0.MESSAGES
   TRAP1.MESSAGES
   TRAP1.MESSAGES
   TRAP1.MESSAGES
   TRAP4.MESSAGES
   TRAP5.MESSAGES
   TRAP6.MESSAGES
   TRAP7.MESSAGES
   TRAP8.MESSAGES
   TRAP9.MESSAGES
END
DATAVEC NO.OF.TRAP.MESSAGES (INTEGER)
   13
   2
   0
   0
   90
   9
   11
   5
   17
   22
END
*GLOBAL 22;
*CODE 1;
@END

@TITLE CONLIB.LIB05.1(31,8)

@COL 1S

@BOX 1.0
TRAP MESSAGES FOR TRAPS 0, 1, 2, 3 AND 4
@BOX 1.1
DATAVEC TRAP0.MESSAGES (LOGICAL8)
   0
   15 "Arithmetic trap"
   27 "Illegal instruction/operand"
   19 "Disc transfer fails"
   16 "Access violation"
   17 "Segment undefined"
   16 "Segment overflow"
   14 "Stack overflow"
   35 "Illegal organisational command call"
   18 "Break point type 1"
   18 "Break point type 2"
   34 "Program counter set to odd address"
   16 "Bound check fail"
END

DATAVEC TRAP1.MESSAGES (LOGICAL8)
   0
   10 "CPU runout"
END

DATAVEC TRAP4.MESSAGES (LOGICAL8)
   0
   22 "Segment already exists"
   38 "No segments available in virtual store"
   22 "Illegal segment number"
   22 "Illegal size requested"
   35 "Illegal access permission requested"
   22 "Segment does not exist"
   46 "System unable to create segment (no resources)"
   0 [3]
   22 "Illegal channel number"
   0
   32 "No messages on specified channel"
   44 "System unable to send message (no resources)"
   14 "Channel closed"
   35 "Faulty message sent to file manager"
   36 "No response from destination process"
   0 0
   51 "System process number or process identifier invalid"
   30 "Current process not supervisor"
   0
   48 "System unable to create a process (no resources)"
   0
   28 "Illegal username or password"
   0 [4]
   44 "Cannot create enough space for screen editor"
   0
   27 "Process name already exists"
   22 "Process does not exist"
   0 [7]
   25 "File store limit exceeded"
   0
   24 "File name does not exist"
   25 "Exclusive access deadlock"
   29 "Unauthorised access requested"
   25 "Illegal segment specified"
   24 "File name already exists"
   0
20 "Disc transfer failed"
   31 "Unable to update common segment"
   0 [9]
   27 "Graphics device unavailable"
   33 "Graphics unit number out of range"
   27 "Graphics boundary violation"
   25 "Graphics operation failed"
   35 "Graphics device to be used directly"
   39 "Graphics transfer count is not positive"
   0 0 0 0
   15 "Mount abandoned"
   15 "Label incorrect"
   32 "Buffer non-existent or too small"
   19 "Illegal unit number"
   18 "EOT/TM encountered"
   20 "MT operations failed"
   28 "Unit not assigned to process"
   0 0 0
   21 "Subords limit reached"
   20 "User name not unique"
   28 "No more spare user available"
   23 "User has used reusables"
   18 "User name expected"
   22 "Resource not available"
   24 "Not authorised to payout"
   22 "Parameter out of range"
   25 "Current user not superior"
   25 "Cannot erase default user"
END

@END


@TITLE CONLIB.LIB05.2(31,11)

@COL 1S

@BOX 1.0
FAULT MESSAGES FOR TRAPS 5, 6, 7, 8 AND 9
@BOX 1.1
DATAVEC TRAP5.MESSAGES (LOGICAL8)
   0
   20 "No streams available"
   26 "Current File not available"
   30 "Illegal stream name (in STRn*)"
   16 "Stream undefined"
   24 "Incorrect type of stream"
   26 "Incorrect type of document"
   19 "Unable to open File"
   18 "File name too long"
END

DATAVEC TRAP6.MESSAGES (LOGICAL8)
   0
   11 "Input ended"
   50 "Attempt to read/write beyond end of unit or record"
   21 "Output limit exceeded"
   53 "Unable to create segment for buffered output document"
   35 "Unable to file/send output document"
   34 "Destination process does not exist"
   0
   24 "Illegal symbol in number"
   17 "Illegal delimiter"
   26 "Invalid position specified"
END

DATAVEC TRAP7.MESSAGES (LOGICAL8)
   0
   27 "Command line not recognised"
   20 "Command name unknown"
   25 "Illegal type of parameter"
   48 "Unable to change command stream (via IN command)"
END

DATAVEC TRAP8.MESSAGES (LOGICAL8)
   0
   0 [9]
   27 "Parameter too large for EXP"
   28 "Negative parameter with SQRT"
   27 "Invalid exponentiation (**)"
   29 "Invalid parameters with ATAN2"
   27 "Negative parameter with LOG"
   27 "Invalid parameter with ASIN"
   27 "Invalid parameter with ACOS"
END

DATAVEC TRAP9.MESSAGES (LOGICAL8)
   0 [10]
   22 "Unable to open library"
   40 "Maximum number of libraries already open"
   24 "Unable to delete library"
   0 [8]
   19 "Unable to FLIP file"
END

@END

@TITLE CONLIB.LIB08(31,11)
@COL 1S-2R-3R
@FLOW 1-2-3
@BOX 1.0
LIB08 CONFIGURATION
@BOX 2.0
LIB08 PARAMETER
@BOX 3.0
STATSISTICS MESSAGES
@BOX 1.1
::LIB08 CONFIGURATION
@BOX 2.1
LITERAL  NO.OF.SCRIPTS = 6;
@BOX 3.1
*CODE 9;
*GLOBAL 27;
DATAVEC ORG.CMDS (LOGICAL8)
   "Organisational commands"
END
DATAVEC TIME.AT.SYS (LOGICAL8)
   "Seconds at system level"
END
DATAVEC TIME.AT.USR (LOGICAL8)
   "Seconds at user level"
END
DATAVEC TIME.IDLE (LOGICAL8)
   "Seconds idling"
END
DATAVEC TIME.LOST (LOGICAL8)
   "Seconds lost"
END
DATAVEC BUS.ERRORS (LOGICAL8)
   "Page faults"
END
DATAVEC DRUM.XFER.IN (LOGICAL8)
   "Drum transfers in"
END
DATAVEC DRUM.XFER.OUT (LOGICAL8)
   "Drum transfers out"
END
DATAVEC TOT.BLKS.XFER (LOGICAL8)
   "Blocks transferred"
END
DATAVEC ELAPSED.TIME (LOGICAL8)
   "seconds - Elapsed time"
END
DATAVEC PROCS.CREATED (LOGICAL8)
   "Processes created"
END
DATAVEC  SEGS.CREATED (LOGICAL8)
   "Segments created"
END
DATAVEC X.SEGS.CREATED (LOGICAL8)
   "X segments created"
END
DATAVEC PAGES.IN (LOGICAL8)
   "Page transfers in"
END
DATAVEC NEW.PAGES (LOGICAL8)
   "New pages created"
END
DATAVEC INVALID.ACCESS (LOGICAL8)
   "Invalid memory accesses"
END
DATAVEC L.MESS.SENT (LOGICAL8)
   "Long messages sent"
END
DATAVEC S.MESS.SENT (LOGICAL8)
   "Short messages sent"
END
DATAVEC FILES.OPENED (LOGICAL8)
   "Files opened"
END
DATAVEC FILES.CREATED (LOGICAL8)
   "Files created"
END
DATAVEC FILES.UPDATED (LOGICAL8)
   "Files updated"
END
DATAVEC TOT.TASKS.SET (LOGICAL8)
   "Tasks set"
END
DATAVEC STATS.MESSAGES (ADDR [LOGICAL8])
   ORG.CMDS TIME.AT.SYS TIME.AT.USR TIME.IDLE TIME.LOST BUS.ERRORS
   DRUM.XFER.IN DRUM.XFER.OUT TOT.BLKS.XFER ELAPSED.TIME PROCS.CREATED
   SEGS.CREATED X.SEGS.CREATED PAGES.IN NEW.PAGES INVALID.ACCESS
   L.MESS.SENT S.MESS.SENT FILES.OPENED FILES.CREATED
   FILES.UPDATED TOT.TASKS.SET
END
*GLOBAL 22;
*CODE 1;
@END
@TITLE CONLIB.LIB09(31,8)

@COL 1S-2R
@FLOW 1-2
@BOX 1.0
LIB09 CONFIGURATION
@BOX 2.0
LIB09 PARAMETERS
@BOX 1.1
::LIB09 CONFIGURATION
@BOX 2.1
LITERAL / INTEGER MAPPED.MT.SEG = 62;
@END


