1# This file was originally derived from a list of the C++ bindings 2# by using the perl script cxxtodecl. However, that script cannot 3# handle every feature of the bindings, so the final changes 4# were made by hand. 5<post> 6comm-Reduce_scatter_block void (in:const , , ,in:constref:Datatype ,in:constref:Op, ) const 7<mpi2> 8-Alloc_mem void* ( ,in:constref:Info ,return) 9dtype-Create_darray Datatype (, , ,in:const ,in:const ,in:const ,in:const , , ,return) const 10dtype-Create_hindexed Datatype (,in:const ,in:const , ,return) const 11dtype-Create_hvector Datatype (, , , ,return) const 12dtype-Create_indexed_block Datatype (, , in:const,,return) const 13dtype-Create_struct static Datatype ( ,in:const ,in:const ,in:const ,return) 14dtype-Create_subarray Datatype (, ,in:const ,in:const ,in:const , ,return) const 15dtype-Get_extent void (, , ) const 16dtype-Get_true_extent void (, , ) const 17dtype-Pack_external void (,in:const ,in:const , , , , ) const 18dtype-Pack_external_size Aint (, , ,return) const 19dtype-Create_resized Datatype (,in:const ,in:const ,return) const 20dtype-Unpack_external void (,in:const ,in:const , , , , ) const 21# Errhandler creation requires special routines 22#file-Create_errhandler static Errhandler (File::Errhandler_fn* function ,return) 23file-Get_errhandler Errhandler (,return) const 24file-Set_errhandler void (,in:constref:Errhandler ) 25-Free_mem void ( ) 26-Get_address Aint ( ,return) 27info-Create static Info (return) 28info-Delete void (,in:const ) 29info-Dup Info (,return) const 30info-Free void () 31info-Get bool (,in:const , , ,return ) const 32info-Get_nkeys int (,return) const 33info-Get_nthkey void (, , ) const 34info-Get_valuelen bool (,in:const ,in:refint,return ) const 35info-Set void (,in:const ,in:const ) 36-Is_finalized bool (return) 37req-Get_status bool (,return ) const 38# Errhandler creation requires special routines 39#win-Create_errhandler static Errhandler (Win::Errhandler_fn* function ,return) 40win-Get_errhandler Errhandler (,return) const 41win-Set_errhandler void (,in:constref:Errhandler ) 42-Close_port void (in:const ) 43comm-Disconnect void () 44comm-Get_parent static Intercomm (return) 45comm-Join static Intercomm (in:const ,return) 46intra-Accept Intercomm (in:const ,in:constref:Info , ,,return) const 47intra-Connect Intercomm (in:const ,in:constref:Info , ,,return) const 48-Lookup_name void (in:const ,in:constref:Info , ) 49-Open_port void (in:constref:Info , ) 50-Publish_name void (in:const ,in:constref:Info ,in:const ) 51-Unpublish_name void (in:const ,in:constref:Info ,in:const ) 52win-Accumulate void (in:const , ,in:constref:Datatype , , , ,in:constref:Datatype ,in:constref:Op, ) const 53win-Complete void () const 54win-Create static Win (in:const , , ,in:constref:Info ,in:constref:Intracomm ,return) 55win-Fence void (, ) const 56win-Free void () 57win-Get void ( , ,in:constref:Datatype , , , ,in:constref:Datatype, ) const 58win-Get_group Group (,return) const 59win-Lock void (, , , ) const 60win-Post void (in:constref:Group ,, ) const 61win-Put void (in:const , ,in:constref:Datatype , , , ,in:constref:Datatype, ) const 62win-Start void (in:constref:Group ,, ) const 63win-Test bool (,return) const 64win-Unlock void (, ) const 65win-Wait void () const 66comm-Allgather void (in:const , ,in:constref:Datatype , , ,in:constref:Datatype, ) const 67comm-Allgatherv void (in:const , ,in:constref:Datatype , ,in:const ,in:const ,in:constref:Datatype, ) const 68comm-Allreduce void (in:const , , ,in:constref:Datatype ,in:constref:Op, ) const 69comm-Alltoall void (in:const , ,in:constref:Datatype , , ,in:constref:Datatype, ) const 70comm-Alltoallv void (in:const ,in:const ,in:const ,in:constref:Datatype , ,in:const ,in:const ,in:constref:Datatype, ) const 71comm-Alltoallw void (in:const ,in:const ,in:const ,in:dtypearray:SIZE , ,in:const ,in:const ,in:dtypearray:SIZE, ) const 72comm-Barrier void () const 73comm-Bcast void (, ,in:constref:Datatype , , ) const 74comm-Gather void (in:const , ,in:constref:Datatype , , ,in:constref:Datatype , ) const 75comm-Gatherv void (in:const , ,in:constref:Datatype , ,in:const ,in:const ,in:constref:Datatype , ) const 76comm-Reduce void (in:const , , ,in:constref:Datatype ,in:constref:Op , ) const 77comm-Reduce_scatter void (in:const , , ,in:constref:Datatype ,in:constref:Op, ) const 78comm-Scatter void (in:const , ,in:constref:Datatype , , ,in:constref:Datatype , ) const 79comm-Scatterv void (in:const ,in:const ,in:const ,in:constref:Datatype , , ,in:constref:Datatype , ) const 80# FIXME: this entry confuses buildiface, which groups it with 81# inter-Create_intercomm (because of the class-Create -> Create_class rule 82# This needs a fix in GetCArgs, which finds the routine that matches 83# a name. 84#inter-Create Intercomm (,in:constref:Group ,return) const 85inter-Split Intercomm (, , ,return) const 86intra-Exscan void (in:const , , ,in:constref:Datatype ,in:constref:Op, ) const 87-Add_error_class int (return) 88-Add_error_code int ( ,return) 89-Add_error_string void ( ,in:const ) 90comm-Call_errhandler void (, ) const 91#comm-Create_keyval static int (Comm::Copy_attr_function* comm_copy_attr_fn ,Comm::Delete_attr_function* comm_delete_attr_fn , ,return) 92comm-Delete_attr void (, ) 93comm-Free_keyval static void (in:refint ) 94comm-Get_attr bool (, , ,return ) const 95comm-Get_name void (, ,in:refint ) const 96comm-Set_attr void (, ,in:const ) 97comm-Set_name void (,in:const ) 98#dtype-Create_keyval static int (Datatype::Copy_attr_function* type_copy_attr_fn ,Datatype::Delete_attr_function* type_delete_attr_fn , ,return) 99dtype-Delete_attr void (, ) 100dtype-Dup Datatype (,return) const 101dtype-Free_keyval static void (in:refint ) 102dtype-Get_attr bool (, , ,return ) const 103dtype-Get_contents void (, , , , , ,out:dtypearray:4 ) const 104dtype-Get_envelope void (,in:refint ,in:refint ,in:refint ,in:refint ) const 105dtype-Get_name void (, ,in:refint ) const 106dtype-Set_attr void (, ,in:const ) 107dtype-Set_name void (,in:const ) 108file-Call_errhandler void (, ) const 109greq-Complete void () 110# Grequest start requires special code 111#greq-Start static Grequest (in:const-Grequest::Query_function query_fn ,in:const-Grequest::Free_function free_fn ,in:const-Grequest::Cancel_function cancel_fn , ,return) 112-Is_thread_main bool (return) 113-Query_thread int (return) 114st-Set_cancelled void (,in:bool ) 115st-Set_elements void (,in:constref:Datatype , ) 116win-Call_errhandler void (, ) const 117#win-Create_keyval static int (Win::Copy_attr_function* win_copy_attr_fn ,Win::Delete_attr_function* win_delete_attr_fn , ,return) 118win-Delete_attr void (, ) 119win-Free_keyval static void (in:refint ) 120win-Get_attr bool (, , ,return ) const 121win-Get_name void (, ,in:refint ) const 122win-Set_attr void (, ,in:const ) 123win-Set_name void (,in:const ) 124op-Is_commutative () const 125op-Reduce_local void (in:const, , ,in:constref:Datatype, ,) const 126file-Close void () 127file-Delete static void (in:const ,in:constref:Info ) 128file-Get_amode int (,return) const 129file-Get_atomicity bool (,return) const 130file-Get_byte_offset Offset (,in:const ,return) const 131file-Get_group Group (,return) const 132file-Get_info Info (,return) const 133file-Get_position Offset (,return) const 134file-Get_position_shared Offset (,return) const 135file-Get_size Offset (,return) const 136file-Get_type_extent Aint (,in:constref:Datatype ,return) const 137file-Get_view void (, ,out:reftype:Datatype ,out:reftype:Datatype , ) const 138file-Iread Request (, , ,in:constref:Datatype ,return) 139file-Iread_at Request (, , , ,in:constref:Datatype ,return) 140file-Iread_shared Request (, , ,in:constref:Datatype ,return) 141file-Iwrite Request (,in:const , ,in:constref:Datatype ,return) 142file-Iwrite_at Request (, ,in:const , ,in:constref:Datatype ,return) 143file-Iwrite_shared Request (,in:const , ,in:constref:Datatype ,return) 144file-Open static File (in:constref:Intracomm ,in:const , ,in:constref:Info ,return) 145file-Preallocate void (, ) 146file-Read void (, , ,in:constref:Datatype , ) 147file-Read_all void (, , ,in:constref:Datatype , ) 148file-Read_all_begin void (, , ,in:constref:Datatype ) 149file-Read_all_end void (, , ) 150file-Read_at void (, , , ,in:constref:Datatype , ) 151file-Read_at_all void (, , , ,in:constref:Datatype , ) 152file-Read_at_all_begin void (, , , ,in:constref:Datatype ) 153file-Read_at_all_end void (, , ) 154file-Read_ordered void (, , ,in:constref:Datatype , ) 155file-Read_ordered_begin void (, , ,in:constref:Datatype ) 156file-Read_ordered_end void (, , ) 157file-Read_shared void (, , ,in:constref:Datatype , ) 158file-Seek void (, , ) 159file-Seek_shared void (, , ) 160file-Set_atomicity void (,in:bool ) 161file-Set_info void (,in:constref:Info ) 162file-Set_size void (, ) 163file-Set_view void (, ,in:constref:Datatype ,in:constref:Datatype ,in:const ,in:constref:Info ) 164file-Sync void () 165file-Write void (,in:const , ,in:constref:Datatype , ) 166file-Write_all void (,in:const , ,in:constref:Datatype , ) 167file-Write_all_begin void (,in:const , ,in:constref:Datatype ) 168file-Write_all_end void (,in:const , ) 169file-Write_at void (, ,in:const , ,in:constref:Datatype , ) 170file-Write_at_all void (, ,in:const , ,in:constref:Datatype , ) 171file-Write_at_all_begin void (, ,in:const , ,in:constref:Datatype ) 172file-Write_at_all_end void (,in:const , ) 173file-Write_ordered void (,in:const , ,in:constref:Datatype , ) 174file-Write_ordered_begin void (,in:const , ,in:constref:Datatype ) 175file-Write_ordered_end void (,in:const , ) 176file-Write_shared void (,in:const , ,in:constref:Datatype , ) 177# Datarep not yet available 178#-Register_datarep void (in:const ,Datarep_conversion_function* read_conversion_fn ,Datarep_conversion_function* write_conversion_fn ,Datarep_extent_function* dtype_file_extent_fn , ) 179# These are part of the C++ interface but only make sense 180# if Fortran is available. 181dtype-Create_f90_complex static Datatype ( , ,return) 182dtype-Create_f90_integer static Datatype ( ,return) 183dtype-Create_f90_real static Datatype ( , ,return) 184dtype-Match_size static Datatype ( , ,return) 185<mpi1> 186# Errhandler creation requires special routines 187#comm-Create_errhandler static Errhandler (Comm::Errhandler_fn* function ,return) 188# Errhandlers are really in MPI2, but replace routines defined in mpi1 189comm-Get_errhandler Errhandler (,return) const 190comm-Set_errhandler void (,in:constref:Errhandler ) 191# 192comm-Send void (in:const , ,in:constref:Datatype , , , ) const 193comm-Recv void ( , ,in:constref:Datatype , , , , ) const 194st-Get_count int (,in:constref:Datatype ,return) const 195comm-Bsend void (in:const , ,in:constref:Datatype , , , ) const 196comm-Ssend void (in:const , ,in:constref:Datatype , , , ) const 197comm-Rsend void (in:const , ,in:constref:Datatype , , , ) const 198-Attach_buffer void ( , ) 199-Detach_buffer int ( out:ref:void* ,return) 200comm-Isend Request (in:const , ,in:constref:Datatype , , , ,return) const 201comm-Ibsend Request (in:const , ,in:constref:Datatype , , , ,return) const 202comm-Issend Request (in:const , ,in:constref:Datatype , , , ,return) const 203comm-Irsend Request (in:const , ,in:constref:Datatype , , , ,return) const 204comm-Irecv Request ( , ,in:constref:Datatype , , , ,return) const 205req-Wait void (, ) 206req-Test bool (,return ) 207req-Free void () 208req-Waitany static int ( ,in:reqarray:1 ,return,) 209req-Testany static bool ( ,in:reqarray:1 ,in:refint ,return, ) 210req-Waitall static void ( ,in:reqarray:1 ,out:statusarray:1 ) 211req-Testall static bool ( ,in:reqarray:1 , return, out:statusarray:1 ) 212req-Waitsome static int ( ,in:reqarray:1 , return,, out:statusarray:1) 213req-Testsome static int ( ,in:reqarray:1 ,return,, out:statusarray:1) 214comm-Iprobe bool (, , ,return, ) const 215comm-Probe void (, , , ) const 216req-Cancel void () const 217st-Is_cancelled bool (,return) const 218comm-Send_init Prequest (in:const , ,in:constref:Datatype , , , ,return) const 219comm-Bsend_init Prequest (in:const , ,in:constref:Datatype , , , ,return) const 220comm-Ssend_init Prequest (in:const , ,in:constref:Datatype , , , ,return) const 221comm-Rsend_init Prequest (in:const , ,in:constref:Datatype , , , ,return) const 222comm-Recv_init Prequest ( , ,in:constref:Datatype , , , ,return) const 223preq-Start void () 224preq-Startall static void ( , in:preqarray:1 ) 225comm-Sendrecv void (in:const , ,in:constref:Datatype , , , , ,in:constref:Datatype , , , , ) const 226comm-Sendrecv_replace void (, ,in:constref:Datatype , , , , , , ) const 227dtype-Create_contiguous Datatype (, ,return) const 228dtype-Create_vector Datatype (, , , ,return) const 229dtype-Create_indexed Datatype (,in:const ,in:const ,,return) const 230dtype-Get_size int (,return) const 231dtype-Commit void () 232dtype-Free void () 233st-Get_elements int (,in:constref:Datatype ,return) const 234dtype-Pack void (in:const, , , , , in:refint ,in:constref:Comm ) const 235# Note that unpack doesn't follow the standard rules for matching 236# arguments to the C routine. 237#dtype-Unpack void (in:const, ,in:refint , , , ,in:constref:Comm ) const 238dtype-Pack_size int (, ,in:constref:Comm ,return) const 239#intra-Barrier void () const 240#intra-Bcast void (, ,in:constref:Datatype , ,) const 241#intra-Gather void (in:const , ,in:constref:Datatype , , ,in:constref:Datatype , ) const 242#intra-Gatherv void (in:const , ,in:constref:Datatype , ,in:const ,in:const ,in:constref:Datatype , ) const 243#intra-Scatter void (in:const , ,in:constref:Datatype , , ,in:constref:Datatype , ) const 244#intra-Scatterv void (in:const ,in:const ,in:const ,in:constref:Datatype , , ,in:constref:Datatype , ) const 245#intra-Allgather void (in:const , ,in:constref:Datatype , , ,in:constref:Datatype ) const 246#intra-Allgatherv void (in:const , ,in:constref:Datatype , ,in:const ,in:const ,in:constref:Datatype ) const 247#intra-Alltoall void (in:const , ,in:constref:Datatype , , ,in:constref:Datatype ) const 248#intra-Alltoallv void (in:const ,in:const ,in:const ,in:constref:Datatype , ,in:const ,in:const ,in:constref:Datatype ) const 249#intra-Reduce void (in:const , , ,in:constref:Datatype ,in:constref:Op , ) const 250# op-Init requires special handling 251#op-Init void (,User_function* function ,in:bool ) 252op-Free void () 253#intra-Allreduce void (in:const , , ,in:constref:Datatype ,in:constref:Op ) const 254#intra-Reduce_scatter void (in:const , , ,in:constref:Datatype ,in:constref:Op ) const 255intra-Scan void (in:const , , ,in:constref:Datatype ,in:constref:Op ) const 256group-Get_size int (,return) const 257group-Get_rank int (,return) const 258group-Translate_ranks static (in:constref:Group , ,in:const ,in:constref:Group , ,return) 259group-Compare static int (in:constref:Group ,in:constref:Group ,return) 260comm-Get_group Group (,return) const 261group-Union static Group (in:constref:Group ,in:constref:Group ,return) 262group-Intersect static Group (in:constref:Group ,in:constref:Group ,return) 263group-Difference static Group (in:constref:Group ,in:constref:Group ,return) 264group-Incl Group (, ,in:const ,return) const 265group-Excl Group (, ,in:const ,return) const 266group-Range_incl Group (, ,in:const ,return) const 267group-Range_excl Group (, ,in:const ,return) const 268group-Free void () 269comm-Get_size int (,return) const 270comm-Get_rank int (,return) const 271comm-Compare static int (in:constref:Comm ,in:constref:Comm ,return) 272intra-Dup Intracomm (,return) const 273inter-Dup Intercomm (,return) const 274cart-Dup Cartcomm (,return) const 275graph-Dup Graphcomm (,return) const 276distgraph-Dup Distgraphcomm (,return) const 277comm-Clone (,return) 278intra-Clone (,return) const 279inter-Clone (,return) const 280cart-Clone (,return) const 281graph-Clone (,return) const 282distgraph-Clone (,return) const 283intra-Create Intracomm (,in:constref:Group ,return) const 284intra-Split Intracomm (, , ,return) const 285comm-Free void () 286comm-Is_inter bool (,return) const 287inter-Get_remote_size int (,return) const 288inter-Get_remote_group Group (,return) const 289intra-Create_intercomm Intercomm (, ,in:constref:Comm , , ,return) const 290inter-Merge Intracomm (,in:bool ,return) const 291intra-Create_cart Cartcomm (, ,in:const ,in:boolarray:2 ,in:bool ,return) const 292-Compute_dims void ( , , ) 293intra-Create_graph Graphcomm (, ,in:const ,in:const ,in:bool ,return) const 294# Dist_graph_create, Dist_graph_create_adjacent are handled specially 295# because of the optional weights parameter 296comm-Get_topology int (,return) const 297graph-Get_dims void (, , ) const 298graph-Get_topo void (, , , , ) const 299cart-Get_dim int (,return) const 300cart-Get_topo void (, , ,out:boolarray:2 , ) const 301cart-Get_cart_rank int (,in:const ,return) const 302cart-Get_coords void (, , , ) const 303graph-Get_neighbors_count int (, ,return) const 304graph-Get_neighbors void (, , , ) const 305distgraph-Get_dist_neighbors_count void (,in:refint,in:refint,out:bool) const 306distgraph-Get_dist_graph_neighbors void (, , , , ,) const 307cart-Shift void (, , ,in:refint ,in:refint ) const 308cart-Sub Cartcomm ( ,in:boolarray:-10 ,return) const 309cart-Map int (, ,in:const ,in:boolarray:2 ,return) const 310graph-Map int (, ,in:const ,in:const ,return) const 311-Get_processor_name void ( ,in:refint ) 312errh-Free void () 313-Get_error_string void ( , ,in:refint ) 314-Get_error_class int ( ,return) 315# Wtime and tick are special 316#-Wtime double () 317#-Wtick double () 318-Finalize void () 319-Is_initialized bool (return) 320comm-Abort void ( ) const 321-Pcontrol void (in:const ,... ) 322# Status methods don't require routines and are handled specially 323#st-Get_source int (,return) const 324#st-Set_source void (, ) 325#st-Get_tag int (,return) const 326#st-Set_tag void (, ) 327#st-Get_error int (,return) const 328#st-Set_error void (, ) 329-Get_version void (in:refint ,in:refint ) 330