unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (4.2BSD)
Page:
Section:
Apropos / Subsearch:
optional field

IOINIT(3F)                                                          IOINIT(3F)



NAME
       ioinit - change f77 I/O initialization

SYNOPSIS
       logical function ioinit (cctl, bzro, apnd, prefix, vrbose)
       logical cctl, bzro, apnd, vrbose
       character*(*) prefix

DESCRIPTION
       This  routine  will initialize several global parameters in the f77 I/O
       system, and attach externally defined files to  logical  units  at  run
       time.  The effect of the flag arguments applies to logical units opened
       after ioinit is called.  The exception is the preassigned units, 5  and
       6, to which cctl and bzro will apply at any time.  Ioinit is written in
       Fortran-77.

       By default, carriage control is not recognized on any logical unit.  If
       cctl  is  .true.  then carriage control will be recognized on formatted
       output to all logical units except  unit  0,  the  diagnostic  channel.
       Otherwise the default will be restored.

       By  default,  trailing  and  embedded  blanks  in input data fields are
       ignored. If bzro is .true.  then such blanks will be treated as zero's.
       Otherwise the default will be restored.

       By  default,  all  files opened for sequential access are positioned at
       their beginning.  It is sometimes necessary or convenient  to  open  at
       the  END-OF-FILE  so that a write will append to the existing data.  If
       apnd is .true.  then files opened subsequently on any logical unit will
       be  positioned  at  their  end  upon opening.  A value of .false.  will
       restore the default behavior.

       Many systems provide an automatic association of global names with for-
       tran  logical  units when a program is run.  There is no such automatic
       association in f77.  However, if the argument  prefix  is  a  non-blank
       string,  then  names of the form prefixNN will be sought in the program
       environment. The value associated with each such  name  found  will  be
       used  to  open  logical  unit  NN for formatted sequential access.  For
       example, if f77 program myprogram included the call

            call ioinit (.true., .false., .false., 'FORT', .false.)

       then when the following sequence

             % setenv FORT01 mydata
             % setenv FORT12 myresults
             % myprogram

       would result in logical unit 1 opened to file mydata and  logical  unit
       12  opened  to file myresults.  Both files would be positioned at their
       beginning.  Any formatted output would have column 1 removed and inter-
       preted  as  carriage  control.   Embedded  and trailing blanks would be
       ignored on input.

       If the argument vrbose is .true.  then ioinit will report on its activ-
       ity.

       The effect of

            call ioinit (.true., .true., .false., '', .false.)

       can  be  achieved without the actual call by including ``-lI66'' on the
       f77 command line.  This gives carriage control  on  all  logical  units
       except  0,  causes  files  to  be opened at their beginning, and causes
       blanks to be interpreted as zero's.

       The internal flags are stored in a labeled common block with  the  fol-
       lowing definition:

            integer*2 ieof, ictl, ibzr
            common /ioiflg/ ieof, ictl, ibzr


FILES
       /usr/lib/libI77.a       f77 I/O library
       /usr/lib/libI66.a       sets older fortran I/O modes

SEE ALSO
       getarg(3F), getenv(3F), ``Introduction to the f77 I/O Library''

BUGS
       Prefix can be no longer than 30 characters.  A pathname associated with
       an environment name can be no longer than 255 characters.

       The ``+'' carriage control does not work.



4th Berkeley Distribution        13 June 1983                       IOINIT(3F)