15 22FL ...#SEG OWNERCHE [EDWARD MOON 8 22_= #OPT K0OWNERCHE=0 8 23DW #OPT K6OWNERCHE=0 15 23YG #LIS K0OWNERCHE>K0ALLGEO>K0GREATGEO>K0FILESTORE 10 24D6 8HOWNERCHE 12 24XQ SEGENTRY K1OWNERCHE,Z1OWNER 12 25CB SEGENTRY K2OWNERCHE,Z2OWNER 21 25X2 # THIS ROUTINE CHECKS IF FILES IN THE DIRECTORY OPEN AT THE TOP LEVE 21 26BL # ARE OWNED BY THE PROPER USER.IF THEY ARE THE REPLY 'OK' IS TO BE S 13 26W= # OTHERWISE THE REPLY IS 'NOTOWNER'. 4 27*W MAS 9 27TG 12HMASTER 2 28*6 2 28SQ 8 28_Y ...SINFACC 8HINFACC 8 2976 ...SALLACC 8HALLACC 5 29#B Z1OWNER 10 29FJ ... LDX 0 ACOMMUNE8(2) 9 29LQ ... STO 0 AWORK1(2) 7 29S2 #SKI ANOUSER 4 2=?L ( 17 2=R= BRUSEN NOUS [J IF NO USER CONTEXT 10 2?=W FCJOB 2,FX2,,CPA 18 2?QG ADN 2 JUSER [PROPER USER FROM JUSER 8 2#=6 BRN NEXT 18 2#PQ NOUS ADN 2 CPREFIX [PROPER USER FROM CPREFIX 4 2*9B ) 8 2*P2 #SKI ANOUSER<1$1 4 2B8L ( 20 2BN= FCJOB 2,FX2,,CPA [FIND JOB BLOCK OF CURRENT USER 10 2C7W LDX 4 ALOGLEN(2) 20 2CMG SBN 4 ASTJOB [CHECK JOBLOCK LONGER THAN ASTJOB 17 2D76 BNZ 4 USECO [J IF USER CONTEXT 16 2DLQ LDX 2 FX2 [NO USER CONTEXT 21 2F6B ADN 2 CPREFIX [PROPER USER IS TAKEN FROM CPREFIX 8 2FL2 BRN NEXT 20 2G5L USECO ADN 2 JUSER [PROPER USER IS TAKEN FROM JUSER 4 2GK= ) 20 2H4W NEXT LDX 3 0(2) [GET PROPER USER NAME IN X3,4,5 8 2HJG LDX 4 1(2) 8 2J46 LDX 5 2(2) 18 2JHQ TOPFCB 2 [GIVE POINTER TO FILE/FCB 9 2K3B #SKI K6OWNERCHE>49-49 4 2KH2 ( 9 2L2L LDX 0 COMM(2) 16 2LG= BNG 0 YDIR [J IF DIRECTORY 9 2L_W GEOERR 1,NOTDIR 4 2MFG YDIR 4 2M_6 ) 20 2NDQ BXU 3 FME1(2),NOT [CHECK IF USER OF THIS DIRECTORY 17 2NYB BXU 4 FME2(2),NOT [IS THE PROPER USER 14 2PD2 BXU 5 FME3(2),NOT [J IF NOT 8 2PMS ... SREPC OK 8 2PXL OK SETREP OK 5 2QC= UP 2 2QWW 4 2RBG NOT 4 2RW6 #SKI 4 2S*Q ( 17 2STB LDX 6 FME1(2) [GET NAME FROM FCB 9 2T*2 LDX 7 FME2(2) 9 2TSL LDX 0 FME3(2) 9 2W#= TXU 6 MAS(1) 9 2WRW TXU 7 MAS+1(1) 9 2X?G TXU 0 MAS+2(1) 15 2XR6 BCC XXMAS [J IF :MASTER 4 2Y=Q ) 17 2YQB SETNCORE 4,2,FILE,FABSNB [SET UP FILE/FABSNB 18 2_=2 LDN 1 4 [SET UP RECORD HEADER=4 19 2_PL STO 1 A1(2) [SET RECORD HEADER IN FABSNB 17 329= TOPFCB 1 [POINTER TO FILE/FCB 9 32NW LDN 1 FME1(1) 9 338G LDN 2 A1+1(2) 20 33N6 MOVE 1 3 [MOVE USER NAME INTO FILE/FABSNB 20 347Q BRN NFIND [J TO EXPAND ABSOLUTE FILENAME 4 34MB # 9 3572 # CHECKOWNER MACRO 4 35LL # 16 366= # A 4 WORD FILE/FABSNB MUST BE PROVIDED. 21 36KW # THE ROUTINE CHECKS IF THE ENTRANT,WHOSE NAME IS IN THE FABSN 12 375G # IS OWNED BY THE PROPER USER. 4 37K6 # 5 384Q Z2OWNER 9 38#J ... STOZ AWORK1(2) 7 38JB #SKI ANOUSER 4 3942 ( 17 39HL BRUSEN NOUSE [J IF NO USER CONTEXT 10 3=3= FCJOB 2,FX2,,CPA 8 3=GW ADN 2 JUSER 8 3?2G BRN PICK 9 3?G6 NOUSE ADN 2 CPREFIX 4 3?_Q ) 8 3#FB #SKI ANOUSER<1$1 4 3#_2 ( 20 3*DL FCJOB 2,FX2,,CPA [FIND JOB BLOCK OF CURRENT USER 10 3*Y= LDX 4 ALOGLEN(2) 18 3BCW SBN 4 ASTJOB [CHECK LENGTH OF JOBLOCK 17 3BXG BNZ 4 USERC [J IF USER CONTEXT 8 3CC6 LDX 2 FX2 18 3CWQ ADN 2 CPREFIX [PROPER USER FROM CPREFIX 8 3DBB BRN PICK 18 3DW2 USERC ADN 2 JUSER [PROPER USER FROM JUSER 4 3F*L ) 4 3FT= PICK 18 3G#W LDX 3 0(2) [PICK UP PROPER USER NAME 8 3GSG LDX 4 1(2) 8 3H#6 LDX 5 2(2) 16 3HRQ HUNT 2,FILE,FABSNB [FIND FILE/FABSNB 16 3J?B BXU 3 A1+1(2),NFIND [CHECK IF IT IS 15 3JR2 BXU 4 A1+2(2),NFIND [PROPER USER 10 3K=L BXE 5 A1+3(2),ZFREE 4 3KQ= #SKI 4 3L9W ( 9 3LPG LDX 6 A1+1(2) 9 3M96 LDX 7 A1+2(2) 9 3MNQ LDX 0 A1+3(2) 18 3N8B TXU 6 MAS(1) [CHECK IF IT IS :MASTER 9 3NN2 TXU 7 MAS+1(1) 9 3P7L TXU 0 MAS+2(1) 15 3PM= BCC XMAST [J IF :MASTER 4 3Q6W ) 21 3QLG NFIND FINDNAME [EXPAND ABSOLUTE FILENAME TO FULL ANM 10 3R66 HUNT 2,FILE,FABSNB 18 3RKQ LDX 1 A1(2) [PICK UP RECORD HEADER 21 3S5B # IF FABSNB STILL 4 WDS LONG,THEN MUST BE =MASTER & SO REPLY NOTOWNER 7 3SK2 SBN 1 4 16 3T4L BZE 1 XMAST [J IF 4 WD FABSNB 21 3TJ= ADN 1 A1-1 [SET POINTER TO THE BOTTOM USERNAME 16 3W3W ADX 1 2 [IN FILE/FABSNB 18 3WHG NOPRU LDX 0 3(1) [TEST IF IT IS PSEUDOUSER 17 3X36 BNG 0 PSEUS [J IF IT IS PSEUDO 10 3X44 ... SEGENTRY K55OWNERCHE 4 3X53 ...# 15 3X6Y ...# THIS SECTION CHECKS FOR ALLACC AND INFACC 13 3X8T ...# PRIVELEGES USED FOR TWIN SYSTEMS 4 3X=Q ...# 18 3X#M ... SMO FX2 [DONT CHECK FOR QUALIFIER 21 3XBJ ... LDX 0 AWORK1 [IF 'NOADJ' PARAM FROM OWNERCHECK MAC 8 3XDF ... BNZ 0 NOADJ 11 3XGB ... HUNT 2,FILE,ADJUNCTS 16 3XJ? ... BNG 2 XMAST [ NO QUALIFIER ? 19 3XL8 ... JBC XMAST,2,BAOWNACC [NOT 'OWNERACC' QUALIFIER ? 5 3XN5 ...NOADJ 18 3XQ2 ... CHEKPRIV 0,SALLACC,NOTALAC [CHECK FOR 'ALLACC' PRIV. 9 3XRX ... SREPC NOTOWNER 10 3XTS ... MFREE FILE,FABSNB 8 3XXP ... BRN OK 5 3X_L ...NOTALAC 10 3Y3H ... HUNT 2,FILE,FABSNB 7 3Y5D ... STO 2 0 7 3Y7* ... ADN 0 9 8 3Y9= ... SMO A1(2) 19 3Y?7 ... ADN 2 A1-5 [PTR. TO LAST NAME IN FABSNB 5 3Y*4 ...NXTUSA 10 3YB_ ... BXU 3 0(2),NOTUSER 10 3YDW ... BXU 4 1(2),NOTUSER 21 3YGR ... BXU 5 2(2),NOTUSER [IS USERNAME INFERIOR TO PROPER USE 21 3YJN ... CHEKPRIV 0,SINFACC,NOTINFAC [ I.E. IS 'INFACC' PRIV. REQUIRED ? 18 3YLK ... SREPC NOTOWNER [ IF IT IS, CHECK FOR IT 10 3YNG ... MFREE FILE,FABSNB 8 3YQC ... BRN OK 5 3YS# ...NOTUSER 7 3YW9 ... SBN 2 6 10 3YY6 ... BXL 2 0,NOTALACPR 9 3_23 ... BRN NXTUSA 5 3_3Y ...NOTINFAC 9 3_5T ... SETREP NOINFACC 9 3_7Q ... BRN REPFREE 6 3_9M ...NOTALACPR 9 3_?J ... SETREP NOALLACC 9 3_*F ... BRN REPFREE 5 3_CB ...XXMAST 9 3_F? ... SETREP NOTOWNER 8 3_H8 ... BRN REPLY 10 3_J6 ... SEGENTRY K56OWNERCHE 5 3_K5 ...XMAST 9 3_M2 ... SETREP NOTOWNER 5 3_NX ...REPFREE 10 3_QS ... MFREE FILE,FABSNB 5 3_SP ...REPLY 5 3_WL ... UP 21 3_YW PSEUS SBN 1 6 [SET POINTER TO NEXT USER IN FABSNB 10 42DG BXU 3 0(1),NOPRU 16 42Y6 BXU 4 1(1),NOPRU [J IF IT IS NOT 15 43CQ BXU 5 2(1),NOPRU [PROPER USER 5 43XB ZFREE 18 44C2 FREECORE 2 [RETURN FABSNB TO FREE 8 44LS ... SREPC OK 15 44WL BRN OK [PRINT 'OK' 5 45B= #GAP 20 4 45TW #END 8 ____ ...64072416000200000000