22 SUBPROGRAMS FOR NAMED BANK VALIDATION
            A common problem in code making use of ybos banks is  for
       the  header  of one named bank to be inadvertently overwritten
       when storing data  in  the  preceeding  bank.   Header,  here,
       refers  to  the  first  four  words  of  the named bank (name,
       number, pointer, and number of data words).  Serveral routines
       have  been written to detect when a named bank header has been
       corrupted.

            Another common problem  is  for  an  extended  bank  type
       header to have inconsistencies.  A routine has been written to
       detect these problems as well.

            The following subprograms are available:-

               BVALID  Validate YBOS array named bank region

               BVALON  Turn normal bank validation mode on

               BVALOF  Turn any bank validation mode off

               BVALST  Set an alternate validation mode 

               BVALEX  Examine bank validation mode 

               BCHECK  Check extended bank header for consistency


22.1 BVALID - Validate YBOS Array Named Bank Region
       

            This function validated the  named  bank  region  of  the
       input Ybos array JW.

       Calling Sequence

             STATUS = BVALID(JW)

       Input Parameters

             JW                        YBOS array name

       Output Parameters

             None

       Function Value

             BVALID  (Integer)                 YESUCC  Success
                                               YEBDBK  Header bank name
                                                       word corrupted
                                               YENONR  Header bank number 
                                                       word invalid
                                               YEBDCH  Corrupted bank chain
                                               YEBDLU  Corrupted blink work bank
                                               YEBDBS  Corrupted binnary search bank

            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  The YEBDCH error (Corrupted bank chain) implies  that
                the   primary   bank   location  mechanism  has  been
                corrupted.  Usually this error is reported  when  the
                bank  number  or  next bank pointer header words have
                been corrupted.

            3.  The YEBDLU error (Corrupted blink work bank)  implies
                that  a  direct  lookup  work bank, created by BLINK,
                holds inaccurate information about the location of  a
                named bank, or lacks information for the named bank.

            4.  The YEBDBS  error  (Corrupted  binnary  search  bank)
                implies  the  the  mechanism  for locating banks of a
                given name for which there are more that IYMAXN banks
                is corrupt.



       22.2  BVALON - Turn On Bank Validation Mode

            This function turns normal bank  validation  on  for  all
       subsequent   Ybos  function  calls.   Normal  bank  validation
       implies that function calls will fail if named bank validation
       finds errors.

       Calling Sequence

             STATUS = BVALON(JW)

       Input Parameters

             JW                        YBOS array name

       Output Parameters

             None

       Function Value

             BVALON  (Integer)                 YESUCC  Success


            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  Bank validation mode means that  all  Ybos  functions
                will  call  BVALID  prior  to performing its specific
                operation.  Since this is very time  consuming,  bank
                validation  mode  should  be used as a dubugging tool
                only.

            3.  To turn bank validation off, call BVALOF



       22.3  BVALOF - Turn Off Bank Validation Mode

            This  function  turns  bank  validation   off   for   all
       subsequent Ybos function calls.

       Calling Sequence

             STATUS = BVALOF(JW)

       Input Parameters

             JW                        YBOS array name

       Output Parameters

             None

       Function Value

             BVALOF  (Integer)                 YESUCC  Success


            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  Bank validation mode means that  all  Ybos  functions
                will  call  BVALID  prior  to performing its specific
                operation.  Since this is very time  consuming,  bank
                validation  mode  should  be used as a dubugging tool
                only.

            3.  To turn bank validation on, call BVALON



       22.4  BVALST - Select an Alternate Bank Validation Mode

            This  function  turns  normal  or  continue   mode   bank
       validation  on for all subsequent Ybos function calls.  Normal
       bank validation implies that function calls will fail if named
       bank  validation  finds errors.  Continue mode bank validation
       implies that function calls will continue and possibly succeed
       even if bank validation finds errors.

       Calling Sequence

             STATUS = BVALST(JW,NEWMOD,OLDMOD)

       Input Parameters

             JW                        YBOS array name
             NEWMOD   (INTEGER)        Desired bank validation mode.     

                                       NEWMOD = 0 implies all bank validation 
                                                is turned off.

                                       NEWMOD = 1 implies normal bank validation 
                                                will be turned on. 

                                       NEWMOD = 2 implies continue mode bank validation
                                                will be turned on. 


       Output Parameters

             OLDMOD   (INTEGER)        Old bank validation mode.     
             

       Function Value

             BVALST  (Integer)                 YESUCC  Success


            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  Bank validation mode means that  all  Ybos  functions
                will  call  BVALID  prior  to performing its specific
                operation.  Since this is very time  consuming,  bank
                validation  mode  should  be used as a dubugging tool
                only.



       22.5  BVALEX - Examine Named Bank Validation Flag

            This function returns the named bank validation flag.

       Calling Sequence

             STATUS = BVALEX(JW,FLAG)

       Input Parameters

             JW                        YBOS array

       Output Parameters

             FLAG                      Named bank validation flag.
             
                                       FLAG = 0 implies all bank validation 
                                                is turned off.

                                       FLAG = 1 implies normal bank validation 
                                                is turned on (ybos function calls
                                                will fail if bank validation finds
                                                errors)

                                       FLAG = 2 implies continue mode bank validation
                                                is turned on (ybos function calls will
                                                continue and possibly succeed even if
                                                bank validation finds errors)

                                                

            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.



       22.6  BCHECK - Check Extended Bank Header for Consistency

            This function checks the new ybos  extended  bank  header
       for  consistency  and  completeness.  No printout is performed
       (other than calls to BWARN).

       Calling Sequence

             STATUS = BCHECK(JW,NAME,NR)

       Input Parameters

             JW                        YBOS array name.
             NAME  (Characte*4)        Name of bank to be checked
             NR    (Integer)           Number of bank to be checked   

       Output Parameters

             None

       Function Value

             BCHECK (Integer)          YESUCC  Success
                                       YENOBK  Non-existant bank name
                                       YENONR  Non-existant bank number
                                       YEBKNG  Negative bank length
                                       YEBKOV  Insufficient space for bank
                                       YERSUS  User location already reserved
                                       YEBTIL  Unrecognized bank id
                                       YEGRIL  Unrecognized group id
                                       YECHKF  Internal Consistency check failure
                                       YESTOF  Stack Limit exceeded
                                       YENOTA  Data Not Alligned
                                       YEBNKP  Bank padded with extra words


            N.B.

            1.  The array name JW may be either the basic YBOS  array
                or a secondry YBOS array.

            2.  This function steps through the extended bank  header
                and  makes  sure  that  the  bank type and group type
                words     are     among     those     defined      in
                Ybos$library:bnktyp.inc.   It  also  checks  that the
                number of words required by the extended bank  header
                actually exist in the bank.



       23  SUBPROGRAMS FOR YBOS ARRAY FREE SPACE MONITORING

            Several  subprograms  are  available  for  examining  the
       current  free  space  in  a  YBOS array, and lowest value free
       space has reached in the life of the YBOS array.

            They are the following:-

               BMNSPR  Report lowest Free Space Value

               BMNSPI  Set lowest Free Space header word to its initial value

               BFRSPC  Report current Free Space value

               BSPACR  Report Length of array



       23.1  BMNSPR - Report Lowest Free Space Value.

            This subprogram returns the lowest value that Free  Space
       has reached in the input YBOS array.  Free Space is defined as
       the amount of deleted named bank and work bank words plus  the
       size of the GAP.

       Calling Sequence

             STATUS = BMNSPR(JW,MINSPC)

       Input Parameters

             JW                        YBOS array name.

       Output Parameters

             MINSPC (Integer)          Minimum Free Space Value

       Function Value

             BMNSPR (Integer)          YBOS Status Flag


            N.B.

            1.  The array name JW may be either the basic YBOS  array
                or a secondry YBOS array.

            2.  MINSPC is the lowest value  Free  Space  has  reached
                since  the  Free  space  YBOS  header  word  has been
                initialized (either during YBOS initialization or  by
                a call to BMNSPI).

            3.  If the array has not  been  initialized,  the  YECORR
                status is returned and MINSPC is set to 0.

            4.  A call to BVALON prior to  using  this  routine  will
                result  in  named  bank  validation taking place upon
                calling this routine.  For example,

                      
                      STATUS = BVALON(JW)              (Turn validation on) 
                      STATUS = ....                    (Call the routine) 
                      STATUS = BVALOF(JW)              (Turn validation off) 



       23.2  BMNSPI - Initialize Lowest Free Space YBOS Header Word.

            This subprogram sets the lowest free  space  ybos  header
       word  to  its  initial  value  of JW(IYLENG)-JW(IYNSYS) (array
       length minus the number of ybos header words).

       Calling Sequence

             STATUS = BMNSPI(JW)

       Input Parameters

             JW                        YBOS array name.

       Output Parameters

             NONE

       Function Value

             BMNSPI (Integer)          YBOS Status Flag


            N.B.

            1.  The array name JW may be either the basic YBOS  array
                or a secondry YBOS array.

            2.  If the array has not  been  initialized,  the  YECORR
                status is returned.

            3.  A call to BVALON prior to  using  this  routine  will
                result  in  named  bank  validation taking place upon
                calling this routine.  For example,

                      
                      STATUS = BVALON(JW)              (Turn validation on) 
                      STATUS = ....                    (Call the routine) 
                      STATUS = BVALOF(JW)              (Turn validation off) 



       23.3  BFRSPC - Report Current Free Space Value.

            This subprogram returns the current value that Free Space
       in  the input YBOS array.  Free Space is defined as the amount
       of deleted named bank and work bank words plus the size of the
       GAP.

       Calling Sequence

             STATUS =BFRSPC(JW,CURR)

       Input Parameters

             JW                        YBOS array name.

       Output Parameters

             CURR   (Integer)          Curent Free Space Value

       Function Value

             BFRSPC (Integer)          YBOS Status Flag


            N.B.

            1.  The array name JW may be either the basic YBOS  array
                or a secondry YBOS array.

            2.  If the array has not  been  initialized,  the  YECORR
                status is returned and CURR is set to 0.

            3.  A call to BVALON prior to  using  this  routine  will
                result  in  named  bank  validation taking place upon
                calling this routine.  For example,

                      
                      STATUS = BVALON(JW)              (Turn validation on) 
                      STATUS = ....                    (Call the routine) 
                      STATUS = BVALOF(JW)              (Turn validation off) 



       23.4  BSPACR - Report Length Of YBOS Array.

            This subprogram returns the  length  of  the  input  YBOS
       array.

       Calling Sequence

             STATUS =BSPACR(JW,LENG)

       Input Parameters

             JW                        YBOS array name.

       Output Parameters

             LENG   (Integer)          Length of the array

       Function Value

             BSPACR (Integer)          YBOS Status Flag


            N.B.

            1.  The array name JW may be either the basic YBOS  array
                or a secondry YBOS array.

            2.  If the array has not  been  initialized,  the  YECORR
                status is returned and LENG is set to 0.

            3.  A call to BVALON prior to  using  this  routine  will
                result  in  named  bank  validation taking place upon
                calling this routine.  For example,

                      
                      STATUS = BVALON(JW)              (Turn validation on) 
                      STATUS = ....                    (Call the routine) 
                      STATUS = BVALOF(JW)              (Turn validation off) 


24 UTILITY SUBPROGRAMS

            Several general utility subprograms are available.   They
       are the following:-

               BAHEAD  Print all Bank Headers

               BCONV   Convert YBOS Banks to and from VAX representation

               BDUMP   Dumps YBOS bank according to the extended bank header

               BERROR  Return Error Code for last YBOS Call

               BERLEV  Specify new Error Level

               BERMES  Print a warning message

               BGRBEX  Return Named Bank garbage collection flag

               BIOERR  Print a warning message

               BOPTN   Specify special option for next YBOS Call

               BOSDP   Dump YBOS array

               BOSTA   Print status of array

               BPUNIT  Specify new YBOS Print Unit

               BPLIMT  Specify new YBOS Bank print limit

               BPREST  Reset the ybos bank print count

               BVERSN  Check YBOS version number

               BWLIMT  Specify new YBOS Error Message limit

               NAMIND  Get name-index for specified bank name

               YBERMS  Print an error message

               BWRTOF  Switch to YBOS readonly mode

               BWRTON  Switch out of YBOS readonly mode

               BCHINT  Convert a Character*4 variable to Integer*4

               BINTCH  Convert a Integer*4 variable to Charactewrtonr*4


24.1 BAHEAD - Print all Bank Headers
            This subprogram is used to print the bank headers for all
       named banks on the currently specified YBOS Print Unit.

       Calling Sequence

             STATUS = BAHEAD(JW)

       Input Parameters

             JW                        YBOS array name.

       Output Parameters

             None

       Function Value

             BAHEAD (Integer)          YESUCC  Success


            N.B.

            1.  The array name JW may be either the basic YBOS  array
                or a secondry YBOS array.

            2.  YBOS maintains a count of the number  of  banks  that
                have  been printed.  When this count reaches a preset
                limit (default 100) then no  further  banks  will  be
                printed.  This limit may be modified from its default
                setting of 100 by a call to subprogram BPLIMT.

            3.  The currently specified YBOS Print Unit  (default  6)
                may be modified by a call to subprogram BPUNIT.

            4.  A call to BVALON prior to  using  this  routine  will
                result  in  named  bank  validation taking place upon
                calling this routine.  For example,

                      
                      STATUS = BVALON(JW)              (Turn validation on) 
                      STATUS = ....                    (Call the routine) 
                      STATUS = BVALOF(JW)              (Turn validation off) 


24.2 BCONV - Convert YBOS Banks to and from VAX Representation


            This  function  converts  ybos  banks  to/from  the   VAX
       variable  representation  from/to  a non vax (target) variable
       representation.

       Calling Sequence

             STATUS = BCONV(JW,SOURCE,DESTIN,NWORDS,MODE)

       Input Parameters

             JW                        YBOS array name.
             SOURCE (array)            Bank to be converted
             DESTIN (array)            Output array for converted array
             NWORDS (integer)          Inclusive bank length
             MODE   (Integer)          = 0  VAX to target representation 
                                       = 1  Target to VAX representation
       Output Parameters

             None

       Function Value

             BCONV (Integer)           YESUCC  Success
                                       YENOBK  Non-existant bank name
                                       YENONR  Non-existant bank number
                                       YEBKNG  Negative bank length
                                       YEBKOV  Insufficient space for bank
                                       YERSUS  User location already reserved
                                       YEBTIL  Unrecognized bank id
                                       YEGRIL  Unrecognized group id
                                       YECHKF  Internal Consistency check failure
                                       YESTOF  Stack Limit exceeded
                                       YENOTA  Data Not Alligned
                                       YEBNKP  Bank padded with extra words


            N.B.

            1.  The array name JW may be either the basic YBOS  array
                or a secondry YBOS array.

            2.  The SOURCE parameter is an array (possilbly a portion
                of  a  ybos  array)  whose contents is the bank to be
                converted.    SOURCE(1)   must   be    the    integer
                representation  of  the bank name, SOURCE(2) the bank
                number, etc.

            3.  The DESTIN parameter is an array (possilbly a portion
                of a ybos array) whose contents will (upon return) be
                the converted contents of SOURCE.  DESTIN and  SOURCE
                may be the same array.

            4.  The NWORDS  parameter  is  the  inclusive  (including
                header words) bank length.

            5.  The  MODE  parameter  determines  the  direction   of
                coversion.

                     1) BCONV called on a VAX does nothing.

                     2) BCONV called on the target node:

                     Mode = 0 - Convert from VAX to target variable

                     representation

                     Mode = 1 - Convert from target to VAX variable

                     representation


24.3 BDUMP - Dumps YBOS Bank According to the Extended Bank Header

            This function dumps a ybos bank according to its extended
       bank header, in the process of dumping it also checks the ybos
       extended bank header for consistency and completeness.

       Calling Sequence

             STATUS = BDUMP(JW,NAME,NR)

       Input Parameters

             JW                        YBOS array name.
             NAME  (Characte*4)        Name of bank to be checked
             NR    (Integer)           Number of bank to be checked   

       Output Parameters

             None

       Function Value

             BDUMP (Integer)           YESUCC  Success
                                       YENOBK  Non-existant bank name
                                       YENONR  Non-existant bank number
                                       YEBKNG  Negative bank length
                                       YEBKOV  Insufficient space for bank
                                       YERSUS  User location already reserved
                                       YEBTIL  Unrecognized bank id
                                       YEGRIL  Unrecognized group id
                                       YECHKF  Internal Consistency check failure
                                       YESTOF  Stack Limit exceeded
                                       YENOTA  Data Not Alligned
                                       YEBNKP  Bank padded with extra words


            N.B.

            1.  The array name JW may be either the basic YBOS  array
                or a secondry YBOS array.

            2.  This function steps through the extended bank  header
                and  makes  sure  that  the  bank type and group type
                words     are     among     those     defined      in
                Ybos$library:bnktyp.inc.   It  also  checks  that the
                number of words required by the extended bank  header
                actually  exist  in  the bank.  Finally, it Dumps the
                bank contents formatted  according  to  the  extended
                bank header.

            3.  A call to BVALON prior to  using  this  routine  will
                result  in  named  bank  validation taking place upon
                calling this routine.  For example,



                      
                      STATUS = BVALON(JW)              (Turn validation on) 
                      STATUS = ....                    (Call the routine) 
                      STATUS = BVALOF(JW)              (Turn validation off) 


