1 ! -*- fortran -*- 2 ! 3 ! Copyright (c) 2004-2006 The Trustees of Indiana University and Indiana 4 ! University Research and Technology 5 ! Corporation. All rights reserved. 6 ! Copyright (c) 2004-2005 The University of Tennessee and The University 7 ! of Tennessee Research Foundation. All rights 8 ! reserved. 9 ! Copyright (c) 2004-2005 High Performance Computing Center Stuttgart, 10 ! University of Stuttgart. All rights reserved. 11 ! Copyright (c) 2004-2005 The Regents of the University of California. 12 ! All rights reserved. 13 ! Copyright (c) 2006-2018 Cisco Systems, Inc. All rights reserved. 14 ! Copyright (c) 2016 Research Organization for Information Science 15 ! and Technology (RIST). All rights reserved. 16 ! Copyright (c) 2018 Los Alamos National Security, LLC. All rights 17 ! reserved. 18 ! $COPYRIGHT$ 19 ! 20 ! Additional copyrights may follow 21 ! 22 ! $HEADER$ 23 ! 24 25 interface MPI_Attr_delete 26 27 subroutine MPI_Attr_delete(comm, keyval, ierror) 28 integer, intent(in) :: comm 29 integer, intent(in) :: keyval 30 integer, intent(out) :: ierror 31 end subroutine MPI_Attr_delete 32 33 end interface 34 35 36 interface MPI_Attr_get 37 38 subroutine MPI_Attr_get(comm, keyval, attribute_val, flag, ierror) 39 integer, intent(in) :: comm 40 integer, intent(in) :: keyval 41 integer, intent(out) :: attribute_val 42 logical, intent(out) :: flag 43 integer, intent(out) :: ierror 44 end subroutine MPI_Attr_get 45 46 end interface 47 48 49 interface MPI_Attr_put 50 51 subroutine MPI_Attr_put(comm, keyval, attribute_val, ierror) 52 integer, intent(in) :: comm 53 integer, intent(in) :: keyval 54 integer, intent(in) :: attribute_val 55 integer, intent(out) :: ierror 56 end subroutine MPI_Attr_put 57 58 end interface 59 60 interface MPI_Errhandler_create 61 62 subroutine MPI_Errhandler_create(function, errhandler, ierror) 63 external :: function 64 integer, intent(out) :: errhandler 65 integer, intent(out) :: ierror 66 end subroutine MPI_Errhandler_create 67 68 end interface 69 70 interface MPI_Errhandler_get 71 72 subroutine MPI_Errhandler_get(comm, errhandler, ierror) 73 integer, intent(in) :: comm 74 integer, intent(out) :: errhandler 75 integer, intent(out) :: ierror 76 end subroutine MPI_Errhandler_get 77 78 end interface 79 80 81 interface MPI_Errhandler_set 82 83 subroutine MPI_Errhandler_set(comm, errhandler, ierror) 84 integer, intent(in) :: comm 85 integer, intent(in) :: errhandler 86 integer, intent(out) :: ierror 87 end subroutine MPI_Errhandler_set 88 89 end interface 90 91 interface MPI_Keyval_create 92 93 subroutine MPI_Keyval_create(copy_fn, delete_fn, keyval, extra_state, ierror) 94 external :: copy_fn 95 external :: delete_fn 96 integer, intent(out) :: keyval 97 integer, intent(in) :: extra_state 98 integer, intent(out) :: ierror 99 end subroutine MPI_Keyval_create 100 101 end interface 102 103 104 interface MPI_Keyval_free 105 106 subroutine MPI_Keyval_free(keyval, ierror) 107 integer, intent(inout) :: keyval 108 integer, intent(out) :: ierror 109 end subroutine MPI_Keyval_free 110 111 end interface 112 113 interface MPI_Type_extent 114 115 subroutine MPI_Type_extent(datatype, extent, ierror) 116 integer, intent(in) :: datatype 117 integer, intent(out) :: extent 118 integer, intent(out) :: ierror 119 end subroutine MPI_Type_extent 120 121 end interface 122 123 interface MPI_Type_hindexed 124 125 subroutine MPI_Type_hindexed(count, array_of_blocklengths, array_of_displacements, oldtype, newtype& 126 , ierror) 127 integer, intent(in) :: count 128 integer, dimension(*), intent(in) :: array_of_blocklengths 129 integer, dimension(*), intent(in) :: array_of_displacements 130 integer, intent(in) :: oldtype 131 integer, intent(out) :: newtype 132 integer, intent(out) :: ierror 133 end subroutine MPI_Type_hindexed 134 135 end interface 136 137 138 interface MPI_Type_hvector 139 140 subroutine MPI_Type_hvector(count, blocklength, stride, oldtype, newtype& 141 , ierror) 142 integer, intent(in) :: count 143 integer, intent(in) :: blocklength 144 integer, intent(in) :: stride 145 integer, intent(in) :: oldtype 146 integer, intent(out) :: newtype 147 integer, intent(out) :: ierror 148 end subroutine MPI_Type_hvector 149 150 end interface 151 152 interface MPI_Type_lb 153 154 subroutine MPI_Type_lb(datatype, lb, ierror) 155 integer, intent(in) :: datatype 156 integer, intent(out) :: lb 157 integer, intent(out) :: ierror 158 end subroutine MPI_Type_lb 159 160 end interface 161 162 interface MPI_Type_struct 163 164 subroutine MPI_Type_struct(count, array_of_blocklengths, array_of_displacements, array_of_types, newtype& 165 , ierror) 166 integer, intent(in) :: count 167 integer, dimension(*), intent(in) :: array_of_blocklengths 168 integer, dimension(*), intent(in) :: array_of_displacements 169 integer, dimension(*), intent(in) :: array_of_types 170 integer, intent(out) :: newtype 171 integer, intent(out) :: ierror 172 end subroutine MPI_Type_struct 173 174 end interface 175 176 177 interface MPI_Type_ub 178 179 subroutine MPI_Type_ub(datatype, ub, ierror) 180 integer, intent(in) :: datatype 181 integer, intent(out) :: ub 182 integer, intent(out) :: ierror 183 end subroutine MPI_Type_ub 184 185 end interface