Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ioinit(3f) [bsd man page]

IOINIT(3F)																IOINIT(3F)

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 format- ted 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 zeros. 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. Ioinit may be used to associate file names with Fortran logical unit numbers through environment variables (see "Introduction to the f77 I/O Library" for a more general way of doing this). 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 interpreted as carriage control. Embedded and trailing blanks would be ignored on input. If the argument vrbose is .true. then ioinit will report on its activity. 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 following 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. 4.2 Berkeley Distribution May 27, 1986 IOINIT(3F)

Check Out this Related Man Page

TOPEN(3F)																 TOPEN(3F)

topen, tclose, tread, twrite, trewin, tskipf, tstate - f77 tape I/O SYNOPSIS
integer function topen (tlu, devnam, label) integer tlu character*(*) devnam logical label integer function tclose (tlu) integer tlu integer function tread (tlu, buffer) integer tlu character*(*) buffer integer function twrite (tlu, buffer) integer tlu character*(*) buffer integer function trewin (tlu) integer tlu integer function tskipf (tlu, nfiles, nrecs) integer tlu, nfiles, nrecs integer function tstate (tlu, fileno, recno, errf, eoff, eotf, tcsr) integer tlu, fileno, recno, tcsr logical errf, eoff, eotf DESCRIPTION
These functions provide a simple interface between f77 and magnetic tape devices. A ``tape logical unit'', tlu, is ``topen''ed in much the same way as a normal f77 logical unit is ``open''ed. All other operations are performed via the tlu. The tlu has no relationship at all to any normal f77 logical unit. Topen associates a device name with a tlu. Tlu must be in the range 0 to 3. The logical argument label should indicate whether the tape includes a tape label. This is used by trewin below. Topen does not move the tape. The normal returned value is 0. If the value of the function is negative, an error has occured. See perror(3F) for details. Tclose closes the tape device channel and removes its association with tlu. The normal returned value is 0. A negative value indicates an error. Tread reads the next physical record from tape to buffer. Buffer must be of type character. The size of buffer should be large enough to hold the largest physical record to be read. The actual number of bytes read will be returned as the value of the function. If the value is 0, the end-of-file has been detected. A negative value indicates an error. Twrite writes a physical record to tape from buffer. The physical record length will be the size of buffer. Buffer must be of type char- acter. The number of bytes written will be returned. A value of 0 or negative indicates an error. Trewin rewinds the tape associated with tlu to the beginning of the first data file. If the tape is a labelled tape (see topen above) then the label is skipped over after rewinding. The normal returned value is 0. A negative value indicates an error. Tskipf allows the user to skip over files and/or records. First, nfiles end-of-file marks are skipped. If the current file is at EOF, this counts as 1 file to skip. (Note: This is the way to reset the EOF status for a tlu.) Next, nrecs physical records are skipped over. The normal returned value is 0. A negative value indicates an error. Finally, tstate allows the user to determine the logical state of the tape I/O channel and to see the tape drive control status register. The values of fileno and recno will be returned and indicate the current file and record number. The logical values errf, eoff, and eotf indicate an error has occurred, the current file is at EOF, or the tape has reached logical end-of-tape. End-of-tape (EOT) is indicated by an empty file, often referred to as a double EOF mark. It is not allowed to read past EOT although it is allowed to write. The value of tcsr will reflect the tape drive control status register. See ht(4) for details. FILES
/usr/lib/libU77.a SEE ALSO
ht(4), perror(3F), rewind(1) 4.2 Berkeley Distribution May 15, 1985 TOPEN(3F)
Man Page