24.4 BERROR - Return Error Code for last YBOS Call

            This subprogram may be used  to  return  the  Error  Code
       produced  by  the  previous  YBOS  Call  as  an alternative to
       accessing the 2nd element of the appropriate YBOS array.

       Calling Sequence

             STATUS = BERROR(JW,ERROR)

       Input Parameters

             JW                        YBOS array

       Output Parameters

             ERROR  (Integer)          Error Code

       Function Value

             BERROR (Integer)          YESUCC  Success


            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

24.5 BERLEV - Specify new YBOS Error Level

            This subprogram may be used  to  control  the  amount  of
       diagnostic  printing produced when an error occurs within YBOS
       (e.g. insufficient space to create a new bank).

       Calling Sequence

             STATUS = BERLEV(JW,LEVEL)

       Input Parameters

             JW                        YBOS array
             LEVEL  (Integer)          Error Level

       Output Parameters

             None

       Function Value

             BERLEV (Integer)          YESUCC  Success


            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  The Error Level  LEVEL  may  take  on  the  following
                values:-

                Level 0  Suppress all Error Message  Reporting.   The
                         Function  Value  and JW(2) element may still
                         be used to determine whether  an  error  has
                         occurred.

                Level 1  Print a message giving details of the nature
                         of  the  error,  the  subprogram in which it
                         occurred, and the particular  Bank  affected
                         if appropriate.

                Level 2 As Level 1 but the contents of the YBOS array
                         are   dumped  as  well,  omitting  the  bank
                         contents.

                Level 3  As Level 2 but including the contents of all
                         banks.

                The default is Level 1.

       3.  A call to BVALON prior to using this routine  will  result
       in  named  bank  validation  taking  place  upon  calling this
       routine.  For example,
             
             STATUS = BVALON(JW)               (Turn validation on) 
             STATUS = ....                     (Call the routine) 
             STATUS = BVALOF(JW)               (Turn validation off) 


24.6 BERMES - Print A Warning Message

            This subroutine is used to print a warning  message  from
       the user level.

       Calling Sequence

             CALL BERMES(NAMCAL,NAMEYB,ICODE,LUNIT)

       Input Parameters

             NAMCAL                    Name of the calling program
             NAMEYB                    Name of the guilty ybos routine
             ICODE                     Error code
             LUNIT                     Logical unit to dump message to

       Output Parameters

             None


            N.B.

            1.  The ICODE parameter must be a standard ybos error  as
                defined in Ybos$library:errcod.inc.


