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 22 namespace Fortran::runtime { 23 class Descriptor; 24 } // namespace Fortran::runtime 25 26 namespace Fortran::runtime::io { 27 28 struct NonTbpDefinedIoTable; 29 class NamelistGroup; 30 class IoStatementState; 31 using Cookie = IoStatementState *; 32 using ExternalUnit = int; 33 using AsynchronousId = int; 34 35 RT_API_ATTRS const char *InquiryKeywordHashDecode( 36 char *buffer, std::size_t, InquiryKeywordHash); 37 38 } // namespace Fortran::runtime::io 39 #endif 40