d .TITLE TMPDATA .IDENT /V01.01 (01-84)/ ,; DONNEES COMMUNES AUX DIFFERENTS MODULES  .LIBRARY \SYS$LIBRARY:LIB\  $FABDEF X $NAMDEF  $RABDEF  $FIBDEF  $JPIDEF  $DIBDEF LTMP$K_MBUFSIZ=16 ;TAILLE DU BUFFER MAILBOX TMP$K_MAXPROC=64 ;NOMBRE MAXIMUM DE PROCESSES POUVANT AVOIR ; SIMULTANEMENT DES FICHIERS TEMPORAIRES xTMP$K_MAXBUF=16 ;NOMBRE MAXIMUM DE BUFFERS  ASSUME <*8> EQ TMP$K_MAXPROC @ ASSUME <*8> EQ TMP$K_MAXBUF  ASSUME TMP$K_MAXBUF GE 8  ASSUME TMP$K_MAXPROC GE 8 l $DEFINI TMP ; NOMBRE DE BLOCS DISPONIBLES 4$DEF TMP$L_FREEBLOCKS .BLKL 1 ; NOM PHYSIQUE ASSOCIE A SYS$TMP: $DEF TMP$W_DIRLENGTH .BLKW 1 ;LONGUEUR DU NOM PHYSIQUE ` $DEF TMP$T_DIRNAME .BLKB 255 ;NOM PHYSIQUE $DEF TMP$Q_DIRDESC .BLKL 2 ;DESCRIPTEUR DU NOM PHYSIQUE ( $DEF TMP$Q_DISKNAME .BLKL 2 ;DESCRIPTEUR DU NOM DU DISQUE $DEF TMP$W_CHAN1 .BLKW 1 ;CANAUX D'ACCES AU DISQUE $DEF TMP$W_CHAN2 .BLKW 1 T $DEF TMP$T_DIRECTORY .BLKB 255 ;NOM DU FICHIER DIRECTORY $DEF TMP$W_DIRID .BLKW 3 ;IDENTIFICATION DU DIRECTORY  $DEF TMP$W_MBCHAN .BLKW 1 ;CANAL D'ACCES A LA MAILBOX $DEF TMP$G_FABQUOTA .BLKB FAB$C_BLN ;FAB DE QUOTA.TMP $DEF TMP$G_RABQUOTA .BLKB RAB$C_BLN ;RAB DE QUOTA.TMP H $DEF TMP$G_FABDIR .BLKB FAB$C_BLN ;FAB DU DIRECTORY $DEF TMP$G_NAMDIR .BLKB NAM$C_BLN ;NAM DU DIRECTORY $DEF TMP$G_ESADIR .BLKB 255 ;ESA DU DIRECTORY t$DEF TMP$G_RSADIR .BLKB 255 ;RSA DU DIRECTORY $DEF TMP$L_STCREATE .BLKL 1 ;STATUS DE CREATION DE QUOTA.TMP <$DEF TMP$Q_QUOTAINADR .BLKQ 1 ;ADRESSES EXPREG $DEF TMP$Q_QUOTARETADR .BLKQ 1 ;ADRESSES SECTION GLOB. $DEF TMP$Q_MBBUFDESC .BLKQ 1 ;DESCRIPTEUR DU BUFFER h$DEF TMP$T_MBBUF .BLKB DIB$K_LENGTH ;BUFFER $DEF TMP$W_MBUNIT .BLKW 1 ;UNITE DE LA MAILBOX 0$DEF TMP$W_MBUNIT_USER .BLKW 1 ;MAILBOX UTILISATEUR $DEF TMP$Q_MIOSB .BLKQ 1 ;STATUS BLOC $DEF TMP$Q_ALLQUEUE .BLKQ 1 ;QUEUE D'ALLOCATION \$DEF TMP$Q_DEALQUEUE .BLKQ 1 ;QUEUE DE DESALLOCATION $DEF TMP$L_ALLBUF .BLKB 24 ;BUFFER D'ALLOCATION $$DEF TMP$L_DEALBUF .BLKB 22 ;BUFFER DE DESALLOCATION $DEF TMP$T_BITMAP .BLKW TMP$K_MAXBUF/16 ;BITMAP DES BUFFERS $DEF TMP$Q_BUFADR .BLKQ 1 ;ADRESSES DES BUFFERS P$DEF TMP$T_PROCMAP .BLKW TMP$K_MAXPROC/16 ;BITMAP DE LA TABLE $DEF TMP$Q_PROCTABLE .BLKQ 1 ;TABLE DES PROCESSES $DEF TMP_K_SIZE | .MACRO SETBIT VAL,FLAG  .NTYPE _$$_ VAL D .IF EQ <_$$_-^X0EF>  .IF NDF VAL  BBSS S^#VAL,FLAG,.+1 p .IFF  .IF LT 8 BISB #<1@VAL>,FLAG  .IFF  BBSS #VAL,FLAG,.+1 d .ENDC  .ENDC , .IFF  BBSS VAL,FLAG,.+1  .ENDC X .ENDM SETBIT  .MACRO CLRBIT VAL,FLAG  .NTYPE _$$_ VAL  .IF EQ <_$$_-^X0EF>  .IF NDF VAL L BBCC S^#VAL,FLAG,.+1  .IFF  .IF LT x BICB #<1@VAL>,FLAG  .IFF @ BBCC #VAL,FLAG,.+1  .ENDC  .ENDC l .IFF BBCC VAL,FLAG,.+1 4! .ENDC ! .ENDM CLRBIT ! .MACRO FFCL START,SIZE,BASE,POSITION,?L1,?L2,?L3,?L4 `" PUSHR #^M " MOVL START,R6 (# MOVW SIZE,R7 # CLRL R8 #L1: CMPW R7,#32 T$ BLEQU L2 $ FFC R6,#32,BASE,POSITION % BNEQ L3 % SUBW #32,R7 % ADDL2 #32,R6 H& ADDL2 #32,R8 & BRB L1 'L2: FFC R6,R7,BASE,POSITION t' BNEQ L3 ' BISPSW #4 <( BRB L4 (L3: BICPSW #4 )L4: POPR #^M h) .ENDM FFCL ) .MACRO FFSL START,SIZE,BASE,POSITION,?L1,?L2,?L3,?L4 0* PUSHR #^M * MOVL START,R6 * MOVW SIZE,R7 \+ CLRL R8 +L1: CMPW R7,#32 $, BLEQU L2 , FFS R6,#32,BASE,POSITION , BNEQ L3 P- SUBW #32,R7 - ADDL2 #32,R6 . ADDL2 #32,R8 |. BRB L1 .L2: FFS R6,R7,BASE,POSITION D/ BNEQ L3 / BISPSW #4 0 BRB L4 p0L3: BICPSW #4 0L4: POPR #^M 81 .ENDM FFSL 1 .PSECT TMP_RWDATA,NOEXE,RD,WRT,LONG 2TMP$T_NOMLOG: .LONG 20$-10$ d2 .LONG 10$ 210$: .ASCII /SYS$TMP/ ,320$: