
{   the purpose of this procedure is to ensure that the caller
{ is provided with sufficient block space on output to accommodate
{ the record being written, or sufficient block space on input
{ to cover the record being read.
{
{ this procedure call may result in the addition or deletion of
{ block control header (BCH) information to/from the file.
{
{        BAP$GET_BLOCK (FILE_IDENTIFIER,BLOCK_LENGTH,CURRENT_BYTE_ADDRESS,
{                       BLOCK_TRANSFER_DESCRIPTOR,TRANSFER_LENGTH,STATUS)
{
{ FILE_IDENTIFIER : (input) this parameter specifies the file access
{                    identifier established when the file was opened.
{
{ BLOCK_LENGTH : (input) this parameter specifies the total block
{                length required to satisfy a transfer.
{
{ CURRENT_BYTE_ADDRESS : (input) this parameter specifies the current
{                         byte offset into the file.
{
{ BLOCK_TRANSFER_DESCRIPTOR : (output) this parameter points to a
{                              sequence of block fragments necessary
{                              to satisfy the BLOCK_LENGTH request.
{                              each fragment would consist of a base
{                              pointer and a fragment length.
{
{ TRANSFER_LENGTH : (output) this parameter specifies the actual block
{                   length retrieved or allocated. this length equals
{                  the BLOCK_LENGTH during normal operations
{                  with abnormal status it indicates the length actually
{                  available.
{
{ STATUS : (output) this parameter specifies request status.
