File: ad_pvfs2_io.h

package info (click to toggle)
openmpi 5.0.8-4
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 201,684 kB
  • sloc: ansic: 613,078; makefile: 42,353; sh: 11,194; javascript: 9,244; f90: 7,052; java: 6,404; perl: 5,179; python: 1,859; lex: 740; fortran: 61; cpp: 20; tcl: 12
file content (70 lines) | stat: -rw-r--r-- 2,791 bytes parent folder | download | duplicates (6)
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 */