1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
|
/*
* Copyright (C) by Argonne National Laboratory
* See COPYRIGHT in top-level directory
*/
#ifndef AD_PVFS2_IO_H_INCLUDED
#define AD_PVFS2_IO_H_INCLUDED
/* Contig I/O helper prototypes */
#define READ 0
#define WRITE 1
/* #define DEBUG_CONTIG */
/* #define DEBUG_LIST */
/* #define DEBUG_DTYPE */
/* Contig I/O helper prototypes */
int ADIOI_PVFS2_Contig(ADIO_File fd, void *buf, int count,
MPI_Datatype datatype, int file_ptr_type,
ADIO_Offset offset, ADIO_Status * status, int *error_code, int rw_type);
/* List I/O helper prototypes */
int ADIOI_PVFS2_StridedListIO(ADIO_File fd, void *buf, int count,
MPI_Datatype datatype, int file_ptr_type,
ADIO_Offset offset, ADIO_Status * status,
int *error_code, int rw_type);
int gen_listio_arr(ADIOI_Flatlist_node * flat_buf,
int *flat_buf_index_p,
int64_t * cur_flat_buf_reg_off_p,
int flat_buf_size,
int flat_buf_extent,
ADIOI_Flatlist_node * flat_file,
int *flat_file_index_p,
int64_t * cur_flat_file_reg_off_p,
int flat_file_size,
int flat_file_extent,
int max_ol_count,
ADIO_Offset disp,
int bytes_into_filetype,
int64_t * bytes_completed,
int64_t total_io_size,
int64_t buf_off_arr[],
int32_t buf_len_arr[],
int32_t * buf_ol_count_p,
int64_t file_off_arr[], int32_t file_len_arr[], int32_t * file_ol_count_p);
void print_buf_file_ol_pairs(int64_t buf_off_arr[],
int32_t buf_len_arr[],
int32_t buf_ol_count,
int64_t file_off_arr[],
int32_t file_len_arr[], int32_t file_ol_count, void *buf, int rw_type);
/* Datatype I/O helper prototypes */
int ADIOI_PVFS2_StridedDtypeIO(ADIO_File fd, void *buf, int count,
MPI_Datatype datatype, int file_ptr_type,
ADIO_Offset offset, ADIO_Status * status,
int *error_code, int rw_type);
int convert_named(MPI_Datatype * mpi_dtype, PVFS_Request * pvfs_dtype, int combiner);
void print_dtype_info(int combiner,
int num_int,
int num_addr,
int num_dtype, int *arr_int, MPI_Aint * arr_addr, MPI_Datatype * arr_dtype);
int convert_mpi_pvfs2_dtype(MPI_Datatype * mpi_dtype, PVFS_Request * pvfs_dtype);
#endif /* AD_PVFS2_IO_H_INCLUDED */
|