{{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