@X @~
~L3 COUK1247
80
~V7 56 2 -5
~D10
~H                       MUSS
~
~
~D10
~HCONLIB        52
~D10
~MMANCHESTER UNIVERSITY  -  CONFIDENTIAL~
~
~
                                                           ISSUE 11~
~V9 -1
~P
~V9 1
~YCONLIB52
~X%|
~S1~M~OAP5 IMPLEMENTATION DESCRIPTION~
~S1~M~OLibrary Configuration  Version 2~
~S1~OLibrary Configuration - MOTOROLA 68010 (PTV)~
~S1~O1. Compile Jobs
~Y
~V9 -1
~P
~D15
~HFLOWCHARTS
~
~
~H        CONLIB52
~V9 -1
~F
@TITLE CONLIB(52,11)
@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, PW7, 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, LIB04.MAX.STREAM.NO,
   NO.OF.IO.CONTROL.AREAS, NO.OF.BUFFERS, MAX.STREAM.NO, MAX.STREAM.MASK,
   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, BLOCK.SIZE, INIT.DIR.SIZE);
@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 = 2, BITS.PER.WORD = 16;
LITERAL / INTEGER HX.PER.ADDR = 8, HX.PER.INTEGER = 4;
LITERAL / ADDR STORE.SIZE = %10000;
@BOX 5.1
::SYSTEM1 #CONLIB.SYS.1
::SYSTEM2 #CONLIB.SYS.2
#CONLIB.LIB02
#CONLIB.LIB03
#CONLIB.LIB04
#CONLIB.LIB05
#CONLIB.LIB08
#CONLIB.LIB09
#CONLIB.SUP02
@BOX 6.1
*END
@END



@TITLE CONLIB/1(52,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 FLOPPY.MANAGER ();
PSPEC SET.UP ();
@END
@TITLE CONLIB.SYS.1(52,11)

@COL 1S-2R-3R
@FLOW 1-2-3
@BOX 1.0
SYS CONFIGURATION
FOR PTV
@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 / INTEGER32 SYS14.NO.OF.LOCAL.SEGS = 32, SYS14.PAGE.SIZE = 1024,
   SYS14.PAGE.SHIFT = 10, SYS14.PAGE.MASK = %3FF, SYS14.SEG.SHIFT = 18;
LITERAL / ADDR SYS14.SEG.SIZE = %40000, SYS14.X.SEG.SIZE = %4000;
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;
LITERAL / INTEGER MAIN.LIB.DIR.SEG = 44;
@BOX 3.1
*CODE 9;
*GLOBAL 27;
PSPEC START.PROC ();
DATAVEC SUP.START (ADDR START.PROC)
   JOB
   FILE.MANAGER
   FLOPPY.MANAGER
END
PSPEC TASK.PROC ();
DATAVEC LIB.TASK.PROCS (ADDR TASK.PROC)
   SET.UP
END
*GLOBAL 22;
*CODE 1;
@END

@TITLE CONLIB.SYS.2(52,11)

@COL 1S-2R-3R
@FLOW 1-2-3
@BOX 1.0
SYS CONFIGURATION
FOR GEMSTONE
@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 / INTEGER32 SYS14.NO.OF.LOCAL.SEGS = 64, SYS14.PAGE.SIZE = 1024,
   SYS14.PAGE.SHIFT = 10, SYS14.PAGE.MASK = %3FF, SYS14.SEG.SHIFT = 16;
LITERAL / ADDR SYS14.SEG.SIZE = %10000, SYS14.X.SEG.SIZE = 256;
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;
LITERAL / INTEGER MAIN.LIB.DIR.SEG = 176;
@BOX 3.1
*CODE 9;
*GLOBAL 27;
PSPEC START.PROC ();
DATAVEC SUP.START (ADDR START.PROC)
   JOB
   FILE.MANAGER
   FLOPPY.MANAGER
END
PSPEC TASK.PROC ();
DATAVEC LIB.TASK.PROCS (ADDR TASK.PROC)
   SET.UP
END
*GLOBAL 22;
*CODE 1;
@END

@TITLE CONLIB.LIB02(52,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;
*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(52,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 = %44, LOGICAL.PTYPE = %84, ADDR.PTYPE = %4C;
LITERAL / INTEGER INTEGER32.PTYPE = %4C, LOGICAL32.PTYPE = %8C;
@END


@TITLE CONLIB.LIB04(52,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, MAX.STREAM.NO = 32;
LITERAL / INTEGER LIB04.NO.OF.STREAMS = NO.OF.STREAMS;
LITERAL / INTEGER LIB04.MAX.STREAM.NO = MAX.STREAM.NO;
LITERAL / INTEGER MAX.STREAM.MASK = MAX.STREAM.NO - 1;
LITERAL / INTEGER NO.OF.IO.CONTROL.AREAS = 65,
::SYSTEM1 IO.CONTROL.SEG = 31,
::SYSTEM2 IO.CONTROL.SEG = 63,
   MAPPED.IO.CONTROL.SEG = IO.CONTROL.SEG,
   IO.BUFFER.BLOCK = 48, WAIT.TIME = 10000, NO.OF.BUFFERS = 8;
LITERAL / INTEGER LIB04.MAPPED.IO.CONTROL.SEG = MAPPED.IO.CONTROL.SEG;
LITERAL / INTEGER32 SECT.SIZE.DEFAULT = SYS14.SEG.SIZE;
@END

@TITLE CONLIB.LIB05(52,9)

@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
   8
   11
   5
   17
   22
END
*GLOBAL 22;
*CODE 1;
@END

@TITLE CONLIB.LIB05.1(52,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 0
   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(52,8)

@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"
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(52,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 = LIB04.MAX.STREAM.NO - 2;
@BOX 3.1
*CODE 9;
*GLOBAL 27;
DATAVEC ORG.CMDS (LOGICAL8)
   "Organisational commands"
END
DATAVEC TIME.AT.USR (LOGICAL8)
   "Seconds at system level"
END
DATAVEC TIME.AT.CMD (LOGICAL8)
   "Seconds at user level"
END
DATAVEC TIME.AT.INT (LOGICAL8)
   "Seconds idling"
END
DATAVEC TIME.AT.APP (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.USR TIME.AT.CMD TIME.AT.INT TIME.AT.APP 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(52,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

@TITLE CONLIB.SUP02(52,8)
@COL 1S

@BOX 1.1
LITERAL / INTEGER BLOCK.SIZE = 1024, INIT.DIR.SIZE = 200;
@END


