*COMDECK PBBFAVAIL
_$J+  PAGE EJECT ?
_ 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
*               P B 1 B F A V A I L / P B N B F A V A I L             * 
*                                                                     * 
*         TEST IF 1 OR N BUFFERS AVAILABLE OVER A GIVEN THRESHOLD     * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
? 
_$R-,G-,I+  NON-RECURSIVE, NON-INTERRUPTABLE ?
_ 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
*                                                                     * 
** OVERVIEW - TEST FOR 1 OR N BUFFERS AVAILABLE OVER THRESHOLD.       * 
*                                                                     * 
** INPUT    - PB1BFAVAIL: THRESHOLD-INDEX                             * 
*             PBNBFAVAIL: NR BUFFERS OVER THRESHOLD, THRESHOLD-INDEX  * 
*                                                                     * 
** OUTPUT   - BOOLEAN TRUE IF ENOUGH BUFFERS AVAIALBLE                * 
*                                                                     * 
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 
? 
FUNCTION PB1BFAVAIL (AVTHR : B0BUFLEVELS) : BOOLEAN;
  
VAR 
      BUFCNT : INTEGER;                     _CURRENT NUMBER OF BUFFERS ?
  
BEGIN 
PBDF ($010C, BUFCNT);                       _GET NUMBER OF AVAILABLE BF?
PB1BFAVAIL := BUFCNT > BFTHRESH [AVTHR];
END; _FUNCTION PB1BFAVAIL?
  
  
  
FUNCTION PBNBFAVAIL (AVNRB : INTEGER; AVTHR : B0BUFLEVELS) : BOOLEAN; 
  
VAR 
      BUFCNT : INTEGER;                     _CURRENT NUMBER OF BUFFERS ?
  
BEGIN 
PBDF ($010C, BUFCNT);                       _GET NUMBER OF AVAILABLE BF?
PBNBFAVAIL := BUFCNT > BFTHRESH [AVTHR] + AVNRB;
END; _FUNCTION PBNBFAVAIL?
