diff --git a/src/H5BlockF.c b/src/H5BlockF.c index ae53c9c..992273b 100755 --- a/src/H5BlockF.c +++ b/src/H5BlockF.c @@ -15,90 +15,90 @@ #endif -#define f_h5bl_define3dlayout F77NAME ( \ - h5bl_define3dlayout_, \ - h5bl_define3dlayout, \ +#define f_h5bl_define3dlayout F77NAME ( \ + h5bl_define3dlayout_, \ + h5bl_define3dlayout, \ H5BL_DEFINE3DLAYOUT ) -#define f_h5bl_get_partition_of_proc F77NAME ( \ - h5bl_get_partition_of_proc_, \ - h5bl_get_partition_of_proc, \ +#define f_h5bl_get_partition_of_proc F77NAME ( \ + h5bl_get_partition_of_proc_, \ + h5bl_get_partition_of_proc, \ H5BL_GET_PARTITION_OF_PROC ) -#define f_h5bl_get_reduced_partition_of_proc F77NAME ( \ - h5bl_get_reduced_partition_of_proc_, \ - h5bl_get_reduced_partition_of_proc, \ +#define f_h5bl_get_reduced_partition_of_proc F77NAME ( \ + h5bl_get_reduced_partition_of_proc_,\ + h5bl_get_reduced_partition_of_proc,\ H5BL_GET_REDUCED_PARTITION_OF_PROC ) -#define f_h5bl_get_proc_of F77NAME ( \ - h5bl_get_proc_of_, \ - h5bl_get_proc_of, \ +#define f_h5bl_get_proc_of F77NAME ( \ + h5bl_get_proc_of_, \ + h5bl_get_proc_of, \ H5BL_GET_PROC_OF ) -#define f_h5bl_3d_read_scalar_field F77NAME ( \ - h5bl_3d_read_scalar_field_, \ - h5bl_3d_read_scalar_field, \ +#define f_h5bl_3d_read_scalar_field F77NAME ( \ + h5bl_3d_read_scalar_field_, \ + h5bl_3d_read_scalar_field, \ H5BL_3D_READ_SCALAR_FIELD ) -#define f_h5bl_3d_write_scalar_field F77NAME ( \ - h5bl_3d_write_scalar_field_, \ - h5bl_3d_write_scalar_field, \ +#define f_h5bl_3d_write_scalar_field F77NAME ( \ + h5bl_3d_write_scalar_field_, \ + h5bl_3d_write_scalar_field, \ H5BL_3D_WRITE_SCALAR_FIELD ) -#define f_h5bl_3d_read_3dvector_field F77NAME ( \ - h5bl_3d_read_3dvector_field_, \ - h5bl_3d_read_3dvector_field, \ +#define f_h5bl_3d_read_3dvector_field F77NAME ( \ + h5bl_3d_read_3dvector_field_, \ + h5bl_3d_read_3dvector_field, \ H5BL_3D_READ_3DVECTOR_FIELD ) #define f_h5bl_3d_write_3dvector_field F77NAME ( \ - h5bl_3d_write_3dvector_field_, \ - h5bl_3d_write_3dvector_field, \ + h5bl_3d_write_3dvector_field_, \ + h5bl_3d_write_3dvector_field, \ H5BL_3D_WRITE_3DVECTOR_FIELD ) -#define f_h5bl_getnumfields F77NAME ( \ - h5bl_getnumfields_, \ - h5bl_getnumfields, \ +#define f_h5bl_getnumfields F77NAME ( \ + h5bl_getnumfields_, \ + h5bl_getnumfields, \ H5BL_GETNUMFIELDS ) -#define f_h5bl_getfieldinfo F77NAME ( \ - h5bl_getfieldinfo_, \ - h5bl_getfieldinfo, \ +#define f_h5bl_getfieldinfo F77NAME ( \ + h5bl_getfieldinfo_, \ + h5bl_getfieldinfo, \ H5BL_GETFIELDINFO ) -#define f_h5bl_writefieldattrib_r8 F77NAME ( \ - h5bl_writefieldattrib_r8_, \ - h5bl_writefieldattrib_r8, \ +#define f_h5bl_writefieldattrib_r8 F77NAME ( \ + h5bl_writefieldattrib_r8_, \ + h5bl_writefieldattrib_r8, \ H5BL_WRITEFIELDATTRIB_R8 ) -#define f_h5bl_writefieldattrib_i8 F77NAME ( \ - h5bl_writefieldattrib_i8_, \ - h5bl_writefieldattrib_i8, \ +#define f_h5bl_writefieldattrib_i8 F77NAME ( \ + h5bl_writefieldattrib_i8_, \ + h5bl_writefieldattrib_i8, \ H5BL_WRITEFIELDATTRIB_I8 ) -#define f_h5bl_writefieldattrib_string F77NAME ( \ - h5bl_writefieldattrib_string_, \ - h5bl_writefieldattrib_string, \ +#define f_h5bl_writefieldattrib_string F77NAME ( \ + h5bl_writefieldattrib_string_, \ + h5bl_writefieldattrib_string, \ H5BL_WRITEFIELDATTRIB_STRING ) -#define f_h5bl_getnfieldattribs F77NAME ( \ - h5bl_getnfieldattribs_, \ - h5bl_getnfieldattribs, \ +#define f_h5bl_getnfieldattribs F77NAME ( \ + h5bl_getnfieldattribs_, \ + h5bl_getnfieldattribs, \ H5BL_GETNFIELDATTRIBS ) -#define f_h5bl_getfieldattribinfo F77NAME ( \ - h5bl_getfieldattribinfo_, \ - h5bl_getfieldattribinfo, \ +#define f_h5bl_getfieldattribinfo F77NAME ( \ + h5bl_getfieldattribinfo_, \ + h5bl_getfieldattribinfo, \ h5bl_getfieldattribinfo ) -#define f_h5bl_readfieldattrib_i8 F77NAME ( \ - h5bl_readfieldattrib_i8_, \ - h5bl_readfieldattrib_i8, \ +#define f_h5bl_readfieldattrib_i8 F77NAME ( \ + h5bl_readfieldattrib_i8_, \ + h5bl_readfieldattrib_i8, \ H5BL_READFIELDATTRIB_I8 ) -#define f_h5bl_readfieldattrib_r8 F77NAME ( \ - h5bl_readfieldattrib_r8_, \ - h5bl_readfieldattrib_r8, \ +#define f_h5bl_readfieldattrib_r8 F77NAME ( \ + h5bl_readfieldattrib_r8_, \ + h5bl_readfieldattrib_r8, \ H5BL_READFIELDATTRIB_R8 ) -#define f_h5bl_readfieldattrib_string F77NAME ( \ - h5bl_readfieldattrib_string_, \ - h5bl_readfieldattrib_string, \ +#define f_h5bl_readfieldattrib_string F77NAME ( \ + h5bl_readfieldattrib_string_, \ + h5bl_readfieldattrib_string, \ H5BL_READFIELDATTRIB_STRING ) -#define f_h5bl_has_fielddata F77NAME ( \ - h5bl_has_fielddata_, \ - h5bl_has_fielddata, \ +#define f_h5bl_has_fielddata F77NAME ( \ + h5bl_has_fielddata_, \ + h5bl_has_fielddata, \ H5BL_HAS_FIELDDATA ) h5part_int64_t f_h5bl_define3dlayout ( - H5PartFile *f, + h5part_int64_t *f, const h5part_int64_t *i_start, /*!< start index of i */ const h5part_int64_t *i_end, /*!< end index of i */ const h5part_int64_t *j_start, /*!< start index of j */ @@ -107,14 +107,18 @@ f_h5bl_define3dlayout ( const h5part_int64_t *k_end /*!< end index of k */ ) { + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + return H5BlockDefine3DFieldLayout ( - f, - *i_start, *i_end, *j_start, *j_end, *k_start, *k_end ); + filehandle, + *i_start-1, *i_end-1, + *j_start-1, *j_end-1, + *k_start-1, *k_end-1 ); } h5part_int64_t f_h5bl_get_partition_of_proc ( - H5PartFile *f, /*!< file handle */ + h5part_int64_t *f, /*!< file handle */ const h5part_int64_t *proc, h5part_int64_t *i_start, /*!< start index of i */ h5part_int64_t *i_end, /*!< end index of i */ @@ -123,15 +127,18 @@ f_h5bl_get_partition_of_proc ( h5part_int64_t *k_start, /*!< start index of k */ h5part_int64_t *k_end /*!< end index of k */ ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + return H5Block3dGetPartitionOfProc ( - f, + filehandle, *proc, i_start, i_end, j_start, j_end, k_start, k_end ); } h5part_int64_t f_h5bl_get_reduced_partition_of_proc ( - H5PartFile *f, + h5part_int64_t *f, const h5part_int64_t *proc, h5part_int64_t *i_start, h5part_int64_t *i_end, @@ -140,34 +147,45 @@ f_h5bl_get_reduced_partition_of_proc ( h5part_int64_t *k_start, h5part_int64_t *k_end ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + return H5Block3dGetReducedPartitionOfProc ( - f, + filehandle, *proc, i_start, i_end, j_start, j_end, k_start, k_end ); } h5part_int64_t f_h5bl_get_proc_of ( - H5PartFile *f, + h5part_int64_t *f, const h5part_int64_t *i, const h5part_int64_t *j, const h5part_int64_t *k ) { - return H5Block3dGetProcOf ( f, *i, *j, *k ); + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + + return H5Block3dGetProcOf ( filehandle, *i, *j, *k ); } h5part_int64_t f_h5bl_3d_read_scalar_field ( - H5PartFile *f, + h5part_int64_t *f, const char *field_name, h5part_float64_t *data, const int l_field_name ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + char *field_name2 = (char*)malloc(l_field_name+1); strncpy ( field_name2, field_name, l_field_name ); field_name2[l_field_name] = '\0'; - h5part_int64_t herr = H5Block3dReadScalarField ( f, field_name2, data ); + printf ( "data: %lx\n", (unsigned long)data ); + h5part_int64_t herr = H5Block3dReadScalarField ( + filehandle, field_name2, data ); free ( field_name2 ); return herr; @@ -175,16 +193,20 @@ f_h5bl_3d_read_scalar_field ( h5part_int64_t f_h5bl_3d_write_scalar_field ( - H5PartFile *f, + h5part_int64_t *f, const char *field_name, const h5part_float64_t *data, const int l_field_name ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + char *field_name2 = (char*)malloc(l_field_name+1); strncpy ( field_name2, field_name, l_field_name ); field_name2[l_field_name] = '\0'; - h5part_int64_t herr = H5Block3dWriteScalarField ( f, field_name2, data ); + h5part_int64_t herr = H5Block3dWriteScalarField ( + filehandle, field_name2, data ); free ( field_name2 ); return herr; @@ -192,19 +214,22 @@ f_h5bl_3d_write_scalar_field ( h5part_int64_t f_h5bl_3d_read_3dvector_field ( - H5PartFile *f, /*!< file handle */ + h5part_int64_t *f, /*!< file handle */ const char *field_name, /*!< name of the data set */ h5part_float64_t *xval, /*!< array of x component data */ h5part_float64_t *yval, /*!< array of y component data */ h5part_float64_t *zval, /*!< array of z component data */ const int l_field_name ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + char *field_name2 = (char*)malloc(l_field_name+1); strncpy ( field_name2, field_name, l_field_name ); field_name2[l_field_name] = '\0'; h5part_int64_t herr = H5Block3dRead3dVectorField ( - f, field_name2, xval, yval, zval ); + filehandle, field_name2, xval, yval, zval ); free ( field_name2 ); return herr; @@ -212,19 +237,22 @@ f_h5bl_3d_read_3dvector_field ( h5part_int64_t f_h5bl_3d_write_3dvector_field ( - H5PartFile *f, /*!< file handle */ + h5part_int64_t *f, /*!< file handle */ const char *field_name, /*!< name of the data set */ const h5part_float64_t *xval, /*!< array of x component data */ const h5part_float64_t *yval, /*!< array of y component data */ const h5part_float64_t *zval, /*!< array of z component data */ const int l_field_name ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + char *field_name2 = (char*)malloc(l_field_name+1); strncpy ( field_name2, field_name, l_field_name ); field_name2[l_field_name] = '\0'; h5part_int64_t herr = H5Block3dWrite3dVectorField ( - f, field_name2, xval, yval, zval ); + filehandle, field_name2, xval, yval, zval ); free ( field_name2 ); return herr; @@ -232,14 +260,17 @@ f_h5bl_3d_write_3dvector_field ( h5part_int64_t f_h5bl_getnumfields ( - H5PartFile *f /*!< file handle */ + h5part_int64_t *f /*!< file handle */ ) { - return H5BlockGetNumFields ( f ); + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + + return H5BlockGetNumFields ( filehandle ); } h5part_int64_t f_h5bl_getfieldinfo ( - H5PartFile *f, + h5part_int64_t *f, const h5part_int64_t *idx, char *field_name, h5part_int64_t *grid_rank, @@ -248,15 +279,15 @@ f_h5bl_getfieldinfo ( const int l_field_name ) { - h5part_int64_t herr = H5BlockGetFieldInfo ( - f, *idx, field_name, l_field_name, grid_rank, grid_dims, field_dims ); + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; - return herr; + return H5BlockGetFieldInfo ( + filehandle, *idx, field_name, l_field_name, grid_rank, grid_dims, field_dims ); } h5part_int64_t f_h5bl_writefieldattrib_r8 ( - H5PartFile *f, + h5part_int64_t *f, const char *field_name, const char *attrib_name, const h5part_float64_t *attrib_value, @@ -264,6 +295,9 @@ f_h5bl_writefieldattrib_r8 ( const int l_field_name, const int l_attrib_name ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + char *field_name2 = (char*)malloc(l_field_name+1); strncpy ( field_name2, field_name, l_field_name ); field_name2[l_field_name] = '\0'; @@ -273,7 +307,7 @@ f_h5bl_writefieldattrib_r8 ( attrib_name2[l_attrib_name] = '\0'; h5part_int64_t herr = H5BlockWriteFieldAttrib ( - f, field_name2, attrib_name2, H5PART_FLOAT64, + filehandle, field_name2, attrib_name2, H5PART_FLOAT64, attrib_value, *attrib_nelem ); free ( field_name2 ); @@ -284,7 +318,7 @@ f_h5bl_writefieldattrib_r8 ( h5part_int64_t f_h5bl_writefieldattrib_i8 ( - H5PartFile *f, + h5part_int64_t *f, const char *field_name, const char *attrib_name, const h5part_int64_t *attrib_value, @@ -292,6 +326,9 @@ f_h5bl_writefieldattrib_i8 ( const int l_field_name, const int l_attrib_name ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + char *field_name2 = (char*)malloc(l_field_name+1); strncpy ( field_name2, field_name, l_field_name ); field_name2[l_field_name] = '\0'; @@ -301,7 +338,7 @@ f_h5bl_writefieldattrib_i8 ( attrib_name2[l_attrib_name] = '\0'; h5part_int64_t herr = H5BlockWriteFieldAttrib ( - f, field_name2, attrib_name2, H5PART_INT64, + filehandle, field_name2, attrib_name2, H5PART_INT64, attrib_value, *attrib_nelem ); free ( field_name2 ); @@ -311,7 +348,7 @@ f_h5bl_writefieldattrib_i8 ( h5part_int64_t f_h5bl_writefieldattrib_string ( - H5PartFile *f, + h5part_int64_t *f, const char *field_name, const char *attrib_name, const char *attrib_value, @@ -319,6 +356,9 @@ f_h5bl_writefieldattrib_string ( const int l_attrib_name, const int l_attrib_value ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + char *field_name2 = (char*)malloc(l_field_name+1); strncpy ( field_name2, field_name, l_field_name ); field_name2[l_field_name] = '\0'; @@ -332,7 +372,7 @@ f_h5bl_writefieldattrib_string ( attrib_value2[l_attrib_value] = '\0'; h5part_int64_t herr = H5BlockWriteFieldAttribString ( - f, field_name2, attrib_name2, attrib_value2 ); + filehandle, field_name2, attrib_name2, attrib_value2 ); free ( field_name2 ); free ( attrib_name2 ); @@ -342,16 +382,19 @@ f_h5bl_writefieldattrib_string ( h5part_int64_t f_h5bl_getnfieldattribs ( - H5PartFile *f, + h5part_int64_t *f, const char *field_name, const int l_field_name ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + char *field_name2 = (char*)malloc(l_field_name+1); strncpy ( field_name2, field_name, l_field_name ); field_name2[l_field_name] = '\0'; h5part_int64_t herr = H5BlockGetNumFieldAttribs ( - f, field_name2 ); + filehandle, field_name2 ); free ( field_name2 ); return herr; @@ -359,7 +402,7 @@ f_h5bl_getnfieldattribs ( h5part_int64_t f_h5bl_getfieldattribinfo ( - H5PartFile *f, + h5part_int64_t *f, const char *field_name, const h5part_int64_t *attrib_idx, char *attrib_name, @@ -367,6 +410,9 @@ f_h5bl_getfieldattribinfo ( const int l_field_name, const int l_attrib_name ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + h5part_int64_t attrib_type; char *field_name2 = (char*)malloc(l_field_name+1); @@ -374,7 +420,7 @@ f_h5bl_getfieldattribinfo ( field_name2[l_field_name] = '\0'; h5part_int64_t herr = H5BlockGetFieldAttribInfo ( - f, field_name2, *attrib_idx, + filehandle, field_name2, *attrib_idx, attrib_name, l_attrib_name+1, &attrib_type, attrib_nelem ); @@ -386,13 +432,16 @@ f_h5bl_getfieldattribinfo ( h5part_int64_t f_h5bl_readfieldattrib_i8 ( - H5PartFile *f, + h5part_int64_t *f, const char *field_name, const char *attrib_name, h5part_int64_t *attrib_value, const int l_field_name, const int l_attrib_name ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + char *field_name2 = (char*)malloc(l_field_name+1); strncpy ( field_name2, field_name, l_field_name ); field_name2[l_field_name] = '\0'; @@ -402,7 +451,7 @@ f_h5bl_readfieldattrib_i8 ( attrib_name2[l_attrib_name] = '\0'; h5part_int64_t herr = H5BlockReadFieldAttrib ( - f, field_name, attrib_name, attrib_value ); + filehandle, field_name, attrib_name, attrib_value ); free ( field_name2 ); free ( attrib_name2 ); @@ -411,13 +460,16 @@ f_h5bl_readfieldattrib_i8 ( h5part_int64_t f_h5bl_readfieldattrib_r8 ( - H5PartFile *f, + h5part_int64_t *f, const char *field_name, const char *attrib_name, h5part_float64_t *attrib_value, const int l_field_name, const int l_attrib_name ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + char *field_name2 = (char*)malloc(l_field_name+1); strncpy ( field_name2, field_name, l_field_name ); field_name2[l_field_name] = '\0'; @@ -427,7 +479,7 @@ f_h5bl_readfieldattrib_r8 ( attrib_name2[l_attrib_name] = '\0'; h5part_int64_t herr = H5BlockReadFieldAttrib ( - f, field_name, attrib_name, attrib_value ); + filehandle, field_name, attrib_name, attrib_value ); free ( field_name2 ); free ( attrib_name2 ); @@ -436,7 +488,7 @@ f_h5bl_readfieldattrib_r8 ( h5part_int64_t f_h5bl_readfieldattrib_string ( - H5PartFile *f, + h5part_int64_t *f, const char *field_name, const char *attrib_name, char *attrib_value, @@ -444,6 +496,9 @@ f_h5bl_readfieldattrib_string ( const int l_attrib_name, const int l_attrib_value ) { + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + char *field_name2 = (char*)malloc(l_field_name+1); strncpy ( field_name2, field_name, l_field_name ); field_name2[l_field_name] = '\0'; @@ -453,7 +508,7 @@ f_h5bl_readfieldattrib_string ( attrib_name2[l_attrib_name] = '\0'; h5part_int64_t herr = H5BlockReadFieldAttrib ( - f, field_name, attrib_name, attrib_value ); + filehandle, field_name, attrib_name, attrib_value ); free ( field_name2 ); free ( attrib_name2 ); @@ -462,7 +517,10 @@ f_h5bl_readfieldattrib_string ( h5part_int64_t f_h5bl_has_fielddata ( - H5PartFile *f + h5part_int64_t *f ) { - return H5BlockHasFieldData ( f ); + + H5PartFile *filehandle = (H5PartFile*)(size_t)*f; + + return H5BlockHasFieldData ( filehandle ); }