{{htmlmetatags>metatag-description:(ICL George 3 and George 4 source: FILECOMPS)}} ====== FILECOMPS ====== (George Source) **Macros used:** [[george:macro:BITDEFS|BITDEFS]], [[george:macro:FIELDDEF|FIELDDEF]], [[george:macro:SEMAPHORE|SEMAPHORE]], [[george:macro:XY|XY]], [[george:macro:XYZ|XYZ]] 22FL [ 22^= ...[ SECTION FILE 23DW ...[ 8OPAN 23YG [IF YOU EDIT THIS SUBFILE, PLEASE ENSURE YOUR EDIT IS CHECKED BY THE 24D6 [CURRENT OWNER 24J3 ...#DEF HALFFCB=BHALFN [NUMBER OF FCBS IN HALFOPEN CHAIN 24MY ...#OPT ARETRV = 0 24XQ #DEF AF2=FBLKS 25CB #DEF FILESIZE=490 25M8 ...#DEF ANOTRAPS=5 [NO. OF TRAPS ALLOWED BY TGU MACRO. 25X2 #DEF COMDBUFF=2 [DEFAVLT VALVE FOR DESCOMM FILESIZE 26BL #DEF COMDBUF=2 [DITTO 26W= #DEF FRH=0 [RECORD HEADER RELATIVE POINTER 27*W # 27TG # THIS SUBFILE HOLDS DEFINITIONS FOR THE IDENTIFIERS OF THE FOLLOWING 28*6 # BLOCKS. 28SQ # PLEASE KEEP THIS LIST UP TO DATE 29#B # 29S2 # FILE/ADICTENT 2=?L # FILE/ENT 2?=W # FILE/FABSNB 2?QG # FILE/FCB 2#=6 # FILE/FSTACK 2#PQ # FILE/FTRAP 2*9B # FILE/CREATE 2*P2 # FILE/FMAPP 2B8L # FILE/FEXTRA 2BDD ...# FI/FCA 2BN= ...# FILE/FTAB 2BY4 ...[ FI/FLIST 2C7W [ DIRECTORY ENTRIES 2CCN ...# CQPRINT/CQFILE 2CMG # 2D76 # 2DLQ # FILE/ADICTENT 2F6B # 2FL2 [ DICTIONARY ENTRY IDENTIFIERS 2G5L #DEF CNEWZ=A1+1 2GK= #DEF CUSER=CNEWZ+1 2H4W #DEF CSUPUSER=CUSER+3 [SUPERIOR USER NAME 2HJG #DEF CLOCN=CSUPUSER+3 [LOCAL NAME OF PROPER DIRECTORY 2J46 #DEF CPSEU=CLOCN+3 2JHQ ...#DEF CERASE=CPSEU 2K3B #DEF CSPARE=CPSEU+1 2K*R ...#DEF CPASSAGE=CSPARE+1 [USED FOR SECURITY INTERFACE 2KN8 ...#DEF CJOBCT=CPASSAGE+1 2L2L #DEF CPASS=CJOBCT+1 2LG= #DEF CINDIC=CPASS+3 [STATUS INDICATOR 2L^W #DEF CBSA=CINDIC+1 [BACKING STORE ALLOCATION 2MFG #DEF CNUMQ=CBSA+1 2M^6 #DEF CPRIV=CNUMQ+1 [START OF PRIVILEGE LIST 2NDQ #DEF CQUANT=CPRIV+1 2NYB #DEF FLOG=CQUANT+1-A1 2PD2 #DEF FPSEU=CPASS-A1 2PXL XY CNEWZ,CUSER,CSUPUSER,CLOCN,CPSEU,CSPARE 2QC= XY CJOBCT,CPASS,CINDIC,CBSA,CNUMQ,CPRIV 2QWW XY CQUANT,FLOG,FPSEU 2R6N ... BITDEFS CPSEU,3,BMONCS,,,BFROZEN 2RBG [ 2RW6 # 2S*Q # FILE/ENT 2STB # 2T*2 #DEF EREC=A1 [DIRECTORY ENTRY IDENTIOIERS 2TSL #DEF ERES=EREC+1 2W#= #DEF ESER=ERES+1 2WRW #DEF ELOC1=ESER+1 2X?G #DEF ELOC2=ELOC1+1 2XR6 #DEF ELOC3=ELOC2+1 2Y=Q #DEF EREEL=ELOC3+1 2YQB #DEF EGEN=EREEL+1 2^=2 #DEF ERET=EGEN+1 2^PL #DEF EWRITDAY=ERET+1 329= #DEF EWRITTIME=EWRITDAY+1 32NW #DEF ET=EWRITTIME+1 338G #DEF EGMTLA=ET [GMT AT WHICH FILE LAST ACCESSED 33N6 #DEF ENUSE=ET+1 347Q #DEF ECAT=ENUSE+1 34MB #DEF ELAN=ECAT [EASIER TO REMEMBER 3572 #DEF ETM=ECAT+1 35LL #DEF EBLL=ETM+1 366= #DEF EINF1=EBLL+1 36KW #DEF EINF2=EINF1+1 375G #DEF EINF3=EINF2+1 37K6 #DEF EU=EINF3+1 384Q #DEF EV=EU+1 38JB #DEF EFLOW=EV 3942 #DEF EORG=EV+1 39HL #DEF ELASTJAM=EORG [TIME LAST B.S JAM FINISHED 3=3= #DEF EKEY=EORG+1 3=GW #DEF EINDEX=EKEY [INDEX NUMBER. 3?2G #DEF EENDBUCK=EKEY+1 3?G6 #DEF EGMTBS=EENDBUCK [CURRENT GEORGE MEAN TIME 3?^Q #DEF EVERSION=EENDBUCK+1 3#FB #DEF ESTREND=EVERSION 3#^2 #DEF ESPARE1=EVERSION+1 3*DL #DEF EFILNUM=ESPARE1 [FILE NUMBER FOR MK. 3 SCHEDULER 3*Y= #DEF ESPARE2=ESPARE1+1 3BCW #DEF ESPARE3=ESPARE2+1 3BXG #DEF ESPARE4=ESPARE3+1 3CC6 #DEF EWKNAME1=ESPARE1 [TEMPORARY TAPE IDENTIFIERS IN DIRENT 3CWQ #DEF EWKNAME2=ESPARE2 3DBB #DEF EWKNAME3=ESPARE3 3DW2 #DEF EWKLEVEL=ESPARE4 3F*L #DEF EALLOC=ESPARE4 3FT= #DEF ESVCT=ESPARE2 3G#W #DEF ESAVECOUNT=ESVCT 3GSG #DEF ESEEK=ESPARE3 3H#6 #DEF EDLA=ESPARE4+1 3HRQ #DEF ETLA=EDLA+1 3J?B #DEF EAVACC=ETLA+1 3JR2 #DEF EDLD=EAVACC+1 3K=L #DEF ETLD=EDLD+1 3KQ= #DEF EINCLOOK=ETLD+1 3L9W #DEF EINC=EINCLOOK+1 3LPG #DEF EMAG=EINC 3M96 #DEF EAUTOCOUNT=EMAG+1 3MNQ #DEF ECOPS=EAUTOCOUNT+1 3N8B #DEF EUSE1=ECOPS+1 3NN2 #DEF EUSE2=EUSE1+1 3P7L #DEF EUSE3=EUSE2+1 3PM= #DEF FRDE=EUSE3+1-A1 3Q6W [ 3QLG [ DEFINES FOR THE NAME RECORD, ADD N TO ENT OF ENT NAME 3R66 XY EREC 3RKQ XY ERES 3S5B XY ESER 3SK2 XY ELOC1 3T4L XY ELOC2 3TJ= XY ELOC3 3W3W XY EREEL 3WHG XY EGEN 3X36 XY ERET 3XGQ XY EWRITDAY 3Y2B XY EWRITTIME 3YG2 XY ET 3Y^L XY EGMTLA 3^F= XY ENUSE 3^YW XY ECAT 42DG XY ELAN 42Y6 XY ETM 43CQ XY EBLL 43XB XY EINF1 44C2 XY EINF2 44WL XY EINF3 45B= XY EU 45TW XY EV 46*G XY EFLOW 46T6 XY EORG 47#Q XY ELASTJAM 47SB XY EKEY 48#2 XY EINDEX 48RL XY EENDBUCK 49?= XY EGMTBS 49QW XY EVERSION 4==G XY ESTREND 4=Q6 XY ESPARE1 4?9Q XY EFILNUM 4?PB XY ESPARE2 4#92 XY ESPARE3 4#NL XY ESPARE4 4*8= XY EWKNAME1 4*MW XY EWKNAME2 4B7G XY EWKNAME3 4BM6 XY EWKLEVEL 4C6Q XY EALLOC 4CLB XY ESVCT 4D62 XY ESAVECOUNT 4DKL XY ESEEK 4F5= XY EDLA 4FJW XY ETLA 4G4G XY EAVACC 4GJ6 XY EDLD 4H3Q XY ETLD 4HHB XY EINCLOOK 4J32 XY EINC 4JGL XY EMAG 4K2= XY EAUTOCOUNT 4KFW XY ECOPS 4K^G XY EUSE1 4LF6 XY EUSE2 4LGT ...[ 4LJJ ...[ FIELD DEFINITIONS 4LL? ...[ FOR ENT BLOCK 4LM6 ...[ 4LN2 ... FIELDDEF FEGMTRV,16,EALLOC,15 4LNT ... FIELDDEF FEFSNO,6,EBLL,5 4LP4 ... FIELDDEF FESINFACE,2,EBLL,23 4LP? ... FIELDDEF FEINDEXNO,6,EINDEX,23 4LPP ...[ 4M7F ...[ FOR NAME RECORD 4MB* ...[ 4MK9 ... FIELDDEF FNGMTRV,16,EALLOCN,15 4MS5 ... FIELDDEF FNFSNO,6,EBLLN,5 4MTS ... FIELDDEF FNSINFACE,2,EBLLN,23 4MXH ... FIELDDEF FNINDEXNO,6,EINDEXN,23 4N2^ ...[ 4NDP ... XY EUSE3 4NWF ...[ DEFINE BITS FOR BS MACRO FAMILY. 4P#9 ...[ FOR ENT & NAME RECORD. 4PJS ... XYZ EBLL,21,SINSYSF,SINFACE1,SINFACE2 4PTC ... XYZ EINF1,0,SERIAL,LASTREEL,FHDIRMODE,MDF,MULT,FOPENER 4Q7P ... XYZ EINF1,6,MT,UWB,BMUWB,JLINDCH,USERFREZ,DIRBELOW 4QKF ... XYZ EINF1,12,BM,BMO,JOB4ASTR,BLOCK2,EXO,CLOSEAB 4R39 ... XYZ EINF1,18,PSEUDO,PFCC,DUMP6,CARE,LOGACC,PARTRES 4RD^ ... XYZ EINF2,0,DUMP,TEMP,ONLINE,ERASE,LIB,BMERASE 4RWP ... XYZ EINF2,6,COOR,ALLINCS,,ARCHIVE,PURE,SYSARCH 4S#F ... XYZ EINF2,12,INFPROC,DIRDUMP,INDEX,LOSE,128,REVERT 4SQ9 ... XYZ EINF2,18,WORK,VIRGINDA,NORET,LEAVEOFF,REVERE,LEAVEUS 4T7^ ... XYZ EINF3,8,IPL 4TKP ...# 4W3F ...# FILE/FABSNB 4WF9 ...# 4X#P ...#DEF HDREC=A1 [RECORD HEADER 4XQF ...# 4Y89 ...# IDENTIFIERS FOR BITS 12-23 OF ATYPE OF FILE/FABSNB & FILE/FLOCNB 4YK^ ...# 4^X9 ... BITDEFS ATYPE,12,BFABSTREAM,BFABTSN,BFABLOCONLY,BFABREEL,BFABWORK 52#^ ... BITDEFS ATYPE,17,BFABLANG,,,,BFABEXO,BFABANY,BFABLIB 52QP ... FIELDDEF FFABTYPE,6,ATYPE,23 53L9 ...# 543^ ...# FILE/FCB 54FP ...# 54XF ...# [FILE CONTROL BLOCK IDENTIFIERS 568P ...#DEF FCBRING=A1 56LF ...#DEF FBLMOD=FCBRING+2 59LP ...#DEF FWAITCOUNT=FBLMOD+1 5=4F ...#DEF FUSER1=FWAITCOUNT+1 5=G9 ...#DEF FUSER2=FUSER1+1 5=X^ ...#DEF FUSER3=FUSER2+1 5?*P ...#DEF FLOC1=FUSER3+1 5?RF ...#DEF FLOC2=FLOC1+1 5#99 ...#DEF FLOC3=FLOC2+1 5#L^ ...#DEF FREEL=FLOC3+1 5*4P ...#DEF FGEN=FREEL+1 5*GF ...#DEF FLAN=FGEN+1 5*Y9 ...#DEF FME1=FREEL 5B*^ ...#DEF FME2=FME1+1 5BRP ...#DEF FME3=FME2+1 5C9F ...#DEF CTOPEN=FLAN+1 5CM9 ...#DEF FCOMMCT=CTOPEN+1 5D4^ ...#DEF FREEZECOUNT=FCOMMCT+1 5DGP ...#DEF FSIZE=FREEZECOUNT+1 5DYF ...#DEF FETM=FSIZE+1 5FB9 ...#DEF FLASTJAM=FETM 5FR^ ...#DEF FENDBUCK=FETM+1 5G9P ...#DEF FGMTBS=FENDBUCK [CURRENT GEORGE MEAN TIME 5GMF ...#DEF FVERSION=FENDBUCK+1 5H59 ...#DEF COMM=FVERSION+1 5HG^ ...#DEF FCOMM=COMM+1 5HYP ...#DEF FINFC=FCOMM+1 5JBF ...#DEF FINFD=FINFC+1 5JS9 ...#DEF CMOD=FINFD+1 5K9^ ...#DEF FSVCT=CMOD+1 5KMP ...#DEF FSAVECOUNT=FSVCT 5L5F ...#DEF FUSEBL=FSVCT+1 5LH9 ...#DEF BSPRE=FUSEBL+1 5LY^ ...#DEF FBLKS=BSPRE+1 5MSF ...#DEF FCBLEN=FBLKS-FCBRING 5P6G 5PF3 ...[ THIS DEFINES THE BITS IN COMM,FCOMM,FINFC 5PRJ ...[ FOR USE WISH THE BS MACRO FAMILY 5Q65 ... BITDEFS COMM,0,BFDIR,BFALTB,BFALTR,BFLAST,BFLASTW,BFAPPC 5QKP ... BITDEFS COMM,6,BFFREZ,BFUWB,BFNEW,BFPARTRES,BFDIRBELOW,BFDUMP 5TCC ... BITDEFS COMM,12,BFALLINCS,BFJOB4ASTR,BFHALF 5TPY ... BITDEFS COMM,15,BFEMPTY,BFDIRUPDATE,BFAPPLW 5WC2 ... BITDEFS COMM,18,BFSOLE,BFSDF,BFMULT,BFOPENERASE,BFNODUMP,BFVSF 5WPH ... BITDEFS FCOMM,0,BFAPPCARE,BFLEN,BFLENW,BFUSERFREZ,BFSER,BFWORK 5X44 ... BITDEFS FCOMM,6,BFFREEW,BFCORE,BFDCF,BFFCB,BFPP,BFERALLWF 5XBK ... BITDEFS FCOMM,12,BFCAREW,BFMCOP,BFTRAP,BFSYSCOMM,BFCOPY,BFAUTOW 5XP6 ... BITDEFS FCOMM,18,BFCLEANW,BFMT,BFCLOSEABOF,BFCARE,BFCLOSESET 5Y3M ... BITDEFS FCOMM,23,BFERASE 5YB8 ... BITDEFS FINFC,0,BFREV,BFGDR,BFCUBS,BFAPP,BFAPPW,BFMDF 5YNP ... BITDEFS FINFC,6,BFFRITEW,BFCLOSEAB,BFWFER,BFAUTO 5^3= ... BITDEFS FINFC,10,BFTIDYLOCK,BFTIDYLOCKW 5^*R ... BITDEFS FINFC,12,BFSTEPWAIT,BFAPPWAIT,BFMDFOP,BFINDEXALT 5^F? ... BITDEFS FINFC,16,BFFHDIRMODE,BFLOGACC 5^JR ...# 5^N? ... FIELDDEF FFFREZCT,9,FREEZECOUNT,23 [COUNT OF TIMES FILE LF-FROZEN 5^Q3 ... FIELDDEF FFINDEXNO,6,FINFC,23 [FILE INDEX NUMBER 5^QX ... BITDEFS FINFD,0,BFSETUPB,BFSETMAPB,BFOPENBW,BFCOMMONB,BFBLUPDATE 5^RR ... [ALL THESE ARE SHARED FILESTORE BITS 5^S4 ... BITDEFS FINFD,9,BFINTY [USED FOR SECURITY INTERFACE 5^S* ... FIELDDEF BFSECYEF,2,FINFD,11 5^SM ... FIELDDEF FFAUTCLCT,12,FINFD,23 [COUNT OF AUTOCLOSES ON FILE 5^X? ...# 622T ...[ SEMAPHORES IN FCB 62*B ... SEMAPHORE BFTIDY,BFTIDYLOCK,BFTIDYLOCKW,#45 62MX ...[ USED BY CLOSE TO LOCK OUT OVER CLOSEDIR,CLOSEND COOR 632D ...[ 63#^ ...[ 63MG ...# FILE/FSTACK BLOCK IDENTIFIERS 6423 ...#DEF FELLEN=7 [LENGTH OF EACH ELEMENT 64#J ...# IDENTIFIERS FOR EACH ELEMENT 64M5 ...#DEF FPTRF=0 64^L ...#DEF BPTRF=FPTRF+1 65*6 #DEF FBACKPOINT=BPTRF+1 65SQ #DEF FREADBLOCK=FBACKPOINT+1 66#B #DEF FREADWORD=FREADBLOCK+1 66S2 #DEF FGENERAL1=FREADWORD+1 67?L #DEF FGENERAL2=FGENERAL1+1 67R= ...[ BIT DEFINITIONS FOR FGENERAL1 FGENERAL2 68=W BITDEFS FGENERAL1,0,BAMREAD,BAMREADR,BAMAPP,BAMWRITE,BAMGEN 68QG BITDEFS FGENERAL1,5,BAMCOPY 69=6 BITDEFS FGENERAL1,6,BAMCLEAN,,BAMULT,BACLUDGE,BADEL,BACOMM 69PQ BITDEFS FGENERAL1,12,BAAPP,BANOWAIT,BACLEAN,BACONV,BASET,BASOLE 6=47 ... BITDEFS FGENERAL1,18,BALATEST,BASTEPWAIT,BAAPPWAIT,BAJABAND 6=BJ ... BITDEFS FGENERAL1,22,BASAVEREL,BASPARE 6=HR ... BITDEFS FGENERAL2,17,BAOPENONB 6=P2 BITDEFS FGENERAL2,18,BAPUREW,BAEMPTYB,BACUBS,BASAVE,BAFBLK 6?8L BITDEFS FGENERAL2,23,BAFBLKW 6?N= 6#7W # 6#MG # TRAP IDENTIFIERS 6*76 ...#DEF ETRAPRH=A1 6*LQ #DEF ETRUSER1=ETRAPRH+1 6B6B #DEF ETRUSER2=ETRUSER1+1 6BL2 #DEF ETRUSER3=ETRUSER2+1 6C5L #DEF ETRAPMODES=ETRUSER3+1 6CK= #DEF ETRAP=ETRAPMODES+1-A1 6D4W XY ETRAPRH,ETRUSER1,ETRUSER2,ETRUSER3,ETRAPMODES 6D#N ... BITDEFS ETRAPMODES,2,EDEFTRAP 6DJG # 6F46 # FILE CREATE BLOCK IDENTIFIERS 6FHQ #OPT K6EXEC=K6ALLGEO 6G3B #DEF CERET=A1 6GH2 #DEF CETM=CERET+1 6H2L #DEF CEINF1=CETM+1 6HG= #DEF CEINF2=CEINF1+1 6H^W #DEF CEINF3=CEINF2+1 6JFG #DEF CEFLOW=CEINF3+1 6J^6 #DEF CEORG=CEFLOW+1 6KYB #DEF CEINDEX=CEKEY 6LD2 #DEF CEKEY=CEORG+1 6LXL #DEF CEENDBUCK=CEKEY+1 6MC= #DEF CEVERSION=CEENDBUCK+1 6MWW #DEF CEUSE1=CEVERSION+1 6NBG #DEF CEAUTO=CEUSE1+3 6PTB ...#DEF CEALLOC = CEAUTO+1 6Q*2 ...#DEF CREALEN = CEALLOC-A1+1 6S?G [ BIT IDENTIFIERS FOR CEINF1 & CEINF2 6SR6 BITDEFS CEINF1,0,CESERIAL,CELASTREEL,,CEMDF,CEMULT,CEFOPENER 6T=Q BITDEFS CEINF1,6,CEMT,CEUWB 6TQB BITDEFS CEINF1,18,CEPSEUDO,,CEDUMP6,CECARE 6W=2 BITDEFS CEINF2,0,CEDUMP,CETEMP,CEONLINE,CEERASE,CELIB 6WPL BITDEFS CEINF2,6,CECOOR,CEALLINCS,,CEARCHIVE,CEPURE,CESYSARCH 6X9= BITDEFS CEINF2,12,CEINCPROC,CEDIRDUMP,CEINDEXF,,CE128 6XNW BITDEFS CEINF2,18,CEWORK,CEVIRGINDA,,,CEREVERE,CELEAVEUS 6XS2 ...[ 6XX6 ...[ FIELD IDENTIFIERS FOR CREATE BLOCK 6XYN ... FIELDDEF CFSINFACE,2,CEORG,5 6Y2= ... FIELDDEF FCEGMTRV,16,CEALLOC,15 6Y5B ...[ 6Y8G [ 6YN6 [ 6^7Q # FILE/FMAP BLOCK IDENTIFIERS 6^MB #DEF FBITMOD=A1 [NO OF BITS IN BLOCK 7272 #DEF FBCOMM=FBITMOD+1 72LL #DEF FBITS=FBCOMM+1 72QH ...# 72WD ...# 732* ...# 736= # FILE/FEXTRA BLOCK FDENTIFIERS 73KW #DEF FWORKTRAP=A1+1 745G #DEF FWRTD=FWORKTRAP+1 74K6 #DEF FWRITDAY=FWRTD 754Q #DEF FWRTT=FWRTD+1 75JB #DEF FWRITTIME=FWRTT 7642 #DEF FTM=FWRTT+1 76HL #DEF FFLOW=FTM+1 773= #DEF FORG=FFLOW+1 77GW #DEF FKEY=FORG+1 77LR ...# 77QN ...# 77WK ...# 77XB ... FIELDDEF FXSINWORK,2,FWORKTRAP,11 77Y7 ...# 77YY ...# 77^P ...# 782G # FI/FCA BLOCK IDENTIFIERS 78G6 #DEF FIRB=A1 78^Q #DEF FRW=FIRB+1 79FB #DEF FG1=FRW+1 79^2 #DEF FG2=FG1+1 79^G ... BITDEFS FG1,11,BFCACOMM 7=23 ... BITDEFS FG1,22,BFCASAVEREL 7=2B ...# 7=2P ...# 7=34 ...# 7=46 ...# FILE/FTAB BLOCK IDENTIFIERS 7=7= ...#DEF FTREAD=A1 7==B ...#DEF FTAPP=A1+1 7=*G ...#DEF FTHIGH=BACK2 7=DL 7=KS ...# 7=R2 ...# 7=Y= [ DIRECTORY ENTRIES 7?CW #DEF EDESCRIBE=FRH+1 [WORD WITHIN RECORD IN DIRECTORY 7?XG [ RELATIVE TO RECORD START 7#C6 [ 0=> NAME RECORD 7#WQ [ -VE => TRAPS 7*BB [ 0 BLOCKS 7*W2 ...[ B1 & NOT B0 => INDEX 7B9P ...# 7BKD ...# 7B^7 ...# 7C#W ...[ FI/FLIST BLOCK IDENTIFIERS 7CM? ... BITDEFS A1+2,0,FLIS1,FLIS2 7C^N ... SEMAPHOR FLISTLENWT,FLIS1,FLIS2,FLISWT 7DF# ...[ CQPRINT/CQFILE IDENTIFIERS 7DYY ...#DEF CQWTLNTH=A1 7FDJ ...#DEF CQWTUSER=CQWTLNTH+1 7FY8 ...#DEF CQWTFILE=CQWTUSER+3 ^^^^ ...43377014006100000000