4 EZTRAN

     This routine provides faster access to disk
 (or tape) than FORTRAN I/O.  See the referenced 
 notes (NOTE#) for specific details on a function.

 FORTRAN call:

   call EZTRAN(unit#,func,blockparm,# of bytes,array,status)


 The following is a summary of the functions available.

	     FUNCTION
           NUMBER               DESCRIPTION
           
		1		Sequential Read
		2		Sequential Write
		3		Random Read
		4		Random Write
		5		Open & Assign
		6		Close &DEassign
		7		Skip Record
		8		Skip File
		9		Write EOF
	       10		Rewind
	       11		Create File
	       12		Sequential Read (record)
	       13 		Sequential Write (record)
	       14		Random Read (record)
	       15		Random Write (record)



	All arguments are integer with the exception of ARRAY,
	which can be integer or character.

5   NOTE1
			NOTE 1
			------
     Functions 1-4 perform block I/O.  For the random
 block I/O the actual block number in the file must
 be addressed, (not the logical block number).  If,
 for example, the first block of the file contains 
 1024 bytes, then the second block would be 
 requested as block 3.  Any type of file may be
 accessed with block I/O, provided it has been
 opened for block I/O.


5   NOTE2
			NOTE 2
			------
     Function 5.  Opens files and assigns a logical 
 unit to them.  The file name or tape drive device
 name must be passed as character strings.  The 
 user should specify if he wants to do record or
 block I/O.


5   NOTE3
			NOTE 3
			------
      Function 11.  Creates, (opens and assigns), files
 for block and record I/O.  
 The larger allocation/extension quantity pro-
 vides faster I/O, in particular for large data
 files on which block I/O is being performed.
 All  files are created on a contiguous-best-try
 basis,(CBT option).
     The number of blocks must be passed by reference
 rather than by value.  If number of blocks equals 0,
 then the block count is set to 64 blocks.
     Files may be created in any of the three
 modes,(thus left open for block or record I/O).
     However, if a file is created in one mode, it may
 be closed, and reopened in another mode.  The only
 limitation in this respect is that a file opened
 with variables length records may not be accessed
 with random record I/O,(variable records are 
 opened for block I/O, random or sequenced).
 
5   NOTE4
			NOTE 4
			------
     Functions 12-15.  These functions perform record
 I/O.  Any type of file may be accessed with record
 I/O,(except the random record I/O to variable 
 length records).

5   ERRORS
		ERRORS
		------
     Error handling.  Eztran has a built-in error hand-
 ling routine for most common errors.  However, if 
 an eror is undiagnosed then, the contents of 
 registor 0 are converted to a hexadecimal number
 which is printed out and may be looked up in the
 appendix of the Record Management Services,
 (RMS), manual.

5   READ_SEQUENTIAL

  For additional information see NOTE 1.

  FUNCTION    FUNCTION     BLOCK/RECORD    NUMBER      ARRAY        STATUS  
  NUMBER    DESCRIPTION    PARAMETER      OF BYTES   INT/CHAR    (RETURNED)
__________  ___________   ____________    ___________  _______   __________     
                      
    1          by Block        n/a        no. bytes    integer   no. bytes
                                           to read                 read 
                                                                 -3 is EOF

   12         by Record         n/a            "           "        "

5   WRITE_SEQUENTIAL

  For additional information see NOTE 1.

  FUNCTION    FUNCTION     BLOCK/RECORD    NUMBER      ARRAY        STATUS  
  NUMBER    DESCRIPTION    PARAMETER      OF BYTES   INT/CHAR    (RETURNED)
__________  ___________   ____________    ___________  _______   __________     
    2          by Block        n/a        no. bytes    integer   no. bytes
                                           to write              written

   13         by Record         n/a            "           "         "

5   READ_RANDOM

  For additional information see NOTE 1.

  FUNCTION    FUNCTION     BLOCK/RECORD    NUMBER      ARRAY        STATUS  
  NUMBER    DESCRIPTION    PARAMETER      OF BYTES   INT/CHAR    (RETURNED)
__________  ___________   ____________    ___________  _______   __________     
    3         by Block    Block number    no. bytes    integer   no. bytes
                           to read         to read                 read 

   14        by Record    Record number       "           "          "
                            to read                           

5   WRITE_RANDOM

  For additional information see NOTE 1.

  FUNCTION    FUNCTION     BLOCK/RECORD    NUMBER      ARRAY        STATUS  
  NUMBER    DESCRIPTION    PARAMETER      OF BYTES   INT/CHAR    (RETURNED)
__________  ___________   ____________    ___________  _______   __________     
    4         by Block    Block number    no. bytes    integer   no. bytes
                           to write        to write                write

   15        by Record    Record number       "            "        "
                           to write    

5   OPEN_FILE      

  For additional information see NOTE 2.

  This function opens and assigns a file or device

  FUNCTION    FUNCTION     BLOCK/RECORD                ARRAY        STATUS  
  NUMBER    DESCRIPTION    PARAMETER       ACCESS    INT/CHAR    (RETURNED)
__________  ___________   ____________    ___________  _______   __________     

    5       block access       0          0= read/write  character 512: disk

            record access      1          1= read only  filename   1: tape 

                                                                   -1: file not found

5   CLOSE_FILE          

       This function closes and deassigns a file or device


  FUNCTION    FUNCTION     BLOCK/RECORD    NUMBER      ARRAY        STATUS  
  NUMBER    DESCRIPTION    PARAMETER      OF BYTES   INT/CHAR    (RETURNED)
__________  ___________   ____________    ___________  _______   __________     

    6           n/a              n/a         n/a          n/a         n/a


5   RECORD_SKIP

  FUNCTION    FUNCTION     BLOCK/RECORD    NUMBER      ARRAY        STATUS  
  NUMBER    DESCRIPTION    PARAMETER      OF BYTES   INT/CHAR    (RETURNED)
__________  ___________   ____________    ___________  _______   __________     

    7         no. blocks         n/a         n/a          n/a        n/a
               to skip

5   FILE_SKIP

  FUNCTION    FUNCTION     BLOCK/RECORD    NUMBER      ARRAY        STATUS  
  NUMBER    DESCRIPTION    PARAMETER      OF BYTES   INT/CHAR    (RETURNED)
__________  ___________   ____________    ___________  _______   __________     

    8         pos. no.=          n/a         n/a          n/a        n/a
            files forward

              neg. no. =
            files backward

5   WRITE_EOF

  FUNCTION    FUNCTION     BLOCK/RECORD    NUMBER      ARRAY        STATUS  
  NUMBER    DESCRIPTION    PARAMETER      OF BYTES   INT/CHAR    (RETURNED)
__________  ___________   ____________    ___________  _______   __________     

    9           n/a              n/a         n/a          n/a         n/a

5   REWIND

  FUNCTION    FUNCTION     BLOCK/RECORD    NUMBER      ARRAY        STATUS  
  NUMBER    DESCRIPTION    PARAMETER      OF BYTES   INT/CHAR    (RETURNED)
__________  ___________   ____________    ___________  _______   __________     

   10           n/a              n/a         n/a          n/a         n/a

5   CREATE_FILE   

  This function creates, opens and assigns a file to a process

  For additional information see NOTE 3.

  FUNCTION    FUNCTION     BLOCK/RECORD    NUMBER      ARRAY        BLOCK  
  NUMBER    DESCRIPTION    PARAMETER      OF BYTES   INT/CHAR    ALLOCATION
__________  ___________   ____________    ___________  _______   __________     

   11      variable length        0          n/a       character  Must be  
           records, max. no.                           filename   passed
           bytes/rec=48000                                        as a                                                             
                                                                  variable    
   11      fixed length           1        no. bytes       "      name. 
           records, open for               per record             Default is      
            for block I/O                                         64 blocks.

           fixed length           2            "           "          n/a
           records, open for                                         
            for record I/O
                      
 
