impi-devel 2021.17.1__py2.py3-none-manylinux_2_28_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (133) hide show
  1. impi_devel-2021.17.1.data/data/bin/mpicc +81 -0
  2. impi_devel-2021.17.1.data/data/bin/mpicxx +81 -0
  3. impi_devel-2021.17.1.data/data/bin/mpif77 +740 -0
  4. impi_devel-2021.17.1.data/data/bin/mpif90 +884 -0
  5. impi_devel-2021.17.1.data/data/bin/mpifc +81 -0
  6. impi_devel-2021.17.1.data/data/bin/mpigcc +683 -0
  7. impi_devel-2021.17.1.data/data/bin/mpigxx +687 -0
  8. impi_devel-2021.17.1.data/data/bin/mpiicc +42 -0
  9. impi_devel-2021.17.1.data/data/bin/mpiicpc +42 -0
  10. impi_devel-2021.17.1.data/data/bin/mpiicpx +573 -0
  11. impi_devel-2021.17.1.data/data/bin/mpiicx +582 -0
  12. impi_devel-2021.17.1.data/data/bin/mpiifort +46 -0
  13. impi_devel-2021.17.1.data/data/bin/mpiifx +738 -0
  14. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/mpi.mod +0 -0
  15. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/mpi_base.mod +0 -0
  16. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/mpi_constants.mod +0 -0
  17. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/mpi_sizeofs.mod +0 -0
  18. impi_devel-2021.17.1.data/data/include/mpi/gfortran/10.2.0/pmpi_base.mod +0 -0
  19. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/mpi.mod +0 -0
  20. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/mpi_base.mod +0 -0
  21. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/mpi_constants.mod +0 -0
  22. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/mpi_sizeofs.mod +0 -0
  23. impi_devel-2021.17.1.data/data/include/mpi/gfortran/11.1.0/pmpi_base.mod +0 -0
  24. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/mpi.mod +0 -0
  25. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/mpi_base.mod +0 -0
  26. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/mpi_constants.mod +0 -0
  27. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/mpi_sizeofs.mod +0 -0
  28. impi_devel-2021.17.1.data/data/include/mpi/gfortran/12.4.0/pmpi_base.mod +0 -0
  29. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/mpi.mod +0 -0
  30. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/mpi_base.mod +0 -0
  31. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/mpi_constants.mod +0 -0
  32. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/mpi_sizeofs.mod +0 -0
  33. impi_devel-2021.17.1.data/data/include/mpi/gfortran/13.3.0/pmpi_base.mod +0 -0
  34. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/mpi.mod +0 -0
  35. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/mpi_base.mod +0 -0
  36. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/mpi_constants.mod +0 -0
  37. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/mpi_sizeofs.mod +0 -0
  38. impi_devel-2021.17.1.data/data/include/mpi/gfortran/14.2.0/pmpi_base.mod +0 -0
  39. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/mpi.mod +0 -0
  40. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/mpi_base.mod +0 -0
  41. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/mpi_constants.mod +0 -0
  42. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/mpi_sizeofs.mod +0 -0
  43. impi_devel-2021.17.1.data/data/include/mpi/gfortran/15.1.0/pmpi_base.mod +0 -0
  44. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/mpi.mod +0 -0
  45. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/mpi_base.mod +0 -0
  46. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/mpi_constants.mod +0 -0
  47. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/mpi_sizeofs.mod +0 -0
  48. impi_devel-2021.17.1.data/data/include/mpi/gfortran/7.1.0/pmpi_base.mod +0 -0
  49. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/mpi.mod +0 -0
  50. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/mpi_base.mod +0 -0
  51. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/mpi_constants.mod +0 -0
  52. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/mpi_sizeofs.mod +0 -0
  53. impi_devel-2021.17.1.data/data/include/mpi/gfortran/8.2.0/pmpi_base.mod +0 -0
  54. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/mpi.mod +0 -0
  55. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/mpi_base.mod +0 -0
  56. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/mpi_constants.mod +0 -0
  57. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/mpi_sizeofs.mod +0 -0
  58. impi_devel-2021.17.1.data/data/include/mpi/gfortran/9.1.0/pmpi_base.mod +0 -0
  59. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/mpi.mod +0 -0
  60. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/mpi_base.mod +0 -0
  61. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/mpi_constants.mod +0 -0
  62. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/mpi_sizeofs.mod +0 -0
  63. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/10.2.0/pmpi_base.mod +0 -0
  64. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/mpi.mod +0 -0
  65. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/mpi_base.mod +0 -0
  66. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/mpi_constants.mod +0 -0
  67. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/mpi_sizeofs.mod +0 -0
  68. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/11.1.0/pmpi_base.mod +0 -0
  69. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/mpi.mod +0 -0
  70. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/mpi_base.mod +0 -0
  71. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/mpi_constants.mod +0 -0
  72. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/mpi_sizeofs.mod +0 -0
  73. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/12.4.0/pmpi_base.mod +0 -0
  74. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/mpi.mod +0 -0
  75. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/mpi_base.mod +0 -0
  76. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/mpi_constants.mod +0 -0
  77. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/mpi_sizeofs.mod +0 -0
  78. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/13.3.0/pmpi_base.mod +0 -0
  79. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/mpi.mod +0 -0
  80. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/mpi_base.mod +0 -0
  81. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/mpi_constants.mod +0 -0
  82. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/mpi_sizeofs.mod +0 -0
  83. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/14.2.0/pmpi_base.mod +0 -0
  84. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/mpi.mod +0 -0
  85. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/mpi_base.mod +0 -0
  86. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/mpi_constants.mod +0 -0
  87. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/mpi_sizeofs.mod +0 -0
  88. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/15.1.0/pmpi_base.mod +0 -0
  89. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/mpi.mod +0 -0
  90. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/mpi_base.mod +0 -0
  91. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/mpi_constants.mod +0 -0
  92. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/mpi_sizeofs.mod +0 -0
  93. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/7.1.0/pmpi_base.mod +0 -0
  94. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/mpi.mod +0 -0
  95. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/mpi_base.mod +0 -0
  96. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/mpi_constants.mod +0 -0
  97. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/mpi_sizeofs.mod +0 -0
  98. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/8.2.0/pmpi_base.mod +0 -0
  99. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/mpi.mod +0 -0
  100. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/mpi_base.mod +0 -0
  101. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/mpi_constants.mod +0 -0
  102. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/mpi_sizeofs.mod +0 -0
  103. impi_devel-2021.17.1.data/data/include/mpi/ilp64/gfortran/9.1.0/pmpi_base.mod +0 -0
  104. impi_devel-2021.17.1.data/data/include/mpi/ilp64/mpi.mod +0 -0
  105. impi_devel-2021.17.1.data/data/include/mpi/ilp64/mpi_base.mod +0 -0
  106. impi_devel-2021.17.1.data/data/include/mpi/ilp64/mpi_constants.mod +0 -0
  107. impi_devel-2021.17.1.data/data/include/mpi/ilp64/mpi_sizeofs.mod +0 -0
  108. impi_devel-2021.17.1.data/data/include/mpi/ilp64/pmpi_base.mod +0 -0
  109. impi_devel-2021.17.1.data/data/include/mpi/mpi.mod +0 -0
  110. impi_devel-2021.17.1.data/data/include/mpi/mpi_base.mod +0 -0
  111. impi_devel-2021.17.1.data/data/include/mpi/mpi_constants.mod +0 -0
  112. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08.mod +0 -0
  113. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08_callbacks.mod +0 -0
  114. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08_compile_constants.mod +0 -0
  115. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08_link_constants.mod +0 -0
  116. impi_devel-2021.17.1.data/data/include/mpi/mpi_f08_types.mod +0 -0
  117. impi_devel-2021.17.1.data/data/include/mpi/mpi_sizeofs.mod +0 -0
  118. impi_devel-2021.17.1.data/data/include/mpi/pmpi_base.mod +0 -0
  119. impi_devel-2021.17.1.data/data/include/mpi/pmpi_f08.mod +0 -0
  120. impi_devel-2021.17.1.data/data/include/mpi.h +4224 -0
  121. impi_devel-2021.17.1.data/data/include/mpi_abi.h +2057 -0
  122. impi_devel-2021.17.1.data/data/include/mpicxx.h +2796 -0
  123. impi_devel-2021.17.1.data/data/include/mpif.h +651 -0
  124. impi_devel-2021.17.1.data/data/include/mpio.h +767 -0
  125. impi_devel-2021.17.1.data/data/include/mpiof.h +113 -0
  126. impi_devel-2021.17.1.data/data/opt/mpi/bin/mpiptx +0 -0
  127. impi_devel-2021.17.1.data/data/share/doc/mpi/licensing/license.txt +72 -0
  128. impi_devel-2021.17.1.data/data/share/doc/mpi/licensing/third-party-programs.txt +1476 -0
  129. impi_devel-2021.17.1.dist-info/LICENSE.txt +25 -0
  130. impi_devel-2021.17.1.dist-info/METADATA +23 -0
  131. impi_devel-2021.17.1.dist-info/RECORD +133 -0
  132. impi_devel-2021.17.1.dist-info/WHEEL +6 -0
  133. impi_devel-2021.17.1.dist-info/top_level.txt +1 -0
