FLANG
io-api.h
1//===-- include/flang/Runtime/io-api.h --------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9// Defines API between compiled code and I/O runtime library.
10
11#ifndef FORTRAN_RUNTIME_IO_API_H_
12#define FORTRAN_RUNTIME_IO_API_H_
13
14#include "flang/Common/uint128.h"
15#include "flang/Runtime/entry-names.h"
16#include "flang/Runtime/io-api-consts.h"
17#include "flang/Runtime/iostat-consts.h"
18#include "flang/Runtime/magic-numbers.h"
19#include <cinttypes>
20#include <cstddef>
21
22namespace Fortran::runtime {
23class Descriptor;
24} // namespace Fortran::runtime
25
26namespace Fortran::runtime::io {
27
28struct NonTbpDefinedIoTable;
29class NamelistGroup;
30class IoStatementState;
31using Cookie = IoStatementState *;
32using ExternalUnit = int;
33using AsynchronousId = int;
34
35RT_API_ATTRS const char *InquiryKeywordHashDecode(
36 char *buffer, std::size_t, InquiryKeywordHash);
37
38} // namespace Fortran::runtime::io
39#endif