#ifndef PyMPI_CONFIG_UNKNOWN_H
#define PyMPI_CONFIG_UNKNOWN_H

/* ------------------------------------------------------------------------- */

#if defined(MPI_VERSION) && defined(MPI_SUBVERSION)
#define PyMPI_STDVERSION (10*MPI_VERSION+MPI_SUBVERSION)
#else
#define PyMPI_STDVERSION (10)
#endif

/* ------------------------------------------------------------------------- */

#if PyMPI_STDVERSION < 10
/* - */
#define PyMPI_MISSING_MPI_UNDEFINED 1
#define PyMPI_MISSING_MPI_ANY_SOURCE 1
#define PyMPI_MISSING_MPI_ANY_TAG 1
#define PyMPI_MISSING_MPI_PROC_NULL 1
/* - */
#define PyMPI_MISSING_MPI_Aint 1
#define PyMPI_MISSING_MPI_Datatype 1
#define PyMPI_MISSING_MPI_DATATYPE_NULL 1
#define PyMPI_MISSING_MPI_UB 1
#define PyMPI_MISSING_MPI_LB 1
#define PyMPI_MISSING_MPI_PACKED 1
#define PyMPI_MISSING_MPI_BYTE 1
#define PyMPI_MISSING_MPI_CHAR 1
#define PyMPI_MISSING_MPI_SHORT 1
#define PyMPI_MISSING_MPI_INT 1
#define PyMPI_MISSING_MPI_LONG 1
#define PyMPI_MISSING_MPI_LONG_LONG_INT 1
#define PyMPI_MISSING_MPI_UNSIGNED_CHAR 1
#define PyMPI_MISSING_MPI_UNSIGNED_SHORT 1
#define PyMPI_MISSING_MPI_UNSIGNED 1
#define PyMPI_MISSING_MPI_UNSIGNED_LONG 1
#define PyMPI_MISSING_MPI_FLOAT 1
#define PyMPI_MISSING_MPI_DOUBLE 1
#define PyMPI_MISSING_MPI_LONG_DOUBLE 1
#define PyMPI_MISSING_MPI_SHORT_INT 1
#define PyMPI_MISSING_MPI_2INT 1
#define PyMPI_MISSING_MPI_LONG_INT 1
#define PyMPI_MISSING_MPI_FLOAT_INT 1
#define PyMPI_MISSING_MPI_DOUBLE_INT 1
#define PyMPI_MISSING_MPI_LONG_DOUBLE_INT 1
/* - */
#define PyMPI_MISSING_MPI_CHARACTER 1
#define PyMPI_MISSING_MPI_LOGICAL 1
#define PyMPI_MISSING_MPI_INTEGER 1
#define PyMPI_MISSING_MPI_REAL 1
#define PyMPI_MISSING_MPI_DOUBLE_PRECISION 1
#define PyMPI_MISSING_MPI_COMPLEX 1
#define PyMPI_MISSING_MPI_DOUBLE_COMPLEX 1
#define PyMPI_MISSING_MPI_INTEGER1 1
#define PyMPI_MISSING_MPI_INTEGER2 1
#define PyMPI_MISSING_MPI_INTEGER4 1
#define PyMPI_MISSING_MPI_REAL2 1
#define PyMPI_MISSING_MPI_REAL4 1
#define PyMPI_MISSING_MPI_REAL8 1
/* - */
#define PyMPI_MISSING_MPI_BOTTOM 1
#define PyMPI_MISSING_MPI_Address 1
#define PyMPI_MISSING_MPI_Type_size 1
#define PyMPI_MISSING_MPI_Type_extent 1
#define PyMPI_MISSING_MPI_Type_lb 1
#define PyMPI_MISSING_MPI_Type_ub 1
#define PyMPI_MISSING_MPI_Type_dup 1
#define PyMPI_MISSING_MPI_Type_contiguous 1
#define PyMPI_MISSING_MPI_Type_vector 1
#define PyMPI_MISSING_MPI_Type_indexed 1
#define PyMPI_MISSING_MPI_Type_hvector 1
#define PyMPI_MISSING_MPI_Type_hindexed 1
#define PyMPI_MISSING_MPI_Type_struct 1
#define PyMPI_MISSING_MPI_Type_commit 1
#define PyMPI_MISSING_MPI_Type_free 1
#define PyMPI_MISSING_MPI_Pack 1
#define PyMPI_MISSING_MPI_Unpack 1
#define PyMPI_MISSING_MPI_Pack_size 1
/* - */
#define PyMPI_MISSING_MPI_Status 1
#define PyMPI_MISSING_MPI_Get_count 1
#define PyMPI_MISSING_MPI_Get_elements 1
#define PyMPI_MISSING_MPI_Test_cancelled 1
/* - */
#define PyMPI_MISSING_MPI_Request 1
#define PyMPI_MISSING_MPI_REQUEST_NULL 1
#define PyMPI_MISSING_MPI_Request_free 1
#define PyMPI_MISSING_MPI_Wait 1
#define PyMPI_MISSING_MPI_Test 1
#define PyMPI_MISSING_MPI_Request_get_status 1
#define PyMPI_MISSING_MPI_Cancel 1
#define PyMPI_MISSING_MPI_Waitany 1
#define PyMPI_MISSING_MPI_Testany 1
#define PyMPI_MISSING_MPI_Waitall 1
#define PyMPI_MISSING_MPI_Testall 1
#define PyMPI_MISSING_MPI_Waitsome 1
#define PyMPI_MISSING_MPI_Testsome 1
#define PyMPI_MISSING_MPI_Start 1
#define PyMPI_MISSING_MPI_Startall 1
/* - */
#define PyMPI_MISSING_MPI_Op 1
#define PyMPI_MISSING_MPI_OP_NULL 1
#define PyMPI_MISSING_MPI_MAX 1
#define PyMPI_MISSING_MPI_MIN 1
#define PyMPI_MISSING_MPI_SUM 1
#define PyMPI_MISSING_MPI_PROD 1
#define PyMPI_MISSING_MPI_LAND 1
#define PyMPI_MISSING_MPI_BAND 1
#define PyMPI_MISSING_MPI_LOR 1
#define PyMPI_MISSING_MPI_BOR 1
#define PyMPI_MISSING_MPI_LXOR 1
#define PyMPI_MISSING_MPI_BXOR 1
#define PyMPI_MISSING_MPI_MAXLOC 1
#define PyMPI_MISSING_MPI_MINLOC 1
#define PyMPI_MISSING_MPI_REPLACE 1
#define PyMPI_MISSING_MPI_Op_free 1
#define PyMPI_MISSING_MPI_User_function 1
#define PyMPI_MISSING_MPI_Op_create 1
/* - */
#define PyMPI_MISSING_MPI_Group 1
#define PyMPI_MISSING_MPI_GROUP_NULL 1
#define PyMPI_MISSING_MPI_GROUP_EMPTY 1
#define PyMPI_MISSING_MPI_Group_free 1
#define PyMPI_MISSING_MPI_Group_size 1
#define PyMPI_MISSING_MPI_Group_rank 1
#define PyMPI_MISSING_MPI_Group_translate_ranks 1
#define PyMPI_MISSING_MPI_IDENT 1
#define PyMPI_MISSING_MPI_CONGRUENT 1
#define PyMPI_MISSING_MPI_SIMILAR 1
#define PyMPI_MISSING_MPI_UNEQUAL 1
/* - */
#define PyMPI_MISSING_MPI_Group_compare 1
#define PyMPI_MISSING_MPI_Group_union 1
#define PyMPI_MISSING_MPI_Group_intersection 1
#define PyMPI_MISSING_MPI_Group_difference 1
#define PyMPI_MISSING_MPI_Group_incl 1
#define PyMPI_MISSING_MPI_Group_excl 1
#define PyMPI_MISSING_MPI_Group_range_incl 1
#define PyMPI_MISSING_MPI_Group_range_excl 1
/* - */
#define PyMPI_MISSING_MPI_Comm 1
#define PyMPI_MISSING_MPI_COMM_NULL 1
#define PyMPI_MISSING_MPI_COMM_SELF 1
#define PyMPI_MISSING_MPI_COMM_WORLD 1
#define PyMPI_MISSING_MPI_Comm_free 1
#define PyMPI_MISSING_MPI_Comm_group 1
#define PyMPI_MISSING_MPI_Comm_size 1
#define PyMPI_MISSING_MPI_Comm_rank 1
#define PyMPI_MISSING_MPI_Comm_compare 1
#define PyMPI_MISSING_MPI_Topo_test 1
#define PyMPI_MISSING_MPI_Comm_test_inter 1
#define PyMPI_MISSING_MPI_Abort 1
#define PyMPI_MISSING_MPI_Send 1
#define PyMPI_MISSING_MPI_Recv 1
#define PyMPI_MISSING_MPI_Sendrecv 1
#define PyMPI_MISSING_MPI_Sendrecv_replace 1
#define PyMPI_MISSING_MPI_BSEND_OVERHEAD 1
#define PyMPI_MISSING_MPI_Buffer_attach 1
#define PyMPI_MISSING_MPI_Buffer_detach 1
#define PyMPI_MISSING_MPI_Bsend 1
#define PyMPI_MISSING_MPI_Ssend 1
#define PyMPI_MISSING_MPI_Rsend 1
#define PyMPI_MISSING_MPI_Isend 1
#define PyMPI_MISSING_MPI_Ibsend 1
#define PyMPI_MISSING_MPI_Issend 1
#define PyMPI_MISSING_MPI_Irsend 1
#define PyMPI_MISSING_MPI_Irecv 1
#define PyMPI_MISSING_MPI_Send_init 1
#define PyMPI_MISSING_MPI_Bsend_init 1
#define PyMPI_MISSING_MPI_Ssend_init 1
#define PyMPI_MISSING_MPI_Rsend_init 1
#define PyMPI_MISSING_MPI_Recv_init 1
#define PyMPI_MISSING_MPI_Probe 1
#define PyMPI_MISSING_MPI_Iprobe 1
#define PyMPI_MISSING_MPI_Barrier 1
#define PyMPI_MISSING_MPI_Bcast 1
#define PyMPI_MISSING_MPI_Gather 1
#define PyMPI_MISSING_MPI_Gatherv 1
#define PyMPI_MISSING_MPI_Scatter 1
#define PyMPI_MISSING_MPI_Scatterv 1
#define PyMPI_MISSING_MPI_Allgather 1
#define PyMPI_MISSING_MPI_Allgatherv 1
#define PyMPI_MISSING_MPI_Alltoall 1
#define PyMPI_MISSING_MPI_Alltoallv 1
#define PyMPI_MISSING_MPI_Reduce 1
#define PyMPI_MISSING_MPI_Allreduce 1
#define PyMPI_MISSING_MPI_Reduce_scatter 1
#define PyMPI_MISSING_MPI_Scan 1
#define PyMPI_MISSING_MPI_Comm_dup 1
#define PyMPI_MISSING_MPI_Comm_create 1
#define PyMPI_MISSING_MPI_Comm_split 1
#define PyMPI_MISSING_MPI_CART 1
#define PyMPI_MISSING_MPI_Cart_create 1
#define PyMPI_MISSING_MPI_Cartdim_get 1
#define PyMPI_MISSING_MPI_Cart_get 1
#define PyMPI_MISSING_MPI_Cart_rank 1
#define PyMPI_MISSING_MPI_Cart_coords 1
#define PyMPI_MISSING_MPI_Cart_shift 1
#define PyMPI_MISSING_MPI_Cart_sub 1
#define PyMPI_MISSING_MPI_Cart_map 1
#define PyMPI_MISSING_MPI_Dims_create 1
#define PyMPI_MISSING_MPI_GRAPH 1
#define PyMPI_MISSING_MPI_Graph_create 1
#define PyMPI_MISSING_MPI_Graphdims_get 1
#define PyMPI_MISSING_MPI_Graph_get 1
#define PyMPI_MISSING_MPI_Graph_map 1
#define PyMPI_MISSING_MPI_Graph_neighbors_count 1
#define PyMPI_MISSING_MPI_Graph_neighbors 1
#define PyMPI_MISSING_MPI_Intercomm_create 1
#define PyMPI_MISSING_MPI_Comm_remote_group 1
#define PyMPI_MISSING_MPI_Comm_remote_size 1
#define PyMPI_MISSING_MPI_Intercomm_merge 1
#define PyMPI_MISSING_MPI_Errhandler_get 1
#define PyMPI_MISSING_MPI_Errhandler_set 1
#define PyMPI_MISSING_MPI_Handler_function 1
#define PyMPI_MISSING_MPI_Errhandler_create 1
/* - */
#define PyMPI_MISSING_MPI_Init 1
#define PyMPI_MISSING_MPI_Finalize 1
#define PyMPI_MISSING_MPI_Initialized 1
#define PyMPI_MISSING_MPI_Finalized 1
/* - */
#define PyMPI_MISSING_MPI_MAX_PROCESSOR_NAME 1
#define PyMPI_MISSING_MPI_Get_processor_name 1
#define PyMPI_MISSING_MPI_Wtime 1
#define PyMPI_MISSING_MPI_Wtick 1
#define PyMPI_MISSING_MPI_Pcontrol 1
/* - */
#define PyMPI_MISSING_MPI_Errhandler 1
#define PyMPI_MISSING_MPI_ERRHANDLER_NULL 1
#define PyMPI_MISSING_MPI_ERRORS_RETURN 1
#define PyMPI_MISSING_MPI_ERRORS_ARE_FATAL 1
#define PyMPI_MISSING_MPI_Errhandler_free 1
/* - */
#define PyMPI_MISSING_MPI_KEYVAL_INVALID 1
#define PyMPI_MISSING_MPI_TAG_UB 1
#define PyMPI_MISSING_MPI_HOST 1
#define PyMPI_MISSING_MPI_IO 1
#define PyMPI_MISSING_MPI_WTIME_IS_GLOBAL 1
#define PyMPI_MISSING_MPI_Attr_get 1
#define PyMPI_MISSING_MPI_Attr_put 1
#define PyMPI_MISSING_MPI_Attr_delete 1
#define PyMPI_MISSING_MPI_Copy_function 1
#define PyMPI_MISSING_MPI_Delete_function 1
#define PyMPI_MISSING_MPI_DUP_FN 1
#define PyMPI_MISSING_MPI_NULL_COPY_FN 1
#define PyMPI_MISSING_MPI_NULL_DELETE_FN 1
#define PyMPI_MISSING_MPI_Keyval_create 1
#define PyMPI_MISSING_MPI_Keyval_free 1
/* - */
#define PyMPI_MISSING_MPI_SUCCESS 1
#define PyMPI_MISSING_MPI_ERR_LASTCODE 1
#define PyMPI_MISSING_MPI_ERR_COMM 1
#define PyMPI_MISSING_MPI_ERR_GROUP 1
#define PyMPI_MISSING_MPI_ERR_TYPE 1
#define PyMPI_MISSING_MPI_ERR_REQUEST 1
#define PyMPI_MISSING_MPI_ERR_OP 1
#define PyMPI_MISSING_MPI_ERR_BUFFER 1
#define PyMPI_MISSING_MPI_ERR_COUNT 1
#define PyMPI_MISSING_MPI_ERR_TAG 1
#define PyMPI_MISSING_MPI_ERR_RANK 1
#define PyMPI_MISSING_MPI_ERR_ROOT 1
#define PyMPI_MISSING_MPI_ERR_TRUNCATE 1
#define PyMPI_MISSING_MPI_ERR_IN_STATUS 1
#define PyMPI_MISSING_MPI_ERR_PENDING 1
#define PyMPI_MISSING_MPI_ERR_TOPOLOGY 1
#define PyMPI_MISSING_MPI_ERR_DIMS 1
#define PyMPI_MISSING_MPI_ERR_ARG 1
#define PyMPI_MISSING_MPI_ERR_OTHER 1
#define PyMPI_MISSING_MPI_ERR_UNKNOWN 1
#define PyMPI_MISSING_MPI_ERR_INTERN 1
/* - */
#define PyMPI_MISSING_MPI_MAX_ERROR_STRING 1
#define PyMPI_MISSING_MPI_Error_class 1
#define PyMPI_MISSING_MPI_Error_string 1
/* - */
#endif /* MPI < 1.0 */