@@ -0,0 +1,767 @@
1
+ /*
2
+ Copyright Intel Corporation.
3
+
4
+ This software and the related documents are Intel copyrighted materials, and
5
+ your use of them is governed by the express license under which they were
6
+ provided to you (License). Unless the License provides otherwise, you may
7
+ not use, modify, copy, publish, distribute, disclose or transmit this
8
+ software or the related documents without Intel's prior written permission.
9
+
10
+ This software and the related documents are provided as is, with no express
11
+ or implied warranties, other than those that are expressly stated in the
12
+ License.
13
+ */
14
+ /*
15
+ * Copyright (C) by Argonne National Laboratory
16
+
17
+ COPYRIGHT
18
+
19
+ The following is a notice of limited availability of the code, and disclaimer
20
+ which must be included in the prologue of the code and in all source listings
21
+ of the code.
22
+
23
+ Copyright Notice
24
+ 1998--2020, Argonne National Laboratory
25
+
26
+ Permission is hereby granted to use, reproduce, prepare derivative works, and
27
+ to redistribute to others. This software was authored by:
28
+
29
+ Mathematics and Computer Science Division
30
+ Argonne National Laboratory, Argonne IL 60439
31
+
32
+ (and)
33
+
34
+ Department of Computer Science
35
+ University of Illinois at Urbana-Champaign
36
+
37
+
38
+ GOVERNMENT LICENSE
39
+
40
+ Portions of this material resulted from work developed under a U.S.
41
+ Government Contract and are subject to the following license: the Government
42
+ is granted for itself and others acting on its behalf a paid-up, nonexclusive,
43
+ irrevocable worldwide license in this computer software to reproduce, prepare
44
+ derivative works, and perform publicly and display publicly.
45
+
46
+ DISCLAIMER
47
+
48
+ This computer code material was prepared, in part, as an account of work
49
+ sponsored by an agency of the United States Government. Neither the United
50
+ States, nor the University of Chicago, nor any of their employees, makes any
51
+ warranty express or implied, or assumes any legal liability or responsibility
52
+ for the accuracy, completeness, or usefulness of any information, apparatus,
53
+ product, or process disclosed, or represents that its use would not infringe
54
+ privately owned rights.
55
+
56
+ EXTERNAL CONTRIBUTIONS
57
+
58
+ Portions of this code have been contributed under the above license by:
59
+
60
+ * Intel Corporation
61
+ * Cray
62
+ * IBM Corporation
63
+ * Microsoft Corporation
64
+ * Mellanox Technologies Ltd.
65
+ * DataDirect Networks.
66
+ * Oak Ridge National Laboratory
67
+ * Sun Microsystems, Lustre group
68
+ * Dolphin Interconnect Solutions Inc.
69
+ * Institut Polytechnique de Bordeaux
70
+ *
71
+ */
72
+
73
+ /* user include file for MPI-IO programs */
74
+
75
+ #ifndef MPIO_INCLUDE
76
+ #define MPIO_INCLUDE
77
+
78
+ #include "mpi.h"
79
+
80
+ #if defined(HAVE_VISIBILITY)
81
+ #define ROMIO_API_PUBLIC __attribute__((visibility ("default")))
82
+ #else
83
+ #define ROMIO_API_PUBLIC
84
+ #endif
85
+
86
+ #if defined(__cplusplus)
87
+ extern "C" {
88
+ #endif
89
+
90
+ #define ROMIO_VERSION 126 /* version 1.2.6 */
91
+
92
+ /* define MPI-IO datatypes and constants */
93
+
94
+ #ifndef MPI_FILE_DEFINED
95
+ typedef struct ADIOI_FileD *MPI_File;
96
+ #endif
97
+
98
+ /* *INDENT-OFF* */
99
+ #define HAVE_MPI_GREQUEST 1
100
+ /* *INDENT-ON* */
101
+ #ifndef HAVE_MPI_GREQUEST
102
+ typedef struct ADIOI_RequestD *MPIO_Request;
103
+ #else
104
+ #define MPIO_Request MPI_Request
105
+ #define MPIO_USES_MPI_REQUEST
106
+ /* Also rename the MPIO routines to get the MPI versions */
107
+ #define MPIO_Wait MPI_Wait
108
+ #define MPIO_Test MPI_Test
109
+ #define PMPIO_Wait PMPI_Wait
110
+ #define PMPIO_Test PMPI_Test
111
+ #endif
112
+ #define MPIO_REQUEST_DEFINED
113
+
114
+ #ifndef HAVE_MPI_OFFSET
115
+ /* *INDENT-OFF* */
116
+ typedef long long MPI_Offset;
117
+ /* *INDENT-ON* */
118
+ /* If we needed to define MPI_Offset, then we also need to make
119
+ this definition. */
120
+ #ifndef HAVE_MPI_DATAREP_FUNCTIONS
121
+ #define HAVE_MPI_DATAREP_FUNCTIONS
122
+ typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype, int,
123
+ void *, MPI_Offset, void *);
124
+ typedef int (MPI_Datarep_conversion_function_c)(void *, MPI_Datatype, MPI_Count,
125
+ void *, MPI_Offset, void *);
126
+ typedef int (MPI_Datarep_extent_function)(MPI_Datatype datatype, MPI_Aint *,
127
+ void *);
128
+ #endif
129
+ #endif
130
+
131
+ #ifndef NEEDS_MPI_FINT
132
+ /* *INDENT-OFF* */
133
+
134
+ /* *INDENT-ON* */
135
+ #endif
136
+ #ifdef NEEDS_MPI_FINT
137
+ typedef int MPI_Fint;
138
+ #endif
139
+
140
+ #ifndef HAVE_MPI_INFO
141
+ /* *INDENT-OFF* */
142
+ #define HAVE_MPI_INFO
143
+ /* *INDENT-ON* */
144
+ #endif
145
+ #ifndef HAVE_MPI_INFO
146
+ typedef struct MPIR_Info *MPI_Info;
147
+ # define MPI_INFO_NULL ((MPI_Info) 0)
148
+ # define MPI_MAX_INFO_KEY 255
149
+ # define MPI_MAX_INFO_VAL 1024
150
+ #endif
151
+ #ifndef MPI_MODE_RDONLY
152
+ #define MPI_MODE_RDONLY 2 /* ADIO_RDONLY */
153
+ #define MPI_MODE_RDWR 8 /* ADIO_RDWR */
154
+ #define MPI_MODE_WRONLY 4 /* ADIO_WRONLY */
155
+ #define MPI_MODE_CREATE 1 /* ADIO_CREATE */
156
+ #define MPI_MODE_EXCL 64 /* ADIO_EXCL */
157
+ #define MPI_MODE_DELETE_ON_CLOSE 16 /* ADIO_DELETE_ON_CLOSE */
158
+ #define MPI_MODE_UNIQUE_OPEN 32 /* ADIO_UNIQUE_OPEN */
159
+ #define MPI_MODE_APPEND 128 /* ADIO_APPEND */
160
+ #define MPI_MODE_SEQUENTIAL 256 /* ADIO_SEQUENTIAL */
161
+ #endif
162
+ #ifndef MPI_DISPLACEMENT_CURRENT
163
+ #define MPI_DISPLACEMENT_CURRENT -54278278
164
+ #endif
165
+
166
+ #ifndef MPICH
167
+ /* FIXME: Make sure that we get a consistent definition of MPI_FILE_NULL
168
+ in MPICH */
169
+ /* MPICH defines null object handles differently */
170
+ #define MPI_FILE_NULL ((MPI_File) 0)
171
+ #endif
172
+ #define MPIO_REQUEST_NULL ((MPIO_Request) 0)
173
+
174
+ #define MPI_SEEK_SET 600
175
+ #define MPI_SEEK_CUR 602
176
+ #define MPI_SEEK_END 604
177
+
178
+ /* Open MPI: don't define MPI_MAX_DATAREP_STRING here; it's defined in
179
+ OMPI's mpi.h. */
180
+ #ifndef OPEN_MPI
181
+ #define MPI_MAX_DATAREP_STRING 128
182
+ #endif
183
+
184
+ #ifndef HAVE_MPI_DARRAY_SUBARRAY
185
+ /* *INDENT-OFF* */
186
+ #define HAVE_MPI_DARRAY_SUBARRAY
187
+ /* *INDENT-ON* */
188
+ #endif
189
+ #ifndef HAVE_MPI_DARRAY_SUBARRAY
190
+ # define MPI_ORDER_C 56
191
+ # define MPI_ORDER_FORTRAN 57
192
+ # define MPI_DISTRIBUTE_BLOCK 121
193
+ # define MPI_DISTRIBUTE_CYCLIC 122
194
+ # define MPI_DISTRIBUTE_NONE 123
195
+ # define MPI_DISTRIBUTE_DFLT_DARG -49767
196
+ #endif
197
+
198
+
199
+ /* MPI-IO function prototypes */
200
+
201
+ /* The compiler must support ANSI C style prototypes, otherwise
202
+ long long constants (e.g. 0) may get passed as ints. */
203
+
204
+ #ifndef HAVE_PRAGMA_HP_SEC_DEF
205
+
206
+ /* Section 9.2 */
207
+ /* Begin Prototypes */
208
+ int MPI_File_open(MPI_Comm comm, const char *filename, int amode, MPI_Info info, MPI_File *fh) ROMIO_API_PUBLIC;
209
+ int MPI_File_close(MPI_File *fh) ROMIO_API_PUBLIC;
210
+ int MPI_File_delete(const char *filename, MPI_Info info) ROMIO_API_PUBLIC;
211
+ int MPI_File_set_size(MPI_File fh, MPI_Offset size) ROMIO_API_PUBLIC;
212
+ int MPI_File_preallocate(MPI_File fh, MPI_Offset size) ROMIO_API_PUBLIC;
213
+ int MPI_File_get_size(MPI_File fh, MPI_Offset *size) ROMIO_API_PUBLIC;
214
+ int MPI_File_get_group(MPI_File fh, MPI_Group *group) ROMIO_API_PUBLIC;
215
+ int MPI_File_get_amode(MPI_File fh, int *amode) ROMIO_API_PUBLIC;
216
+ int MPI_File_set_info(MPI_File fh, MPI_Info info) ROMIO_API_PUBLIC;
217
+ int MPI_File_get_info(MPI_File fh, MPI_Info *info_used) ROMIO_API_PUBLIC;
218
+
219
+ /* Section 9.3 */
220
+ int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, MPI_Datatype filetype,
221
+ const char *datarep, MPI_Info info) ROMIO_API_PUBLIC;
222
+ int MPI_File_get_view(MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype, MPI_Datatype *filetype,
223
+ char *datarep) ROMIO_API_PUBLIC;
224
+
225
+ /* Section 9.4.2 */
226
+ int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype,
227
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
228
+ int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void * buf, int count,
229
+ MPI_Datatype datatype, MPI_Status *status)
230
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
231
+ int MPI_File_write_at(MPI_File fh, MPI_Offset offset, const void * buf, int count,
232
+ MPI_Datatype datatype, MPI_Status *status)
233
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
234
+ int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count,
235
+ MPI_Datatype datatype, MPI_Status *status)
236
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
237
+
238
+ /* nonblocking calls currently use MPIO_Request, because generalized
239
+ requests not yet implemented. For the same reason, MPIO_Test and
240
+ MPIO_Wait are used to test and wait on nonblocking I/O requests */
241
+ int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype,
242
+ MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
243
+ int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, const void *buf, int count,
244
+ MPI_Datatype datatype, MPIO_Request *request)
245
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
246
+
247
+ /* Section 9.4.3 */
248
+ int MPI_File_read(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
249
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
250
+ int MPI_File_read_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status)
251
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
252
+ int MPI_File_write(MPI_File fh, const void *buf, int count, MPI_Datatype datatype,
253
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
254
+ int MPI_File_write_all(MPI_File fh, const void *buf, int count, MPI_Datatype datatype,
255
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
256
+
257
+ /* nonblocking calls currently use MPIO_Request, because generalized
258
+ requests not yet implemented. For the same reason, MPIO_Test and
259
+ MPIO_Wait are used to test and wait on nonblocking I/O requests */
260
+
261
+ int MPI_File_iread(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPIO_Request *request)
262
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
263
+ int MPI_File_iwrite(MPI_File fh, const void *buf, int count, MPI_Datatype datatype,
264
+ MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
265
+
266
+ int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence) ROMIO_API_PUBLIC;
267
+ int MPI_File_get_position(MPI_File fh, MPI_Offset *offset) ROMIO_API_PUBLIC;
268
+ int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, MPI_Offset *disp) ROMIO_API_PUBLIC;
269
+
270
+ /* Section 9.4.4 */
271
+ int MPI_File_read_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype,
272
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
273
+ int MPI_File_write_shared(MPI_File fh, const void *buf, int count, MPI_Datatype datatype,
274
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
275
+ int MPI_File_iread_shared(MPI_File fh, void *buf, int count, MPI_Datatype datatype,
276
+ MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
277
+ int MPI_File_iwrite_shared(MPI_File fh, const void *buf, int count, MPI_Datatype datatype,
278
+ MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
279
+ int MPI_File_read_ordered(MPI_File fh, void *buf, int count, MPI_Datatype datatype,
280
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
281
+ int MPI_File_write_ordered(MPI_File fh, const void *buf, int count, MPI_Datatype datatype,
282
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
283
+ int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence) ROMIO_API_PUBLIC;
284
+ int MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset) ROMIO_API_PUBLIC;
285
+
286
+ /* Section 9.4.5 */
287
+ int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, int count,
288
+ MPI_Datatype datatype) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
289
+ int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status) ROMIO_API_PUBLIC;
290
+ int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, const void *buf, int count,
291
+ MPI_Datatype datatype) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
292
+ int MPI_File_write_at_all_end(MPI_File fh, const void *buf, MPI_Status *status) ROMIO_API_PUBLIC;
293
+ int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)
294
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
295
+ int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status) ROMIO_API_PUBLIC;
296
+ int MPI_File_write_all_begin(MPI_File fh, const void *buf, int count, MPI_Datatype datatype)
297
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
298
+ int MPI_File_write_all_end(MPI_File fh, const void *buf, MPI_Status *status) ROMIO_API_PUBLIC;
299
+ int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, MPI_Datatype datatype)
300
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
301
+ int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status) ROMIO_API_PUBLIC;
302
+ int MPI_File_write_ordered_begin(MPI_File fh, const void *buf, int count, MPI_Datatype datatype)
303
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
304
+ int MPI_File_write_ordered_end(MPI_File fh, const void *buf, MPI_Status *status) ROMIO_API_PUBLIC;
305
+
306
+ /* Section 9.5.1 */
307
+ int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, MPI_Aint *extent) ROMIO_API_PUBLIC;
308
+
309
+ /* Section 9.5.3 */
310
+ int MPI_Register_datarep(const char *datarep, MPI_Datarep_conversion_function *read_conversion_fn,
311
+ MPI_Datarep_conversion_function *write_conversion_fn,
312
+ MPI_Datarep_extent_function *dtype_file_extent_fn, void *extra_state) ROMIO_API_PUBLIC;
313
+
314
+ /* Section 9.6.1 */
315
+ int MPI_File_set_atomicity(MPI_File fh, int flag) ROMIO_API_PUBLIC;
316
+ int MPI_File_get_atomicity(MPI_File fh, int *flag) ROMIO_API_PUBLIC;
317
+ int MPI_File_sync(MPI_File fh) ROMIO_API_PUBLIC;
318
+
319
+ /* Section 4.13.3 */
320
+ #ifndef MPICH
321
+ /* MPICH provides these definitions */
322
+ int MPI_File_set_errhandler(MPI_File file, MPI_Errhandler errhandler) ROMIO_API_PUBLIC;
323
+ int MPI_File_get_errhandler(MPI_File file, MPI_Errhandler *errhandler) ROMIO_API_PUBLIC;
324
+ #endif
325
+
326
+ /* For MPI 3.1 */
327
+ int MPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count,
328
+ MPI_Datatype datatype, MPI_Request *request)
329
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
330
+ int MPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count,
331
+ MPI_Datatype datatype, MPI_Request *request)
332
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
333
+ int MPI_File_iread_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype,
334
+ MPI_Request *request)
335
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
336
+ int MPI_File_iwrite_all(MPI_File fh, const void *buf, int count, MPI_Datatype datatype,
337
+ MPI_Request *request)
338
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
339
+
340
+ /* MPI 4.0 large count functions */
341
+ int MPI_File_read_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype, MPI_Status *status)
342
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
343
+ int MPI_File_read_all_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype, MPI_Status *status)
344
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
345
+ int MPI_File_read_all_begin_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype)
346
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
347
+ int MPI_File_read_at_c(MPI_File fh, MPI_Offset offset, void *buf, MPI_Count count, MPI_Datatype datatype,
348
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
349
+ int MPI_File_read_at_all_c(MPI_File fh, MPI_Offset offset, void * buf, MPI_Count count,
350
+ MPI_Datatype datatype, MPI_Status *status)
351
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
352
+ int MPI_File_read_at_all_begin_c(MPI_File fh, MPI_Offset offset, void *buf, MPI_Count count,
353
+ MPI_Datatype datatype) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
354
+ int MPI_File_read_ordered_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype,
355
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
356
+ int MPI_File_read_ordered_begin_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype)
357
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
358
+ int MPI_File_read_shared_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype,
359
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
360
+ int MPI_File_write_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
361
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
362
+ int MPI_File_write_all_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
363
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
364
+ int MPI_File_write_all_begin_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype)
365
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
366
+
367
+ int MPI_File_write_at_c(MPI_File fh, MPI_Offset offset, const void * buf, MPI_Count count,
368
+ MPI_Datatype datatype, MPI_Status *status)
369
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
370
+ int MPI_File_write_at_all_c(MPI_File fh, MPI_Offset offset, const void *buf, MPI_Count count,
371
+ MPI_Datatype datatype, MPI_Status *status)
372
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
373
+ int MPI_File_write_at_all_begin_c(MPI_File fh, MPI_Offset offset, const void *buf, MPI_Count count,
374
+ MPI_Datatype datatype) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
375
+ int MPI_File_write_ordered_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
376
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
377
+ int MPI_File_write_ordered_begin_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype)
378
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
379
+ int MPI_File_write_shared_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
380
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
381
+ int MPI_File_iread_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype, MPIO_Request *request)
382
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
383
+ int MPI_File_iread_all_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype,
384
+ MPI_Request *request)
385
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
386
+ int MPI_File_iread_at_c(MPI_File fh, MPI_Offset offset, void *buf, MPI_Count count, MPI_Datatype datatype,
387
+ MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
388
+ int MPI_File_iread_at_all_c(MPI_File fh, MPI_Offset offset, void *buf, MPI_Count count,
389
+ MPI_Datatype datatype, MPI_Request *request)
390
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
391
+ int MPI_File_iread_shared_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype,
392
+ MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
393
+ int MPI_File_iwrite_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
394
+ MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
395
+ int MPI_File_iwrite_all_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
396
+ MPI_Request *request)
397
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
398
+ int MPI_File_iwrite_at_c(MPI_File fh, MPI_Offset offset, const void *buf, MPI_Count count,
399
+ MPI_Datatype datatype, MPIO_Request *request)
400
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
401
+ int MPI_File_iwrite_at_all_c(MPI_File fh, MPI_Offset offset, const void *buf, MPI_Count count,
402
+ MPI_Datatype datatype, MPI_Request *request)
403
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
404
+ int MPI_File_iwrite_shared_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
405
+ MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
406
+
407
+ int MPI_File_get_type_extent_c(MPI_File fh, MPI_Datatype datatype, MPI_Count *extent) ROMIO_API_PUBLIC;
408
+
409
+ int MPI_Register_datarep_c(const char *datarep, MPI_Datarep_conversion_function_c *read_conversion_fn,
410
+ MPI_Datarep_conversion_function_c *write_conversion_fn,
411
+ MPI_Datarep_extent_function *dtype_file_extent_fn, void *extra_state) ROMIO_API_PUBLIC;
412
+
413
+ /* End Prototypes */
414
+
415
+ #ifndef HAVE_MPI_DARRAY_SUBARRAY
416
+ /* Section 4.14.4 */
417
+ int MPI_Type_create_subarray(int ndims, const int array_of_sizes[], const int array_of_subsizes[],
418
+ const int array_of_starts[], int order, MPI_Datatype oldtype,
419
+ MPI_Datatype *newtype) ROMIO_API_PUBLIC;
420
+
421
+ /* Section 4.14.5 */
422
+ int MPI_Type_create_darray(int size, int rank, int ndims, const int array_of_gsizes[],
423
+ const int array_of_distribs[], const int array_of_dargs[],
424
+ const int array_of_psizes, int order, MPI_Datatype oldtype,
425
+ MPI_Datatype *newtype) ROMIO_API_PUBLIC;
426
+ #endif
427
+
428
+ /* The globus2 device has to rename MPI_ symbols in order to use the vendor
429
+ MPI as one of its transport mechanisms. Therefore, the following undefines
430
+ should only happen if MPICH_RENAMING_MPI_FUNCS is not defined. */
431
+ /* Section 4.12.4 */
432
+ #if !defined(MPICH_RENAMING_MPI_FUNCS)
433
+ #ifdef MPI_File_f2c
434
+ #undef MPI_File_f2c
435
+ #endif
436
+ #ifdef MPI_File_c2f
437
+ #undef MPI_File_c2f
438
+ #endif
439
+ #endif
440
+ /* above needed for some versions of mpi.h in MPICH!! */
441
+ MPI_File MPI_File_f2c(MPI_Fint file) ROMIO_API_PUBLIC;
442
+ MPI_Fint MPI_File_c2f(MPI_File file) ROMIO_API_PUBLIC;
443
+
444
+
445
+ #ifndef HAVE_MPI_GREQUEST
446
+ /* The following functions are required if generalized requests are not
447
+ available, because in that case, an MPIO_Request object
448
+ is currently used for nonblocking I/O. */
449
+ int MPIO_Test(MPIO_Request *request, int *flag, MPI_Status *status) ROMIO_API_PUBLIC;
450
+ int MPIO_Wait(MPIO_Request *request, MPI_Status *status) ROMIO_API_PUBLIC;
451
+ int MPIO_Testall(int count, MPIO_Request array_of_requests[], int *flag,
452
+ MPI_Status array_of_statuses[]) ROMIO_API_PUBLIC;
453
+ int MPIO_Waitall(int count, MPIO_Request array_of_requests[], MPI_Status array_of_statuses[]) ROMIO_API_PUBLIC;
454
+ int MPIO_Testany(int count, MPIO_Request array_of_requests[], int *indx, int *flag,
455
+ MPI_Status *status) ROMIO_API_PUBLIC;
456
+ int MPIO_Waitany(int count, MPIO_Request array_of_requests[], int *indx, MPI_Status *status) ROMIO_API_PUBLIC;
457
+ int MPIO_Waitsome(int incount, MPIO_Request array_of_requests[], int *outcount,
458
+ int array_of_indices[], MPI_Status array_of_statuses[]) ROMIO_API_PUBLIC;
459
+ int MPIO_Testsome(int incount, MPIO_Request array_of_requests[], int *outcount,
460
+ int array_of_indices[], MPI_Status array_of_statuses[]) ROMIO_API_PUBLIC;
461
+
462
+ MPI_Fint MPIO_Request_c2f(MPIO_Request request) ROMIO_API_PUBLIC;
463
+ MPIO_Request MPIO_Request_f2c(MPI_Fint request) ROMIO_API_PUBLIC;
464
+ #endif /* HAVE_MPI_GREQUEST */
465
+
466
+ /* info functions if not defined in the MPI implementation */
467
+ #ifndef HAVE_MPI_INFO
468
+
469
+ int MPI_Info_create(MPI_Info *info) ROMIO_API_PUBLIC;
470
+ int MPI_Info_set(MPI_Info info, const char *key, const char *value) ROMIO_API_PUBLIC;
471
+ int MPI_Info_delete(MPI_Info info, const char *key) ROMIO_API_PUBLIC;
472
+ int MPI_Info_get(MPI_Info info, const char *key, int valuelen, char *value, int *flag) ROMIO_API_PUBLIC;
473
+ int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen, int *flag) ROMIO_API_PUBLIC;
474
+ int MPI_Info_get_nkeys(MPI_Info info, int *nkeys) ROMIO_API_PUBLIC;
475
+ int MPI_Info_get_nthkey(MPI_Info info, int n, char *key) ROMIO_API_PUBLIC;
476
+ int MPI_Info_dup(MPI_Info info, MPI_Info *newinfo) ROMIO_API_PUBLIC;
477
+ int MPI_Info_free(MPI_Info *info) ROMIO_API_PUBLIC;
478
+
479
+ /* The globus2 device has to rename MPI_ symbols in order to use the vendor
480
+ MPI as one of its transport mechanisms. Therefore, the following undefines
481
+ should only happen if MPICH_RENAMING_MPI_FUNCS is not defined. */
482
+ #if !defined(MPICH_RENAMING_MPI_FUNCS)
483
+ #ifdef MPI_Info_f2c
484
+ #undef MPI_Info_f2c
485
+ #endif
486
+ #ifdef MPI_Info_c2f
487
+ #undef MPI_Info_c2f
488
+ #endif
489
+ #endif
490
+ /* above needed for some versions of mpi.h in MPICH!! */
491
+ MPI_Fint MPI_Info_c2f(MPI_Info info) ROMIO_API_PUBLIC;
492
+ MPI_Info MPI_Info_f2c(MPI_Fint info) ROMIO_API_PUBLIC;
493
+ #endif
494
+
495
+ #endif /* HAVE_PRAGMA_HP_SEC_DEF */
496
+
497
+
498
+ /**************** BINDINGS FOR THE PROFILING INTERFACE ***************/
499
+
500
+
501
+ /* Section 9.2 */
502
+ int PMPI_File_open(MPI_Comm, const char *, int, MPI_Info, MPI_File *) ROMIO_API_PUBLIC;
503
+ int PMPI_File_close(MPI_File *) ROMIO_API_PUBLIC;
504
+ int PMPI_File_delete(const char *, MPI_Info) ROMIO_API_PUBLIC;
505
+ int PMPI_File_set_size(MPI_File, MPI_Offset) ROMIO_API_PUBLIC;
506
+ int PMPI_File_preallocate(MPI_File, MPI_Offset) ROMIO_API_PUBLIC;
507
+ int PMPI_File_get_size(MPI_File, MPI_Offset *) ROMIO_API_PUBLIC;
508
+ int PMPI_File_get_group(MPI_File, MPI_Group *) ROMIO_API_PUBLIC;
509
+ int PMPI_File_get_amode(MPI_File, int *) ROMIO_API_PUBLIC;
510
+ int PMPI_File_set_info(MPI_File, MPI_Info) ROMIO_API_PUBLIC;
511
+ int PMPI_File_get_info(MPI_File, MPI_Info *) ROMIO_API_PUBLIC;
512
+
513
+ /* Section 9.3 */
514
+ int PMPI_File_set_view(MPI_File, MPI_Offset,
515
+ MPI_Datatype, MPI_Datatype, const char *, MPI_Info) ROMIO_API_PUBLIC;
516
+ int PMPI_File_get_view(MPI_File, MPI_Offset *,
517
+ MPI_Datatype *, MPI_Datatype *, char *) ROMIO_API_PUBLIC;
518
+
519
+ /* Section 9.4.2 */
520
+ int PMPI_File_read_at(MPI_File, MPI_Offset, void *,
521
+ int, MPI_Datatype, MPI_Status *)
522
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
523
+ int PMPI_File_read_at_all(MPI_File, MPI_Offset, void *,
524
+ int, MPI_Datatype, MPI_Status *)
525
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
526
+ int PMPI_File_write_at(MPI_File, MPI_Offset, const void *,
527
+ int, MPI_Datatype, MPI_Status *)
528
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
529
+ int PMPI_File_write_at_all(MPI_File, MPI_Offset, const void *,
530
+ int, MPI_Datatype, MPI_Status *)
531
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
532
+
533
+ /* nonblocking calls currently use MPIO_Request, because generalized
534
+ requests not yet implemented. For the same reason, MPIO_Test and
535
+ MPIO_Wait are used to test and wait on nonblocking I/O requests */
536
+
537
+ int PMPI_File_iread_at(MPI_File, MPI_Offset, void *,
538
+ int, MPI_Datatype, MPIO_Request *)
539
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
540
+ int PMPI_File_iwrite_at(MPI_File, MPI_Offset, const void *,
541
+ int, MPI_Datatype, MPIO_Request *)
542
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
543
+
544
+ /* Section 9.4.3 */
545
+ int PMPI_File_read(MPI_File, void *, int, MPI_Datatype, MPI_Status *)
546
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
547
+ int PMPI_File_read_all(MPI_File, void *, int, MPI_Datatype, MPI_Status *)
548
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
549
+ int PMPI_File_write(MPI_File, const void *, int, MPI_Datatype, MPI_Status *)
550
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
551
+ int PMPI_File_write_all(MPI_File, const void *, int, MPI_Datatype, MPI_Status *)
552
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
553
+
554
+ /* nonblocking calls currently use MPIO_Request, because generalized
555
+ requests not yet implemented. For the same reason, MPIO_Test and
556
+ MPIO_Wait are used to test and wait on nonblocking I/O requests */
557
+
558
+ int PMPI_File_iread(MPI_File, void *, int, MPI_Datatype, MPIO_Request *)
559
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
560
+ int PMPI_File_iwrite(MPI_File, const void *, int, MPI_Datatype, MPIO_Request *)
561
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
562
+
563
+ int PMPI_File_seek(MPI_File, MPI_Offset, int) ROMIO_API_PUBLIC;
564
+ int PMPI_File_get_position(MPI_File, MPI_Offset *) ROMIO_API_PUBLIC;
565
+ int PMPI_File_get_byte_offset(MPI_File, MPI_Offset, MPI_Offset *) ROMIO_API_PUBLIC;
566
+
567
+ /* Section 9.4.4 */
568
+ int PMPI_File_read_shared(MPI_File, void *, int, MPI_Datatype, MPI_Status *)
569
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
570
+ int PMPI_File_write_shared(MPI_File, const void *, int, MPI_Datatype, MPI_Status *)
571
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
572
+ int PMPI_File_iread_shared(MPI_File, void *, int,
573
+ MPI_Datatype, MPIO_Request *)
574
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
575
+ int PMPI_File_iwrite_shared(MPI_File, const void *, int,
576
+ MPI_Datatype, MPIO_Request *)
577
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
578
+ int PMPI_File_read_ordered(MPI_File, void *, int, MPI_Datatype, MPI_Status *)
579
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
580
+ int PMPI_File_write_ordered(MPI_File, const void *, int, MPI_Datatype, MPI_Status *)
581
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
582
+ int PMPI_File_seek_shared(MPI_File, MPI_Offset, int) ROMIO_API_PUBLIC;
583
+ int PMPI_File_get_position_shared(MPI_File, MPI_Offset *) ROMIO_API_PUBLIC;
584
+
585
+ /* Section 9.4.5 */
586
+ int PMPI_File_read_at_all_begin(MPI_File, MPI_Offset, void *,
587
+ int, MPI_Datatype)
588
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
589
+ int PMPI_File_read_at_all_end(MPI_File, void *, MPI_Status *) ROMIO_API_PUBLIC;
590
+ int PMPI_File_write_at_all_begin(MPI_File, MPI_Offset, const void *,
591
+ int, MPI_Datatype)
592
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
593
+ int PMPI_File_write_at_all_end(MPI_File, const void *, MPI_Status *) ROMIO_API_PUBLIC;
594
+ int PMPI_File_read_all_begin(MPI_File, void *, int, MPI_Datatype)
595
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
596
+ int PMPI_File_read_all_end(MPI_File, void *, MPI_Status *) ROMIO_API_PUBLIC;
597
+ int PMPI_File_write_all_begin(MPI_File, const void *, int, MPI_Datatype)
598
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
599
+ int PMPI_File_write_all_end(MPI_File, const void *, MPI_Status *) ROMIO_API_PUBLIC;
600
+ int PMPI_File_read_ordered_begin(MPI_File, void *, int, MPI_Datatype)
601
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
602
+ int PMPI_File_read_ordered_end(MPI_File, void *, MPI_Status *) ROMIO_API_PUBLIC;
603
+ int PMPI_File_write_ordered_begin(MPI_File, const void *, int, MPI_Datatype)
604
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
605
+ int PMPI_File_write_ordered_end(MPI_File, const void *, MPI_Status *) ROMIO_API_PUBLIC;
606
+
607
+ /* Section 9.5.1 */
608
+ int PMPI_File_get_type_extent(MPI_File, MPI_Datatype, MPI_Aint *) ROMIO_API_PUBLIC;
609
+
610
+ /* Section 9.5.3 */
611
+ int PMPI_Register_datarep(const char *,
612
+ MPI_Datarep_conversion_function *,
613
+ MPI_Datarep_conversion_function *,
614
+ MPI_Datarep_extent_function *,
615
+ void *) ROMIO_API_PUBLIC;
616
+
617
+ /* Section 9.6.1 */
618
+ int PMPI_File_set_atomicity(MPI_File, int) ROMIO_API_PUBLIC;
619
+ int PMPI_File_get_atomicity(MPI_File, int *) ROMIO_API_PUBLIC;
620
+ int PMPI_File_sync(MPI_File) ROMIO_API_PUBLIC;
621
+
622
+ /* Section 4.13.3 */
623
+ #ifndef MPICH
624
+ /* MPICH provides these definitions */
625
+ int PMPI_File_set_errhandler( MPI_File, MPI_Errhandler ) ROMIO_API_PUBLIC;
626
+ int PMPI_File_get_errhandler( MPI_File, MPI_Errhandler * ) ROMIO_API_PUBLIC;
627
+ #endif
628
+
629
+ /* For MPI 3.1 */
630
+ int PMPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf, int count,
631
+ MPI_Datatype datatype, MPI_Request *request)
632
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
633
+ int PMPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf, int count,
634
+ MPI_Datatype datatype, MPI_Request *request)
635
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
636
+ int PMPI_File_iread_all(MPI_File fh, void *buf, int count, MPI_Datatype datatype,
637
+ MPI_Request *request)
638
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
639
+ int PMPI_File_iwrite_all(MPI_File fh, const void *buf, int count, MPI_Datatype datatype,
640
+ MPI_Request *request)
641
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
642
+
643
+ /* MPI 4.0 large count functions */
644
+ int PMPI_File_read_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype, MPI_Status *status)
645
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
646
+ int PMPI_File_read_all_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype, MPI_Status *status)
647
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
648
+ int PMPI_File_read_all_begin_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype)
649
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
650
+ int PMPI_File_read_at_c(MPI_File fh, MPI_Offset offset, void *buf, MPI_Count count, MPI_Datatype datatype,
651
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
652
+ int PMPI_File_read_at_all_c(MPI_File fh, MPI_Offset offset, void * buf, MPI_Count count,
653
+ MPI_Datatype datatype, MPI_Status *status)
654
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
655
+ int PMPI_File_read_at_all_begin_c(MPI_File fh, MPI_Offset offset, void *buf, MPI_Count count,
656
+ MPI_Datatype datatype) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
657
+ int PMPI_File_read_ordered_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype,
658
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
659
+ int PMPI_File_read_ordered_begin_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype)
660
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
661
+ int PMPI_File_read_shared_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype,
662
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
663
+ int PMPI_File_write_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
664
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
665
+ int PMPI_File_write_all_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
666
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
667
+ int PMPI_File_write_all_begin_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype)
668
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
669
+
670
+ int PMPI_File_write_at_c(MPI_File fh, MPI_Offset offset, const void * buf, MPI_Count count,
671
+ MPI_Datatype datatype, MPI_Status *status)
672
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
673
+ int PMPI_File_write_at_all_c(MPI_File fh, MPI_Offset offset, const void *buf, MPI_Count count,
674
+ MPI_Datatype datatype, MPI_Status *status)
675
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
676
+ int PMPI_File_write_at_all_begin_c(MPI_File fh, MPI_Offset offset, const void *buf, MPI_Count count,
677
+ MPI_Datatype datatype) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
678
+ int PMPI_File_write_ordered_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
679
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
680
+ int PMPI_File_write_ordered_begin_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype)
681
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
682
+ int PMPI_File_write_shared_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
683
+ MPI_Status *status) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
684
+ int PMPI_File_iread_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype, MPIO_Request *request)
685
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
686
+ int PMPI_File_iread_all_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype,
687
+ MPI_Request *request)
688
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
689
+ int PMPI_File_iread_at_c(MPI_File fh, MPI_Offset offset, void *buf, MPI_Count count, MPI_Datatype datatype,
690
+ MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
691
+ int PMPI_File_iread_at_all_c(MPI_File fh, MPI_Offset offset, void *buf, MPI_Count count,
692
+ MPI_Datatype datatype, MPI_Request *request)
693
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
694
+ int PMPI_File_iread_shared_c(MPI_File fh, void *buf, MPI_Count count, MPI_Datatype datatype,
695
+ MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
696
+ int PMPI_File_iwrite_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
697
+ MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
698
+ int PMPI_File_iwrite_all_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
699
+ MPI_Request *request)
700
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
701
+ int PMPI_File_iwrite_at_c(MPI_File fh, MPI_Offset offset, const void *buf, MPI_Count count,
702
+ MPI_Datatype datatype, MPIO_Request *request)
703
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
704
+ int PMPI_File_iwrite_at_all_c(MPI_File fh, MPI_Offset offset, const void *buf, MPI_Count count,
705
+ MPI_Datatype datatype, MPI_Request *request)
706
+ MPICH_ATTR_POINTER_WITH_TYPE_TAG(3,5) ROMIO_API_PUBLIC;
707
+ int PMPI_File_iwrite_shared_c(MPI_File fh, const void *buf, MPI_Count count, MPI_Datatype datatype,
708
+ MPIO_Request *request) MPICH_ATTR_POINTER_WITH_TYPE_TAG(2,4) ROMIO_API_PUBLIC;
709
+
710
+ int PMPI_File_get_type_extent_c(MPI_File fh, MPI_Datatype datatype, MPI_Count *extent) ROMIO_API_PUBLIC;
711
+
712
+ int PMPI_Register_datarep_c(const char *datarep, MPI_Datarep_conversion_function_c *read_conversion_fn,
713
+ MPI_Datarep_conversion_function_c *write_conversion_fn,
714
+ MPI_Datarep_extent_function *dtype_file_extent_fn, void *extra_state) ROMIO_API_PUBLIC;
715
+
716
+ #ifndef HAVE_MPI_DARRAY_SUBARRAY
717
+ /* Section 4.14.4 */
718
+ int PMPI_Type_create_subarray(int, int *, int *, int *, int,
719
+ MPI_Datatype, MPI_Datatype *) ROMIO_API_PUBLIC;
720
+
721
+ /* Section 4.14.5 */
722
+ int PMPI_Type_create_darray(int, int, int, int *, int *,
723
+ int *, int *, int, MPI_Datatype, MPI_Datatype *) ROMIO_API_PUBLIC;
724
+ #endif
725
+
726
+ /* Section 4.12.4 */
727
+ MPI_File PMPI_File_f2c(MPI_Fint) ROMIO_API_PUBLIC;
728
+ MPI_Fint PMPI_File_c2f(MPI_File) ROMIO_API_PUBLIC;
729
+
730
+ #ifndef HAVE_MPI_GREQUEST
731
+ /* The following functions are required if generalized requests are not
732
+ available, because in that case, an MPIO_Request object
733
+ is currently used for nonblocking I/O. */
734
+ int PMPIO_Test(MPIO_Request *, int *, MPI_Status *) ROMIO_API_PUBLIC;
735
+ int PMPIO_Wait(MPIO_Request *, MPI_Status *) ROMIO_API_PUBLIC;
736
+ int PMPIO_Testall(int, MPIO_Request *, int *, MPI_Status *) ROMIO_API_PUBLIC;
737
+ int PMPIO_Waitall(int, MPIO_Request *, MPI_Status *) ROMIO_API_PUBLIC;
738
+ int PMPIO_Testany(int, MPIO_Request *, int *, int *, MPI_Status *) ROMIO_API_PUBLIC;
739
+ int PMPIO_Waitany(int, MPIO_Request *, int *, MPI_Status *) ROMIO_API_PUBLIC;
740
+ int PMPIO_Waitsome(int, MPIO_Request *, int *, int *, MPI_Status *) ROMIO_API_PUBLIC;
741
+ int PMPIO_Testsome(int, MPIO_Request *, int *, int *, MPI_Status *) ROMIO_API_PUBLIC;
742
+ MPI_Fint PMPIO_Request_c2f(MPIO_Request) ROMIO_API_PUBLIC;
743
+ MPIO_Request PMPIO_Request_f2c(MPI_Fint) ROMIO_API_PUBLIC;
744
+ #endif /* HAVE_MPI_GREQUEST */
745
+
746
+ /* info functions if not defined in the MPI implementation */
747
+ #ifndef HAVE_MPI_INFO
748
+
749
+ int PMPI_Info_create(MPI_Info *) ROMIO_API_PUBLIC;
750
+ int PMPI_Info_set(MPI_Info, char *, char *) ROMIO_API_PUBLIC;
751
+ int PMPI_Info_delete(MPI_Info, char *) ROMIO_API_PUBLIC;
752
+ int PMPI_Info_get(MPI_Info, char *, int, char *, int *) ROMIO_API_PUBLIC;
753
+ int PMPI_Info_get_valuelen(MPI_Info, char *, int *, int *) ROMIO_API_PUBLIC;
754
+ int PMPI_Info_get_nkeys(MPI_Info, int *) ROMIO_API_PUBLIC;
755
+ int PMPI_Info_get_nthkey(MPI_Info, int, char *) ROMIO_API_PUBLIC;
756
+ int PMPI_Info_dup(MPI_Info, MPI_Info *) ROMIO_API_PUBLIC;
757
+ int PMPI_Info_free(MPI_Info *) ROMIO_API_PUBLIC;
758
+
759
+ MPI_Fint PMPI_Info_c2f(MPI_Info) ROMIO_API_PUBLIC;
760
+ MPI_Info PMPI_Info_f2c(MPI_Fint) ROMIO_API_PUBLIC;
761
+ #endif
762
+
763
+ #if defined(__cplusplus)
764
+ }
765
+ #endif
766
+
767
+ #endif