Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
attempt to remove oudated coccinelle stuff
[simgrid.git] / include / smpi / smpi.h
index 429f818..e83e56e 100644 (file)
@@ -241,64 +241,64 @@ typedef struct s_smpi_mpi_info *MPI_Info;
 #define MPI_STATUS_IGNORE ((MPI_Status*)NULL)
 #define MPI_STATUSES_IGNORE ((MPI_Status*)NULL)
 
-#define MPI_DATATYPE_NULL ((MPI_Datatype)NULL)
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_CHAR;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_SHORT;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_INT;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_LONG;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_LONG_LONG;
+#define MPI_DATATYPE_NULL ((const MPI_Datatype)NULL)
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_CHAR;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_SHORT;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INT;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_LONG;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_LONG_LONG;
 #define MPI_LONG_LONG_INT MPI_LONG_LONG
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_SIGNED_CHAR;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UNSIGNED_CHAR;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UNSIGNED_SHORT;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UNSIGNED;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UNSIGNED_LONG;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UNSIGNED_LONG_LONG;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_FLOAT;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_DOUBLE;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_LONG_DOUBLE;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_WCHAR;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_C_BOOL;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_INT8_T;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_INT16_T;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_INT32_T;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_INT64_T;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UINT8_T;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_BYTE;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UINT16_T;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UINT32_T;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UINT64_T;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_C_FLOAT_COMPLEX;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_SIGNED_CHAR;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UNSIGNED_CHAR;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UNSIGNED_SHORT;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UNSIGNED;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UNSIGNED_LONG;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UNSIGNED_LONG_LONG;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_FLOAT;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_DOUBLE;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_LONG_DOUBLE;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_WCHAR;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_C_BOOL;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INT8_T;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INT16_T;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INT32_T;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INT64_T;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UINT8_T;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_BYTE;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UINT16_T;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UINT32_T;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UINT64_T;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_C_FLOAT_COMPLEX;
 #define MPI_C_COMPLEX MPI_C_FLOAT_COMPLEX
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_C_DOUBLE_COMPLEX;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_C_LONG_DOUBLE_COMPLEX;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_AINT;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_OFFSET;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_LB;
-XBT_PUBLIC_DATA( MPI_Datatype ) MPI_UB;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_C_DOUBLE_COMPLEX;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_C_LONG_DOUBLE_COMPLEX;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_AINT;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_OFFSET;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_LB;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_UB;
 //The following are datatypes for the MPI functions MPI_MAXLOC  and MPI_MINLOC.
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_FLOAT_INT;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_LONG_INT;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_DOUBLE_INT;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_SHORT_INT;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_2INT;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_LONG_DOUBLE_INT;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_2FLOAT;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_2DOUBLE;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_2LONG;//only for compatibility with Fortran
-
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_REAL;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_REAL4;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_REAL8;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_REAL16;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_COMPLEX8;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_COMPLEX16;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_COMPLEX32;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_INTEGER1;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_INTEGER2;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_INTEGER4;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_INTEGER8;
-XBT_PUBLIC_DATA(MPI_Datatype) MPI_INTEGER16;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_FLOAT_INT;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_LONG_INT;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_DOUBLE_INT;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_SHORT_INT;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_2INT;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_LONG_DOUBLE_INT;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_2FLOAT;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_2DOUBLE;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_2LONG;//only for compatibility with Fortran
+
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_REAL;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_REAL4;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_REAL8;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_REAL16;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_COMPLEX8;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_COMPLEX16;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_COMPLEX32;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INTEGER1;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INTEGER2;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INTEGER4;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INTEGER8;
+XBT_PUBLIC_DATA( const MPI_Datatype ) MPI_INTEGER16;
 
 //for now we only send int values at max
 #define MPI_Count int
@@ -686,7 +686,7 @@ typedef int MPI_Grequest_cancel_function(void *extra_state, int complete);
 
 typedef MPI_Comm_errhandler_function MPI_Comm_errhandler_fn;
 #define MPI_INFO_ENV 1
-XBT_PUBLIC_DATA(MPI_Datatype)  MPI_PACKED;
+XBT_PUBLIC_DATA( const MPI_Datatype )  MPI_PACKED;
 XBT_PUBLIC_DATA(MPI_Errhandler*)  MPI_ERRORS_RETURN;
 XBT_PUBLIC_DATA(MPI_Errhandler*)  MPI_ERRORS_ARE_FATAL;
 XBT_PUBLIC_DATA(MPI_Errhandler*)  MPI_ERRHANDLER_NULL;
@@ -830,6 +830,8 @@ MPI_CALL(XBT_PUBLIC(int),  MPI_Win_wait,(MPI_Win win));
 // smpi functions
 XBT_PUBLIC(int) smpi_global_size(void);
 XBT_PUBLIC(MPI_Comm) smpi_process_comm_self(void);
+XBT_PUBLIC(void*) smpi_process_get_user_data(void);
+XBT_PUBLIC(void) smpi_process_set_user_data(void *);
 /*
 XBT_PUBLIC(void) smpi_exit(int);
 */
@@ -896,6 +898,8 @@ XBT_PUBLIC(void) SMPI_app_instance_register(const char *name, xbt_main_func_t co
 XBT_PUBLIC(void) SMPI_init(void);
 XBT_PUBLIC(void) SMPI_finalize(void);
 
+XBT_PUBLIC(void) smpi_register_static(void* arg, void_f_pvoid_t free_fn);
+XBT_PUBLIC(void) smpi_free_static(void);