|
|
1.1 root 1: .TH IOINIT 3F "13 June 1983"
2: .UC 4
3: .SH NAME
4: ioinit \- change f77 I/O initialization
5: .SH SYNOPSIS
6: \fBlogical function ioinit (cctl, bzro, apnd, prefix, vrbose)\fP
7: .br
8: .B logical cctl, bzro, apnd, vrbose
9: .br
10: .B character*(*) prefix
11: .SH DESCRIPTION
12: This routine will initialize several global parameters in the f77 I/O system,
13: and attach externally defined files to logical units at run time.
14: The effect of the flag arguments applies to logical units opened after
15: .I ioinit
16: is called.
17: The exception is the preassigned units, 5 and 6, to which
18: .I cctl
19: and
20: .I bzro
21: will apply at any time.
22: .I Ioinit
23: is written in Fortran-77.
24: .PP
25: By default,
26: carriage control is not recognized on any logical unit. If
27: .I cctl
28: is
29: .B .true.
30: then carriage control will be recognized on formatted output
31: to all logical units except unit 0, the diagnostic channel.
32: Otherwise the default will be restored.
33: .PP
34: By default, trailing and embedded blanks in input data fields
35: are ignored. If
36: .I bzro
37: is
38: .B .true.
39: then such blanks will be treated as zero's.
40: Otherwise the default will be restored.
41: .PP
42: By default, all files opened for sequential access are positioned at
43: their beginning.
44: It is sometimes necessary or convenient to open at the END-OF-FILE
45: so that a write will append to the existing data.
46: If
47: .I apnd
48: is
49: .B .true.
50: then files opened subsequently on any logical unit
51: will be positioned at their end upon opening.
52: A value of
53: .B .false.
54: will restore the default behavior.
55: .PP
56: Many systems provide an automatic association of global names with
57: fortran logical units when a program is run.
58: There is no such automatic association in
59: .UX
60: f77.
61: However, if the argument
62: .I prefix
63: is a non-blank string, then names of the form
64: .BR prefix NN
65: will be sought in the program environment. The value associated with
66: each such name found will be used to open logical unit NN for formatted
67: sequential access.
68: For example, if f77 program
69: .I myprogram
70: included the call
71: .nf
72:
73: call ioinit (.true., .false., .false., \(fmFORT\(fm, .false.)
74:
75: .fi
76: then when the following sequence
77: .nf
78:
79: % setenv FORT01 mydata
80: % setenv FORT12 myresults
81: % myprogram
82:
83: .fi
84: would result in logical unit 1 opened to file
85: .I mydata
86: and logical unit 12 opened to file
87: .IR myresults .
88: Both files would be positioned at their beginning.
89: Any formatted output would have column 1 removed and interpreted
90: as carriage control.
91: Embedded and trailing blanks would be ignored on input.
92: .PP
93: If the argument
94: .I vrbose
95: is
96: .B .true.
97: then
98: .I ioinit
99: will report on its activity.
100: .PP
101: The effect of
102: .nf
103:
104: call ioinit (.true., .true., .false., \(fm\(fm, .false.)
105:
106: .fi
107: can be achieved without the actual call by including ``\-lI66''
108: on the
109: .I f77
110: command line.
111: This gives carriage control on all logical units except 0,
112: causes files to be opened at their beginning, and causes
113: blanks to be interpreted as zero's.
114: .PP
115: The internal flags are stored in a labeled common block with the following
116: definition:
117: .nf
118:
119: integer*2 ieof, ictl, ibzr
120: common /ioiflg/ ieof, ictl, ibzr
121:
122: .fi
123: .SH FILES
124: .ta \w'/usr/ucb/lib/libI77.a 'u
125: .ie \nM /usr/ucb/lib/libI77.a f77 I/O library
126: .el /usr/lib/libI77.a f77 I/O library
127: .br
128: .ie \nM /usr/ucb/lib/libI66.a sets older fortran I/O modes
129: .el /usr/lib/libI66.a sets older fortran I/O modes
130: .SH "SEE ALSO"
131: getarg(3F), getenv(3F), ``Introduction to the f77 I/O Library''
132: .SH BUGS
133: .I Prefix
134: can be no longer than 30 characters.
135: A pathname associated with an environment name can be no longer than 255
136: characters.
137: .PP
138: The ``+'' carriage control does not work.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.