FSFILE

(GIN Macro)

Defined in: MACROSBRBS

Used in:

FSFILE.mac.txt
 69^J ...[??? FSFILE SECT FILE FGN 14 DOC
 6=9B    [   
 6=P2    [THE FOLLOWING MACRO USES THE LOCAL IDENTIFIERS MFINDFS,MFINDFS1,   
 6?8L    [MFINDFS2,MFINDFS3. THEY HAVE THE FOLLOWING SIGNIFICANCE:-  
 6?N=    [   
 6#7W    [     MFINDFS: INITIALLY SET OPTIONALLY TO 2 TO CHECK VALIDITY OF THE   
 6#MG    [              FIRST %A OF A GROUP (MUST BE EQUAL TO 3). THEREAFTER 
 6*76    [              REDEFINED EQUAL TO EACH %A IN TURN TO CHECK ITS VALIDITY 
 6*LQ    [              AS BEING GREATER THAN THE LAST %A OF THE GROUP.  
 6B6B    [   
 6BL2    [    MFINDFS1: POINTS TO NEXT AVAILABLE MEND SPACE. INITIALLY SET   
 6C5L    [              OPTIONALLY TO FIRS & SUBSEQUENTLY REDEFINED AT END OF
 6CK=    [              EACH ISSUE OF FSFILE.
 6D4W    [   
 6DJG    [    MFINDFS2: USED AS A TEMPORARY "STORAGE" IDENTIFIER TO REMEMBER 
 6F46    [              CURRENT FIRS TABLE POINTER WHILE MFINDFS1 IS FREED AND   
 6FHQ    [              REDEFINED.   
 6G3B    [   
 6GH2    [    MFINDFS3: OPTIONALLY SET TO 1 AT START OF EACH ISSUE. RESET TO ZERO
 6H2L    [              IF DEVICE TYPE (%B) IS NONE OF 6,9,OR 13. SUBSEQUENTLY   
 6HG=    [              USED TO SKIP OVER THIS FILESTORE DESCRIPTION IF WRONG
 6H^W    [              DEVICE TYPE. 
 6JFG    [   
 6J^6    [    MFINDFS4: USED TO COUNT THE NUMBER OF DESCRIPTIONS MENDED  
 6KDQ    [              IN   
 6KYB    [   
 6LD2    [    MFINDFS5: USED AS A TEMPORARY IDENTIFIER WHILE MFINDFS4 IS UPDATED 
 6LXL    [   
 6MC=    [     MFINDFS6 : TO REMEMBER IF RESIDENCES ARE DECLARED IN ORDER
 6MWW    [   
 6NBG    [    MFINDFS7: TO REMEMBER IF A SWAP RESIDENCE HAS BEEN DECLARED.   
 6NW6    [              SET NON-ZERO IF THIS FSFILE IS FOR A SWAP RES.   
 6P*Q    #MAC  FSFILE
 6PTB    #LIS  0 
 6Q*2    #SKI  %A-64&#40000000   
 6QSL    (   
 6R#=    #OPT  MFINDFS3=1
 6RRW    #DEF  MFINDFS6=1
 6S?G    #STR  %B,6  
 6SR6    (   
 6T=Q    #STR  %B,9  
 6TQB    (   
 6W=2    #STR  %B,13 
 6WPL    (   
 6X9=    #STR  %B,25 
 6XNW    (   
 6Y8G    #STR  %B,26 
 6YN6    (   
 6^7Q    #FREE MFINDFS3  
 6^MB    #DEF  MFINDFS3=0
 7272    )   
 72LL    )   
 736=    )   
 73KW    )   
 745G    )   
 74K6    #SKI  MFINDFS3  
 754Q    (   
 75JB    #OPT  MFINDFS=2 
 7642    #SKI  MFINDFS-2 
 76HL    #SKI
 773=    #STR  %A,3  
 77GW    #SKI  MFINDFS-2 
 782G    (   
 78G6    #SKI  %A-MFINDFS
 78^Q    #SKI  %A-MFINDFS&#40000000  
 79FB    #SKI
 79^2    (   
 7=DL    #FREE MFINDFS   
 7=Y=    #DEF  MFINDFS=%A       [MFINDFS NOW = NEXT LOGICAL FILE NO. 
 7?CW    #OPT  MFINDFS1=FIRS    [FIRS = ADDRESS OF START OF MEND AREA
 7?XG    #OPT  MFINDFS4=0
 7#C6    #SKI  MFINDFS4-FSTABLEN 
 7#WQ    #SKI
 7*BB          !!TOO MANY FILESTORE DESCRIPTIONS 
 7*W2    #SKI  MFINDFS4-FSTABLEN 
 7B*L    (   
 7BT=    #LIS  3 
 7C#W    #TRA  MFINDFS1  
 7CSG          12H%C            [FILENAME
 7D#6          +%A              [LOGICAL FILE NO.
 7DRQ    #FID  0  5 +%B         [DEVICE TYPE 
 7F?B    #STR  SWAP,%E   
 7FR2    #SKI
 7G=L    (   
 7GQ=    #SKI  %A-3<1$1  
 7H9W    !!RESIDENCE 3 ASWAP FILE??  
 7HPG    #SKI  %A>15-15*G4   
 7J96    !! SWAP RESIDENCE %A IN G4??
 7JNQ    #SKI  %A-3  
 7K8B    (   
 7KN2    #SKI  %A>15-15*G4<1$1   
 7L7L    (   
 7LM=    #FID  6 6 1 
 7M6W    #SKI  MFINDFS7<1$1  
 7MLG    (   
 7N66    #FRE  MFINDFS7  
 7NKQ    #DEF  MFINDFS7=1                   [REMEMBER SWAP RESIDENCE DECLARED
 7P5B    )   
 7PK2    )   
 7Q4L    )   
 7QJ=    )   
 7R3W    #STR  %D
 7RHG    #SKI
 7S36          +0               [ZERO IF NO SERIAL NO PARAMETER  
 7SGQ    #STR  %D
 7T2B    (   
 7TG2          +#%D                         [SERIAL NO.  
 7T^L    #SKI  +#%D&#77000000
 7WF=    (   
 7WYW    !!SERIAL NO. TOOBIG!!   
 7XDG    #DEF  0?=0?-1   
 7XY6          +0
 7YCQ    )   
 7YXB    )   
 7^C2    #DEF  MFINDFS2=MFINDFS1+5          [STEP IDENTIFIER FOR NEXT MEND AREA  
 7^WL    #FREE MFINDFS1  
 82B=    #DEF  MFINDFS1=MFINDFS2        [MFINDFS1 SET FOR NEXT MACRO 
 82TW    #FREE MFINDFS2                 [FREE READY FOR NEXT TIME ROUND REDEF
 83*G    #DEF  MFINDFS5=MFINDFS4+1   
 83T6    #FRE  MFINDFS4  
 84#Q    #DEF  MFINDFS4=MFINDFS5 
 84SB    #FRE  MFINDFS5  
 85#2    #FRE  MFINDFS6  
 85RL    #DEF  MFINDFS6=0
 86?=    #LIS  0 
 86QW    )   
 87=G    )   
 87Q6    #SKI  MFINDFS6  
 889Q    !!FSFILE OUT OF SEQUENCE!!  
 88PB    )   
 8992    #SKI  MFINDFS-2 
 89NL    #SKI
 8=8=    (   
 8=MW    #STR  %A,3  
 8?7G    !WHERE'S RES.3??
 8?M6    )   
 8#6Q    )   
 8#LB    #SKI  MFINDFS3<1$1  
 8*62       !!WRONG DEVICE TYPE  
 8*KL    #FRE  MFINDFS3,MFINDFS6 
 8B5=    )   
 8BJW    #SKI  63<%A-%A  
 8C4G    (   
 8CJ6    !! RESIDENCE NO. %A??   
 8D3Q    )   
 8DHB    #LIS  3 
 8F32    #NORMAL