/* ------------------------------------------------------------------------- */

#if PyMPI_STDVERSION < 12
#define PyMPI_MISSING_MPI_VERSION 1
#define PyMPI_MISSING_MPI_SUBVERSION 1
#define PyMPI_MISSING_MPI_Get_version 1
#endif /* MPI < 1.2 */

/* ------------------------------------------------------------------------- */

#if PyMPI_STDVERSION < 20
/* - */
#define PyMPI_MISSING_MPI_ERR_KEYVAL 1
#define PyMPI_MISSING_MPI_MAX_OBJECT_NAME 1
/* - */
#define PyMPI_MISSING_MPI_WCHAR 1
#define PyMPI_MISSING_MPI_SIGNED_CHAR 1
#define PyMPI_MISSING_MPI_LONG_LONG 1
#define PyMPI_MISSING_MPI_UNSIGNED_LONG_LONG 1
/* - */
#define PyMPI_MISSING_MPI_Type_dup 1
#define PyMPI_MISSING_MPI_Type_create_indexed_block 1
#define PyMPI_MISSING_MPI_ORDER_C 1
#define PyMPI_MISSING_MPI_ORDER_FORTRAN 1
#define PyMPI_MISSING_MPI_Type_create_subarray 1
#define PyMPI_MISSING_MPI_DISTRIBUTE_NONE 1
#define PyMPI_MISSING_MPI_DISTRIBUTE_BLOCK 1
#define PyMPI_MISSING_MPI_DISTRIBUTE_CYCLIC 1
#define PyMPI_MISSING_MPI_DISTRIBUTE_DFLT_DARG 1
#define PyMPI_MISSING_MPI_Type_create_darray 1
#define PyMPI_MISSING_MPI_Get_address 1
#define PyMPI_MISSING_MPI_Type_create_hvector 1
#define PyMPI_MISSING_MPI_Type_create_hindexed 1
#define PyMPI_MISSING_MPI_Type_create_struct 1
#define PyMPI_MISSING_MPI_Type_get_extent 1
#define PyMPI_MISSING_MPI_Type_create_resized 1
#define PyMPI_MISSING_MPI_Type_get_true_extent 1
#define PyMPI_MISSING_MPI_Type_create_f90_integer 1
#define PyMPI_MISSING_MPI_Type_create_f90_real 1
#define PyMPI_MISSING_MPI_Type_create_f90_complex 1
#define PyMPI_MISSING_MPI_TYPECLASS_INTEGER 1
#define PyMPI_MISSING_MPI_TYPECLASS_REAL 1
#define PyMPI_MISSING_MPI_TYPECLASS_COMPLEX 1
#define PyMPI_MISSING_MPI_Type_match_size 1
#define PyMPI_MISSING_MPI_Pack_external 1
#define PyMPI_MISSING_MPI_Unpack_external 1
#define PyMPI_MISSING_MPI_Pack_external_size 1
#define PyMPI_MISSING_MPI_COMBINER_NAMED 1
#define PyMPI_MISSING_MPI_COMBINER_DUP 1
#define PyMPI_MISSING_MPI_COMBINER_CONTIGUOUS 1
#define PyMPI_MISSING_MPI_COMBINER_VECTOR 1
#define PyMPI_MISSING_MPI_COMBINER_HVECTOR_INTEGER 1
#define PyMPI_MISSING_MPI_COMBINER_HVECTOR 1
#define PyMPI_MISSING_MPI_COMBINER_INDEXED 1
#define PyMPI_MISSING_MPI_COMBINER_HINDEXED_INTEGER 1
#define PyMPI_MISSING_MPI_COMBINER_HINDEXED 1
#define PyMPI_MISSING_MPI_COMBINER_INDEXED_BLOCK 1
#define PyMPI_MISSING_MPI_COMBINER_STRUCT_INTEGER 1
#define PyMPI_MISSING_MPI_COMBINER_STRUCT 1
#define PyMPI_MISSING_MPI_COMBINER_SUBARRAY 1
#define PyMPI_MISSING_MPI_COMBINER_DARRAY 1
#define PyMPI_MISSING_MPI_COMBINER_F90_REAL 1
#define PyMPI_MISSING_MPI_COMBINER_F90_COMPLEX 1
#define PyMPI_MISSING_MPI_COMBINER_F90_INTEGER 1
#define PyMPI_MISSING_MPI_COMBINER_RESIZED 1
#define PyMPI_MISSING_MPI_Type_get_envelope 1
#define PyMPI_MISSING_MPI_Type_get_contents 1
#define PyMPI_MISSING_MPI_Type_get_name 1
#define PyMPI_MISSING_MPI_Type_set_name 1
#define PyMPI_MISSING_MPI_Type_get_attr 1
#define PyMPI_MISSING_MPI_Type_set_attr 1
#define PyMPI_MISSING_MPI_Type_delete_attr 1
#define PyMPI_MISSING_MPI_Type_copy_attr_function 1
#define PyMPI_MISSING_MPI_Type_delete_attr_function 1
#define PyMPI_MISSING_MPI_TYPE_NULL_COPY_FN 1
#define PyMPI_MISSING_MPI_TYPE_DUP_FN 1
#define PyMPI_MISSING_MPI_TYPE_NULL_DELETE_FN 1
#define PyMPI_MISSING_MPI_Type_create_keyval 1
#define PyMPI_MISSING_MPI_Type_free_keyval 1
/* - */
#define PyMPI_MISSING_MPI_STATUS_IGNORE 1
#define PyMPI_MISSING_MPI_STATUSES_IGNORE 1
#define PyMPI_MISSING_MPI_Status_set_elements 1
#define PyMPI_MISSING_MPI_Status_set_cancelled 1
/* - */
#define PyMPI_MISSING_MPI_Request_get_status 1
#define PyMPI_MISSING_MPI_Grequest_cancel_function 1
#define PyMPI_MISSING_MPI_Grequest_free_function 1
#define PyMPI_MISSING_MPI_Grequest_query_function 1
#define PyMPI_MISSING_MPI_Grequest_start 1
#define PyMPI_MISSING_MPI_Grequest_complete 1
/* - */
#define PyMPI_MISSING_MPI_ROOT 1
#define PyMPI_MISSING_MPI_IN_PLACE 1
#define PyMPI_MISSING_MPI_Alltoallw 1
#define PyMPI_MISSING_MPI_Exscan 1
/* - */
#define PyMPI_MISSING_MPI_MAX_PORT_NAME 1
#define PyMPI_MISSING_MPI_Open_port 1
#define PyMPI_MISSING_MPI_Close_port 1
#define PyMPI_MISSING_MPI_Publish_name 1
#define PyMPI_MISSING_MPI_Unpublish_name 1
#define PyMPI_MISSING_MPI_Lookup_name 1
#define PyMPI_MISSING_MPI_Comm_accept 1
#define PyMPI_MISSING_MPI_Comm_connect 1
#define PyMPI_MISSING_MPI_Comm_join 1
#define PyMPI_MISSING_MPI_Comm_disconnect 1
#define PyMPI_MISSING_MPI_ARGV_NULL 1
#define PyMPI_MISSING_MPI_ARGVS_NULL 1
#define PyMPI_MISSING_MPI_ERRCODES_IGNORE 1
#define PyMPI_MISSING_MPI_Comm_spawn 1
#define PyMPI_MISSING_MPI_Comm_spawn_multiple 1
#define PyMPI_MISSING_MPI_Comm_get_parent 1
#define PyMPI_MISSING_MPI_UNIVERSE_SIZE 1
#define PyMPI_MISSING_MPI_APPNUM 1
#define PyMPI_MISSING_MPI_ERR_SPAWN 1
#define PyMPI_MISSING_MPI_ERR_PORT 1
#define PyMPI_MISSING_MPI_ERR_SERVICE 1
#define PyMPI_MISSING_MPI_ERR_NAME 1
#define PyMPI_MISSING_MPI_Comm_get_errhandler 1
#define PyMPI_MISSING_MPI_Comm_set_errhandler 1
#define PyMPI_MISSING_MPI_Comm_errhandler_fn 1
#define PyMPI_MISSING_MPI_Comm_errhandler_function 1
#define PyMPI_MISSING_MPI_Comm_create_errhandler 1
#define PyMPI_MISSING_MPI_Comm_call_errhandler 1
#define PyMPI_MISSING_MPI_Comm_get_name 1
#define PyMPI_MISSING_MPI_Comm_set_name 1
/* - */
#define PyMPI_MISSING_MPI_Alloc_mem 1
#define PyMPI_MISSING_MPI_Free_mem 1
#define PyMPI_MISSING_MPI_ERR_NO_MEM 1
/* - */
#define PyMPI_MISSING_MPI_Comm_get_attr 1
#define PyMPI_MISSING_MPI_Comm_set_attr 1
#define PyMPI_MISSING_MPI_Comm_delete_attr 1
#define PyMPI_MISSING_MPI_Comm_copy_attr_function 1
#define PyMPI_MISSING_MPI_Comm_delete_attr_function 1
#define PyMPI_MISSING_MPI_COMM_DUP_FN 1
#define PyMPI_MISSING_MPI_COMM_NULL_COPY_FN 1
#define PyMPI_MISSING_MPI_COMM_NULL_DELETE_FN 1
#define PyMPI_MISSING_MPI_Comm_create_keyval 1
#define PyMPI_MISSING_MPI_Comm_free_keyval 1
/* - */
#define PyMPI_MISSING_MPI_Info 1
#define PyMPI_MISSING_MPI_INFO_NULL 1
#define PyMPI_MISSING_MPI_Info_free 1
#define PyMPI_MISSING_MPI_Info_create 1
#define PyMPI_MISSING_MPI_Info_dup 1
#define PyMPI_MISSING_MPI_MAX_INFO_KEY 1
#define PyMPI_MISSING_MPI_MAX_INFO_VAL 1
#define PyMPI_MISSING_MPI_Info_get 1
#define PyMPI_MISSING_MPI_Info_set 1
#define PyMPI_MISSING_MPI_Info_delete 1
#define PyMPI_MISSING_MPI_Info_get_nkeys 1
#define PyMPI_MISSING_MPI_Info_get_nthkey 1
#define PyMPI_MISSING_MPI_Info_get_valuelen 1
#define PyMPI_MISSING_MPI_ERR_INFO 1
#define PyMPI_MISSING_MPI_ERR_INFO_KEY 1
#define PyMPI_MISSING_MPI_ERR_INFO_VALUE 1
#define PyMPI_MISSING_MPI_ERR_INFO_NOKEY 1
/* - */
#define PyMPI_MISSING_MPI_Win 1
#define PyMPI_MISSING_MPI_WIN_NULL 1
#define PyMPI_MISSING_MPI_Win_free 1
#define PyMPI_MISSING_MPI_Win_create 1
#define PyMPI_MISSING_MPI_Win_get_group 1
#define PyMPI_MISSING_MPI_Get 1
#define PyMPI_MISSING_MPI_Put 1
#define PyMPI_MISSING_MPI_REPLACE 1
#define PyMPI_MISSING_MPI_Accumulate 1
#define PyMPI_MISSING_MPI_MODE_NOCHECK 1
#define PyMPI_MISSING_MPI_MODE_NOSTORE 1
#define PyMPI_MISSING_MPI_MODE_NOPUT 1
#define PyMPI_MISSING_MPI_MODE_NOPRECEDE 1
#define PyMPI_MISSING_MPI_MODE_NOSUCCEED 1
#define PyMPI_MISSING_MPI_Win_fence 1
#define PyMPI_MISSING_MPI_Win_post 1
#define PyMPI_MISSING_MPI_Win_start 1
#define PyMPI_MISSING_MPI_Win_complete 1
#define PyMPI_MISSING_MPI_Win_wait 1
#define PyMPI_MISSING_MPI_Win_test 1
#define PyMPI_MISSING_MPI_LOCK_EXCLUSIVE 1
#define PyMPI_MISSING_MPI_LOCK_SHARED 1
#define PyMPI_MISSING_MPI_Win_lock 1
#define PyMPI_MISSING_MPI_Win_unlock 1
#define PyMPI_MISSING_MPI_Win_get_errhandler 1
#define PyMPI_MISSING_MPI_Win_set_errhandler 1
#define PyMPI_MISSING_MPI_Win_errhandler_fn 1
#define PyMPI_MISSING_MPI_Win_errhandler_function 1
#define PyMPI_MISSING_MPI_Win_create_errhandler 1
#define PyMPI_MISSING_MPI_Win_call_errhandler 1
#define PyMPI_MISSING_MPI_Win_get_name 1
#define PyMPI_MISSING_MPI_Win_set_name 1
#define PyMPI_MISSING_MPI_WIN_BASE 1
#define PyMPI_MISSING_MPI_WIN_SIZE 1
#define PyMPI_MISSING_MPI_WIN_DISP_UNIT 1
#define PyMPI_MISSING_MPI_Win_get_attr 1
#define PyMPI_MISSING_MPI_Win_set_attr 1
#define PyMPI_MISSING_MPI_Win_delete_attr 1
#define PyMPI_MISSING_MPI_Win_copy_attr_function 1
#define PyMPI_MISSING_MPI_Win_delete_attr_function 1
#define PyMPI_MISSING_MPI_WIN_DUP_FN 1
#define PyMPI_MISSING_MPI_WIN_NULL_COPY_FN 1
#define PyMPI_MISSING_MPI_WIN_NULL_DELETE_FN 1
#define PyMPI_MISSING_MPI_Win_create_keyval 1
#define PyMPI_MISSING_MPI_Win_free_keyval 1
#define PyMPI_MISSING_MPI_ERR_WIN 1
#define PyMPI_MISSING_MPI_ERR_BASE 1
#define PyMPI_MISSING_MPI_ERR_SIZE 1
#define PyMPI_MISSING_MPI_ERR_DISP 1
#define PyMPI_MISSING_MPI_ERR_ASSERT 1
#define PyMPI_MISSING_MPI_ERR_LOCKTYPE 1
#define PyMPI_MISSING_MPI_ERR_RMA_CONFLICT 1
#define PyMPI_MISSING_MPI_ERR_RMA_SYNC 1
/* - */
#define PyMPI_MISSING_MPI_Offset 1
#define PyMPI_MISSING_MPI_File 1
#define PyMPI_MISSING_MPI_FILE_NULL 1
#define PyMPI_MISSING_MPI_MODE_RDONLY 1
#define PyMPI_MISSING_MPI_MODE_RDWR 1
#define PyMPI_MISSING_MPI_MODE_WRONLY 1
#define PyMPI_MISSING_MPI_MODE_CREATE 1
#define PyMPI_MISSING_MPI_MODE_EXCL 1
#define PyMPI_MISSING_MPI_MODE_DELETE_ON_CLOSE 1
#define PyMPI_MISSING_MPI_MODE_UNIQUE_OPEN 1
#define PyMPI_MISSING_MPI_MODE_APPEND 1
#define PyMPI_MISSING_MPI_MODE_SEQUENTIAL 1
#define PyMPI_MISSING_MPI_File_open 1
#define PyMPI_MISSING_MPI_File_close 1
#define PyMPI_MISSING_MPI_File_delete 1
#define PyMPI_MISSING_MPI_File_set_size 1
#define PyMPI_MISSING_MPI_File_preallocate 1
#define PyMPI_MISSING_MPI_File_get_size 1
#define PyMPI_MISSING_MPI_File_get_group 1
#define PyMPI_MISSING_MPI_File_get_amode 1
#define PyMPI_MISSING_MPI_File_set_info 1
#define PyMPI_MISSING_MPI_File_get_info 1
#define PyMPI_MISSING_MPI_MAX_DATAREP_STRING 1
#define PyMPI_MISSING_MPI_File_get_view 1
#define PyMPI_MISSING_MPI_File_set_view 1
#define PyMPI_MISSING_MPI_File_read_at 1
#define PyMPI_MISSING_MPI_File_read_at_all 1
#define PyMPI_MISSING_MPI_File_write_at 1
#define PyMPI_MISSING_MPI_File_write_at_all 1
#define PyMPI_MISSING_MPI_File_iread_at 1
#define PyMPI_MISSING_MPI_File_iwrite_at 1
#define PyMPI_MISSING_MPI_SEEK_SET 1
#define PyMPI_MISSING_MPI_SEEK_CUR 1
#define PyMPI_MISSING_MPI_SEEK_END 1
#define PyMPI_MISSING_MPI_DISPLACEMENT_CURRENT 1
#define PyMPI_MISSING_MPI_File_seek 1
#define PyMPI_MISSING_MPI_File_get_position 1
#define PyMPI_MISSING_MPI_File_get_byte_offset 1
#define PyMPI_MISSING_MPI_File_read 1
#define PyMPI_MISSING_MPI_File_read_all 1
#define PyMPI_MISSING_MPI_File_write 1
#define PyMPI_MISSING_MPI_File_write_all 1
#define PyMPI_MISSING_MPI_File_iread 1
#define PyMPI_MISSING_MPI_File_iwrite 1
#define PyMPI_MISSING_MPI_File_read_shared 1
#define PyMPI_MISSING_MPI_File_write_shared 1
#define PyMPI_MISSING_MPI_File_iread_shared 1
#define PyMPI_MISSING_MPI_File_iwrite_shared 1
#define PyMPI_MISSING_MPI_File_read_ordered 1
#define PyMPI_MISSING_MPI_File_write_ordered 1
#define PyMPI_MISSING_MPI_File_seek_shared 1
#define PyMPI_MISSING_MPI_File_get_position_shared 1
#define PyMPI_MISSING_MPI_File_read_at_all_begin 1
#define PyMPI_MISSING_MPI_File_read_at_all_end 1
#define PyMPI_MISSING_MPI_File_write_at_all_begin 1
#define PyMPI_MISSING_MPI_File_write_at_all_end 1
#define PyMPI_MISSING_MPI_File_read_all_begin 1
#define PyMPI_MISSING_MPI_File_read_all_end 1
#define PyMPI_MISSING_MPI_File_write_all_begin 1
#define PyMPI_MISSING_MPI_File_write_all_end 1
#define PyMPI_MISSING_MPI_File_read_ordered_begin 1
#define PyMPI_MISSING_MPI_File_read_ordered_end 1
#define PyMPI_MISSING_MPI_File_write_ordered_begin 1
#define PyMPI_MISSING_MPI_File_write_ordered_end 1
#define PyMPI_MISSING_MPI_File_get_type_extent 1
#define PyMPI_MISSING_MPI_File_set_atomicity 1
#define PyMPI_MISSING_MPI_File_get_atomicity 1
#define PyMPI_MISSING_MPI_File_sync 1
#define PyMPI_MISSING_MPI_File_get_errhandler 1
#define PyMPI_MISSING_MPI_File_set_errhandler 1
#define PyMPI_MISSING_MPI_File_errhandler_fn 1
#define PyMPI_MISSING_MPI_File_errhandler_function 1
#define PyMPI_MISSING_MPI_File_create_errhandler 1
#define PyMPI_MISSING_MPI_File_call_errhandler 1
#define PyMPI_MISSING_MPI_Datarep_conversion_function 1
#define PyMPI_MISSING_MPI_Datarep_extent_function 1
#define PyMPI_MISSING_MPI_Register_datarep 1
#define PyMPI_MISSING_MPI_ERR_FILE 1
#define PyMPI_MISSING_MPI_ERR_NOT_SAME 1
#define PyMPI_MISSING_MPI_ERR_BAD_FILE 1
#define PyMPI_MISSING_MPI_ERR_NO_SUCH_FILE 1
#define PyMPI_MISSING_MPI_ERR_FILE_EXISTS 1
#define PyMPI_MISSING_MPI_ERR_FILE_IN_USE 1
#define PyMPI_MISSING_MPI_ERR_AMODE 1
#define PyMPI_MISSING_MPI_ERR_ACCESS 1
#define PyMPI_MISSING_MPI_ERR_READ_ONLY 1
#define PyMPI_MISSING_MPI_ERR_NO_SPACE 1
#define PyMPI_MISSING_MPI_ERR_QUOTA 1
#define PyMPI_MISSING_MPI_ERR_UNSUPPORTED_DATAREP 1
#define PyMPI_MISSING_MPI_ERR_UNSUPPORTED_OPERATION 1
#define PyMPI_MISSING_MPI_ERR_CONVERSION 1
#define PyMPI_MISSING_MPI_ERR_DUP_DATAREP 1
#define PyMPI_MISSING_MPI_ERR_IO 1
/* - */
#define PyMPI_MISSING_MPI_LASTUSEDCODE 1
#define PyMPI_MISSING_MPI_Add_error_class 1
#define PyMPI_MISSING_MPI_Add_error_code 1
#define PyMPI_MISSING_MPI_Add_error_string 1
/* - */
#define PyMPI_MISSING_MPI_THREAD_SINGLE 1
#define PyMPI_MISSING_MPI_THREAD_FUNNELED 1
#define PyMPI_MISSING_MPI_THREAD_SERIALIZED 1
#define PyMPI_MISSING_MPI_THREAD_MULTIPLE 1
#define PyMPI_MISSING_MPI_Init_thread 1
#define PyMPI_MISSING_MPI_Query_thread 1
#define PyMPI_MISSING_MPI_Is_thread_main 1
/* - */
#define PyMPI_MISSING_MPI_Fint 1
#define PyMPI_MISSING_MPI_F_STATUS_IGNORE 1
#define PyMPI_MISSING_MPI_F_STATUSES_IGNORE 1
#define PyMPI_MISSING_MPI_Status_c2f 1
#define PyMPI_MISSING_MPI_Status_f2c 1
#define PyMPI_MISSING_MPI_Type_c2f 1
#define PyMPI_MISSING_MPI_Request_c2f 1
#define PyMPI_MISSING_MPI_Op_c2f 1
#define PyMPI_MISSING_MPI_Info_c2f 1
#define PyMPI_MISSING_MPI_Group_c2f 1
#define PyMPI_MISSING_MPI_Comm_c2f 1
#define PyMPI_MISSING_MPI_Win_c2f 1
#define PyMPI_MISSING_MPI_File_c2f 1
#define PyMPI_MISSING_MPI_Errhandler_c2f 1
#define PyMPI_MISSING_MPI_Type_f2c 1
#define PyMPI_MISSING_MPI_Request_f2c 1
#define PyMPI_MISSING_MPI_Op_f2c 1
#define PyMPI_MISSING_MPI_Info_f2c 1
#define PyMPI_MISSING_MPI_Group_f2c 1
#define PyMPI_MISSING_MPI_Comm_f2c 1
#define PyMPI_MISSING_MPI_Win_f2c 1
#define PyMPI_MISSING_MPI_File_f2c 1
#define PyMPI_MISSING_MPI_Errhandler_f2c 1
/* - */
#endif /* MPI < 2.0 */