24.7 BGRBEX - Examine Named Bank Garbage Collection Flag

            This function returns the named bank  garbage  collection
       flag.

       Calling Sequence

             STATUS = BGRBEX(JW,FLAG)

       Input Parameters

             JW                        YBOS array

       Output Parameters

             FLAG                      Named bank garbage collection flag.
             
                                       FLAG = 0 implies no garbage collection 
                                                has occured
                                       FLAG = 1 implies garbage collection 
                                                has occured


            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  The internal garbage collection flag is zeroed  after
                FLAG is assigned its origincal value.

            3.  A call to BVALON prior to  using  this  routine  will
                result  in  named  bank  validation taking place upon
                calling this routine.  For example,

                      
                      STATUS = BVALON(JW)              (Turn validation on) 
                      STATUS = ....                    (Call the routine) 
                      STATUS = BVALOF(JW)              (Turn validation off) 


24.8 BIOERR - Return I/O Error Code
            This subroutine returns the I/O error code for a hardware
       detected error.

       Calling Sequence

             CALL BIOERR(JW,ERRCOD)

       Input Parameters

             JW                    YBOS array

       Output Parameters

             ERRCOD                Hadware error code


            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  The ERRCOD parameter is that which is returned from a
                standard fortran read or write.


24.9 BOPTN - Specify Special Option
            This subprogram may be used to  specify  a  special  YBOS
       option   before   calling   a   YBOS  subprogram.   It  should
       immediately preceed the required subprogram call.

       Calling Sequence

             STATUS = BOPTN(JW,OPTION)

       Input Parameters

             JW                        YBOS array
             OPTION (Integer)          Option Value

       Output Parameters

             None

       Function Value

             BOPTN  (Integer)          YESUCC  Success


            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  The specified option setting is valid  only  for  the
                duration  of  a  single YBOS call, being reset to the
                default on return.

            3.  A call to BVALON prior to  using  this  routine  will
                result  in  named  bank  validation taking place upon
                calling this routine.  For example,

                      
                      STATUS = BVALON(JW)              (Turn validation on) 
                      STATUS = ....                    (Call the routine) 
                      STATUS = BVALOF(JW)              (Turn validation off) 


