# f90_unix_io: Unix I/O Operations Module

## Table of Contents

- 1 Name
- 2 Usage
- 3 Synopsis
- 4 Procedure Description
- 5 See Also
- 6 Bugs

## 1 Name

`f90_unix_io` — Module of Unix I/O operations

## 2 Usage

USE F90_UNIX_IO,ONLY:FLUSH

This module will contain part of a Fortran API to functions detailed in ISO/IEC 9945-1:1990 Portable Operating System Interface (POSIX) - Part 1: System Application Program Interface (API) [C Language].

In this release only the `FLUSH` procedure is supported. Users are advised to use the `ONLY` clause when using this module, as it will have further names added in later releases.

Error handling is described in `F90_UNIX_ERRNO`. Note that for procedures with an optional `ERRNO` argument, if an error occurs and `ERRNO` is not present, the program will be terminated.

All procedures in this module are generic and may also be specific (this may change in a future release).

## 3 Synopsis

Generic Procedures
  FLUSH.

## 4 Procedure Description

    SUBROUTINE FLUSH(LUNIT,ERRNO)
    INTEGER(*),INTENT(IN) :: LUNIT
    INTEGER(ERROR_KIND),OPTIONAL,INTENT(OUT) :: ERRNO

Flushes the output buffer of logical unit `LUNIT`. The effect is similar to the Fortran 2003 `FLUSH` statement, except that the statement allows flushing a unit which is not connected but the procedure does not.

If `LUNIT` is not a valid unit number or is not connected to a file, error `EBADF` is raised (see `F90_UNIX_ERRNO`).

## 5 See Also

f90_unix_errno(3), intro(3), nag_modules(3), nagfor(1).

## 6 Bugs

Please report any bugs found to ‘support@nag.co.uk’ or ‘support@nag.com’, along with any suggestions for improvements.