/* ------------------------------------------------------------------------- */

#if PyMPI_STDVERSION < 21

#endif /* MPI < 2.1 */

/* ------------------------------------------------------------------------- */

#if PyMPI_STDVERSION < 22
/* - */
#define PyMPI_MISSING_MPI_AINT 1
#define PyMPI_MISSING_MPI_OFFSET 1
/* - */
#define PyMPI_MISSING_MPI_C_BOOL 1
#define PyMPI_MISSING_MPI_INT8_T 1
#define PyMPI_MISSING_MPI_INT16_T 1
#define PyMPI_MISSING_MPI_INT32_T 1
#define PyMPI_MISSING_MPI_INT64_T 1
#define PyMPI_MISSING_MPI_UINT8_T 1
#define PyMPI_MISSING_MPI_UINT16_T 1
#define PyMPI_MISSING_MPI_UINT32_T 1
#define PyMPI_MISSING_MPI_UINT64_T 1
#define PyMPI_MISSING_MPI_C_COMPLEX 1
#define PyMPI_MISSING_MPI_C_FLOAT_COMPLEX 1
#define PyMPI_MISSING_MPI_C_DOUBLE_COMPLEX 1
#define PyMPI_MISSING_MPI_C_LONG_DOUBLE_COMPLEX 1
/* - */
#define PyMPI_MISSING_MPI_INTEGER8 1
#define PyMPI_MISSING_MPI_INTEGER16 1
#define PyMPI_MISSING_MPI_REAL16 1
#define PyMPI_MISSING_MPI_COMPLEX4 1
#define PyMPI_MISSING_MPI_COMPLEX8 1
#define PyMPI_MISSING_MPI_COMPLEX16 1
#define PyMPI_MISSING_MPI_COMPLEX32 1
/* - */
#define PyMPI_MISSING_MPI_Op_commutative 1
#define PyMPI_MISSING_MPI_Reduce_local 1
#define PyMPI_MISSING_MPI_Reduce_scatter_block 1
/* - */
#define PyMPI_MISSING_MPI_DIST_GRAPH 1
#define PyMPI_MISSING_MPI_UNWEIGHTED 1
#define PyMPI_MISSING_MPI_Dist_graph_create_adjacent 1
#define PyMPI_MISSING_MPI_Dist_graph_create 1
#define PyMPI_MISSING_MPI_Dist_graph_neighbors_count 1
#define PyMPI_MISSING_MPI_Dist_graph_neighbors 1
/* - */
#define PyMPI_MISSING_MPI_Comm_errhandler_function 1
#define PyMPI_MISSING_MPI_Win_errhandler_function 1
#define PyMPI_MISSING_MPI_File_errhandler_function 1
/* - */
#endif /* MPI < 2.2 */

/* ------------------------------------------------------------------------- */

/* These types are Open MPI extensions */
#define PyMPI_MISSING_MPI_LOGICAL1 1
#define PyMPI_MISSING_MPI_LOGICAL2 1
#define PyMPI_MISSING_MPI_LOGICAL4 1
#define PyMPI_MISSING_MPI_LOGICAL8 1

/* These types are difficult to implement portably */
#define PyMPI_MISSING_MPI_INTEGER16 1
#define PyMPI_MISSING_MPI_REAL2 1
#define PyMPI_MISSING_MPI_COMPLEX4 1

/* ------------------------------------------------------------------------- */

#endif /* !PyMPI_CONFIG_UNKNOWN_H */