24.10 BOSDP - Print YBOS Array
            This subprogram prints the contents of the specified YBOS
       array   on  the  currently  spcified  YBOS  Print  Unit.   The
       datawords are printed as Integer quantities.

       Calling Sequence

             STATUS = BOSDP(JW)

       Input Parameters

             JW                        YBOS array

       Output Parameters

             None

       Function Value

             BOSDP  (Integer)          YESUCC  Success


            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  The YBOS option  subprogram  BOPTN  may  be  used  to
                specify  special  options.  This subprogram should be
                called immediately prior to accessing BOSDP, thus:-

                      STATUS = BOPTN(JW,OPTION)
                      STATUS = BOSDP(...)

                where OPTION  is  an  Integer  having  the  following
                meanings:-

                OPTION  = 0  Print bank headers and contents

                OPTION >< 0  Print bank headers only

                The default is for all bank headers and  contents  to
                be printed.

            3.  YBOS maintains a count of the number  of  banks  that
                have  been printed.  When this count reaches a preset
                limit (default 100) then no  further  banks  will  be
                printed.  This limit may be modified from its default
                setting of 100 by a call to subprogram BPLIMT.

            4.  The currently specified YBOS Print Unit  (default  6)
                may be modified by a call to subprogram BPUNIT.

            5.  A call to BVALON prior to  using  this  routine  will
                result  in  named  bank  validation taking place upon
                calling this routine.  For example,

                      
                      STATUS = BVALON(JW)              (Turn validation on) 
                      STATUS = ....                    (Call the routine) 
                      STATUS = BVALOF(JW)              (Turn validation off) 



       24.11  BOSTA - Print YBOS Status

            This subprogram prints the status of the  specified  YBOS
       array (YBOS Header words only).

       Calling Sequence

             STATUS = BOSTA(JW)

       Input Parameters

             JW                        YBOS array name

       Output Parameters

             None

       Function Value

             BOSTA  (Integer)          YESUCC  Success


            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  A call to BVALON prior to  using  this  routine  will
                result  in  named  bank  validation taking place upon
                calling this routine.  For example,

                      
                      STATUS = BVALON(JW)              (Turn validation on) 
                      STATUS = ....                    (Call the routine) 
                      STATUS = BVALOF(JW)              (Turn validation off) 



       24.12  BPUNIT - Specify Print Unit

            This subprogram specifies the current YBOS Print Unit  on
       which  printout  of  banks  will occur as a result of calls to
       NPRNT, BOSDP etc.

       Calling Sequence

             STATUS = BPUNIT(JW,LUNIT)

       Input Parameters

             JW                        YBOS array name
             LUNIT  (Integer)          Print Unit number

       Output Parameters

             None

       Function Value

             BPUNIT (Integer)          YESUCC  Success
                                       YEILUN  Illegal Unit Number


            N.B.

            1.  The array JW may be either the basic  YBOS  array  in
                COMMON/BCS/  or  a secondary array.  Only printout of
                banks in that array will be  affected  by  the  call.
                The default YBOS Print Unit is 6.

            2.  A print unit of 0 will  cause  bank  printing  to  be
                switched off.



       24.13  BPLIMT - Specify Print Limit

            This subprogram specifies a new bank limit for printouts.
       Only  the  specified  number of banks will be printed, further
       requests will be ignored.

       Calling Sequence

             STATUS = BPLIMT(JW,LIMIT)

       Input Parameters

             JW                        YBOS array name
             LIMIT  (Integer)          Print limit

       Output Parameters

             None

       Function Value

             BPLIMT (Integer)          YESUCC  Success


            N.B.

            1.  The array JW may be either the basic  YBOS  array  in
                COMMON/BCS/  or  a secondary array.  Only printout of
                banks in that array will be affected by the call.

            2.  The default is for a  maximum  of  100  banks  to  be
                printed.



       24.14  BPREST - Reset Bank Print Count

            This subprogram sets the bank limit for printouts as  the
       default.   Only  the  default number of banks will be printed,
       further requests will be  ignored.   This  action  effectively
       sets the banks print count to zero.

       Calling Sequence

             STATUS = BPREST(JW)

       Input Parameters

             JW                        YBOS array name

       Output Parameters

             None

       Function Value

             BPREST (Integer)          YESUCC  Success


            N.B.

            1.  The array JW may be either the basic  YBOS  array  in
                COMMON/BCS/  or  a secondary array.  Only printout of
                banks in that array will be affected by the call.

            2.  The default is for a  maximum  of  100  banks  to  be
                printed.

            3.  A call to BVALON prior to  using  this  routine  will
                result  in  named  bank  validation taking place upon
                calling this routine.  For example,

                      
                      STATUS = BVALON(JW)              (Turn validation on) 
                      STATUS = ....                    (Call the routine) 
                      STATUS = BVALOF(JW)              (Turn validation off) 


       24.15  BVERSN - Check YBOS Version Number

            This subprogram returns the current ybos version number.

       Calling Sequence

             STATUS = BVERSN(VERSN)

       Input Parameters

             None

       Output Parameters

             VERSN (real)                YBOS version number

       Function Value

             BVERSN (Integer)          YESUCC  Success


            N.B.

            1.  Note that VERSN is a real variable.



       24.16  BWLIMT - Specify Warning Message Limit

            This subprogram specifies a  new  limit  for  warning  or
       error messages.  Only the specified number of messages will be
       reported, further errors will be ignored.

       Calling Sequence

             STATUS = BWLIMT(JW,LIMIT)

       Input Parameters

             JW                        YBOS array name
             LIMIT  (Integer)          Warning limit

       Output Parameters

             None

       Function Value

             BWLIMT (Integer)          YESUCC  Success


            N.B.

            1.  The array JW may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  The default is for a maximum of 100  warnings  to  be
                reported.



       24.17  NAMIND - Get Name-index for Bank

            This subprogram returns the name-index for the  specified
       bank.

       Calling Sequence

             IND = NAMIND(JW,NAME)

       Input Parameters

             JW                        YBOS Array
             NAME   (Character*4)      Bank Name

       Output Parameters

             None

       Function Value

             NAMIND (Integer)          NAME-index


            N.B.

            1.  The array JW may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  The Name-index NAMI is  defined  such  that  JW(NAMI)
                contains  the  index  to  the  first  bank  with  the
                corresponding name (first means bank with the  lowest
                number).

            3.  The name-index for a given  name  will  never  change
                throughout  a  given job (even though the location of
                the bank may change).



       24.18  YBERMS - Print A Warning Message

            This subroutine is used to print a warning  message  from
       the user level.  Calling Sequence

             CALL YBERMS(NAMCAL,NAMEYB,ICODE,LUNIT)

       Input Parameters

             NAMCAL                    Name of the calling program
             NAMEYB                    Name of the guilty ybos routine
             ICODE                     Error code
             LUNIT                     Logical unit to dump message to

       Output Parameters

             None


            N.B.

            1.  The ICODE parameter must be a standard ybos error  as
                defined in Ybos$library:errcod.inc.



       24.19  BWRTOF - Place YBOS Array in Readonly Mode

            This function placed the input  array,  JW,  in  readonly
       mode for all subsequent Ybos function calls.

       Calling Sequence

             STATUS = BWRTOF(JW)

       Input Parameters

             JW                        YBOS array name

       Output Parameters

             None

       Function Value

             BWRTOF  (Integer)                 YESUCC  Success


            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  To get out of readonly mode, call BWRTON

            3.  A call to BVALON prior to  using  this  routine  will
                result  in  named  bank  validation taking place upon
                calling this routine.  For example,

                      
                      STATUS = BVALON(JW)              (Turn validation on) 
                      STATUS = ....                    (Call the routine) 
                      STATUS = BVALOF(JW)              (Turn validation off) 



       24.20  BWRTON - Take YBOS Array out of Readonly Mode

            This function takes the input array, JW, out of  readonly
       mode for all subsequent Ybos function calls.

       Calling Sequence

             STATUS = BWRTON(JW)

       Input Parameters

             JW                        YBOS array name

       Output Parameters

             None

       Function Value

             BWRTON  (Integer)                 YESUCC  Success


            N.B.

            1.  The JW array may be either the basic  YBOS  array  in
                COMMON/BCS/ or a secondary array.

            2.  To get into readonly mode, call BWRTOF

            3.  A call to BVALON prior to  using  this  routine  will
                result  in  named  bank  validation taking place upon
                calling this routine.  For example,

                      
                      STATUS = BVALON(JW)              (Turn validation on) 
                      STATUS = ....                    (Call the routine) 
                      STATUS = BVALOF(JW)              (Turn validation off) 



       24.21  BCHINT - Convert Character*4 Variable To Integer*4

            This function converts a Character*4  variable  into  the
       equivalent Integer*4 Variable.

       Calling Sequence

             STATUS = BCHINT(STRING)

       Input Parameters

             STRING (Character*4)              Input string

       Output Parameters

             None

       Function Value

             BCHINT  (Integer)                 Equivalent 4 character integer


            N.B.

            1.  BCHINT does not  free  you  from  having  to  declare
                STRING as BNKTAS in any bank type headers.



       24.22  BINTCH - Convert Integer*4 Variable To Character*4

            This function converts an  Integer*4  variable  into  the
       equivalent Character*4 Variable.

       Calling Sequence

             STATUS = BINTCH(INTG)

       Input Parameters

             INTG (Character*4)                Input integer

       Output Parameters

             None

       Function Value

             BINTCH  (Integer)                 Equivalent Character*4 value

next page