;<135-TENEX>STORAG.MAC;5 13-NOV-75 11:16:21 EDIT BY CALVIN ; Added GDSKAL (Group DiSK ALlocation) ;<134-TENEX>STORAG.MAC;4 28-APR-75 13:54:03 EDIT BY CLEMENTS ;<134-TENEX>STORAG.MAC;3 28-APR-75 11:24:40 EDIT BY CLEMENTS ;<134-TENEX>STORAG.MAC;2 24-APR-75 12:26:38 EDIT BY CLEMENTS ;<134-TENEX>STORAG.MAC;1 23-APR-75 13:52:42 EDIT BY CLEMENTS ;NEW FILE STORAG.MAC WHICH WILL CONTAIN ALL LS, GS, ETC AREAS OF ; THE SYSTEM, TO REDUCE THE NUMBER OF CONFIGURATION-DEPENDENT FILES. SEARCH PROLOG TITLE STORAGE ;THIS MODULE CONTAINS LS, GS, NGS, NGSP, ETC MACROS, PARTICULARLY ;THOSE WHICH ARE CONFIGURATION-DEPENDENT IN SIZE OR ;IN EXISTENCE. IFN PIESLC,< ;STORAGE FOR PIE-SLICE GROUP DATA FILE NGSP GRPFIL,NGRPPG ;PLACE TO MAP THE FILE TOTSHR=:GRPFIL ;TOTAL NUMBER OF SHARES ;EACH PIE-SLICE GROUP ENTRY CONTAINS THE FOLLOWING FIELDS BEGDAT=:GRPFIL+1 ;START DATE OF GROUP CPUSED=:GRPFIL+2 ;CPU TIME USED BY GROUP SSHARE=:GRPFIL+3 ;NUMBER OF SHARES OWNED BY GROUP GRPNM=:GRPFIL+4 ;GROUP NAME (SIXBIT) GDSKAL=:GRPFIL+5 ; # disk pages allocated slice ;NOTE THAT THERE ARE 2 UNUSED WORDS PER GROUP ENTRY ;OTHER SWAPPABLE STORAGE FOR PIE-SLICE SCHEDULER NGS NJBGRP,NGRPS ;NUMBER OF JOBS PER GROUP NGS KFACT,1 ;MULTIPLICATIVE FACTOR FOR WINDFALL NGS PIEFLG,1 ;NON-ZERO MEANS PIE SLICE DATA FILE ;SUCCESSFULLY MAPPED NGS GRPLOK,1 ;PIE-SLICE DATA LOCK >;END PIE-SLICE SCHEDULER CONDITIONAL SSTSIZ==:34000 ;MAX SIZE OF SWP SYM TAB DDTSYM=:MDDT+1 ;PTR TO DDT SYMTAB PTR NGSP BUGTAB,SBUGTF/1000 ;BUG TABLE AND STRINGS NGSP SWPST,SSTSIZ/1000 ;SWP SYM TAB ; STUFF FOR NON-JOB0 AUTOJOB STARTUP FROM FILE GS AUTONX,1 ; STATE OF NON-JOB0 STARTUP ; + CHARACTER POINTER TO STARTUP FILE ; -1 DONE LS SWPSTP,1 ;POINTER TO SWAPPABLE SYMTAB LS GOTDDT,1 ;REMEMBERS IF WE HAVE MAPPED DDT LS HSYST2,1 ; LINEAR TAD OF SHUTDOWN LS HSYST3,1 ; LINEARTAD FOR NEXT MSG TYPEOUT LS HSYST5,1 ; REASON CODE FOR SHUTDOWN (A LA 1822) NGS JOBNM2,NJOBS ;THE REAL JOB NAME, EVEN IF .OTHER ; LOGGING TTY VARIABLES LS(LOGLCK,1) ; INTERLOCK TO PREVENT INTERMIXING MSGS LS(LLGLCK,1) ; PC OF LAST LOCKER LS(FLGLCK,1) ; FORKX OF LAST LOCKER ;STORAGE FOR CRJOB ; NGS JOBONT,NJOBS ;JOB NUMBER WHICH OWNS ANOTHER JOB (IE CREATED ; IT), OR -1 IF NOT OWNED. NGS CRJONJ,1 ;DURING THE JSYS, JOB NUMBER CREATING NEW JOB NGS CRJAC1,1 ;AC1 FROM CREATOR TO CREATEE FOR EXEC0 NGS CRJOJC,1 ;CAPABILITIES WORD OF CREATOR AT TIME OF JSYS NGS CRJUSR,10 ;NAME STRING WHICH NEW JOB WILL BE LOGGED IN AS. NGS CRJPSW,10 ;PASSWORD FOR LOGIN OF NEW JOB NGS CRJACT,11 ;ACCOUNT FOR LOGIN. AND STRING SPACE FOR IT NGS CRJFIL,40 ;FILE NAME STRING TO RUN IN NEW JOB. NGS CRJEVO,1 ;OFFSET IN ENT VEC FOR FILE TO RUN NGS CRJFAC,20 ;AC'S TO PUT INTO FORK BEING RUN NGS CRJTTY,1 ;TTY NUMBER FOR NEW JOB, OR -1 IF TO BE DETACHED NGS CRJEXF,1 ;EXEC FLAG WORD REQUESTED NGS CRJPJF,1 ;PRIMARY JFN'S FOR NEW JOB ; Resident storage for file system LS(DIOFN,NDSKS) ; Ofn for directory index file LS(FDOFN,NFDIB*NDSKS) ; Table of ofns for fd LS(FDLOFN,NDSKS) ; Long file ofn for fd ; Variables in psb associated with files PS(CAPMSK) PS(CAPENB) PS(PRIMRY) ; Primary io indirection pointers PS(LSTERR) ; Last error number PS(ERRSAV,10) ; Block of error parameters ; Variables in jsb associated with files DEFINE JFS(SYM) ASSIGN JFN0,JFNPC,0 JFS(FILBYT) ; Byte pointers to current window JFS(FILBYN) ; Byte number of current byte JFS(FILLEN) ; Total length of file in bytes JFS(FILCNT) ; Bytes remaining in current buffer JFS(FILLCK) ; File lock word JFS(FILWND) ; Lh ==> current page number ; Rh ==> location of current window JFS(FILSTS) ; Lh ==> file status bits ; Rh ==> device dependent dispatch address JFS(FILDEV) ; Device dependent information JFS(FILOFN) ; Lh ==> ofn for this file ; Rh ==> ofn of long file pt table JFS(FILLFW) ; Lh ==> current page table number ; Rh ==> location of page table table JFS(FILDDN) ; Lh ==> pointer to device string block ; Rh ==> directory number JFS(FILNEN) ; Lh ==> pointer to file name string block ; Rh ==> pointer to extension string block JFS(FILVER) ; Lh ==> fork number of originator of this jfn ; Rh ==> version number ; The following variables overlay the space in the above definitions ; This is possible since they are used only during gtjfn ASSIGN FILTMP,FILBYT,0 ; Lh ==>0 ptr to temp string block for default ; Rh ==>0 point to temp string block ASSIGN FILPRT,FILBYN,0 ; Pointer to protection string or protection # ASSIGN FILACT,FILLEN,0 ; Pointer to account string or account number ASSIGN FILOPT,FILWND,0 ; Byte pointer to store string in gtjfn JS(JFNLCK) ; Lock to prevent tampering with jfn's JS(MAXJFN) JS(JOBUNT) ; CONNECTED DSK UNIT JS(JBCLCK) ; LOCK FOR ASGPAG JS(JBCOR,4) ; Page allocation bit table JS(JSBFRE,7) ; Job area free storage header JS(JSFREE,IJSFRE) ; Free storage area in job block END ; OF STORAG.MAC