to the end of the file. The "append mode" can be turned off while the port is in use see fcntl The following additional characters can be appended: b Open the underlying file in binary mode, if supported by the system. Also, open the file using the binary-compatible character encoding "ISO-8859-1", ignoring the default port encoding. + Open the port for both input and output. E.g., `r+': open an existing file for both input and output. 0 Create an "unbuffered" port. In this case input and output operations are passed directly to the underlying port implementation without additional buffering. This is likely to slow down I/O operations. The buffering mode can be changed while a port is in use see setvbuf l Add line-buffering to the port. The port output buffer will be automatically flushed whenever a newline character is written. In theory we could create read/write ports which were buffered in one direction only. However this isn't included in the current interfaces. If a file cannot be opened with the access requested, `open-file' throws an exception.