1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 #ifndef MCA_FS_PVFS2_H
24 #define MCA_FS_PVFS2_H
25
26
27
28
29
30
31
32
33
34 #include "pvfs2.h"
35 #include "pvfs2-compat.h"
36
37 #include "ompi_config.h"
38 #include "ompi/mca/mca.h"
39 #include "ompi/mca/fs/fs.h"
40 #include "ompi/mca/common/ompio/common_ompio.h"
41
42 extern int mca_fs_pvfs2_priority;
43 extern int mca_fs_pvfs2_stripe_size;
44 extern int mca_fs_pvfs2_stripe_width;
45 extern int mca_fs_pvfs2_IS_INITIALIZED;
46
47 BEGIN_C_DECLS
48
49 #define OMPIO_PVFS2_MAX_NAME 100
50
51 struct mca_fs_pvfs2_s {
52 PVFS_credentials credentials;
53 PVFS_object_ref object_ref;
54 };
55 typedef struct mca_fs_pvfs2_s mca_fs_pvfs2;
56
57 int mca_fs_pvfs2_component_init_query(bool enable_progress_threads,
58 bool enable_mpi_threads);
59 struct mca_fs_base_module_1_0_0_t *
60 mca_fs_pvfs2_component_file_query (ompio_file_t *fh, int *priority);
61 int mca_fs_pvfs2_component_file_unquery (ompio_file_t *file);
62
63 int mca_fs_pvfs2_module_init (ompio_file_t *file);
64 int mca_fs_pvfs2_module_finalize (ompio_file_t *file);
65
66 OMPI_MODULE_DECLSPEC extern mca_fs_base_component_2_0_0_t mca_fs_pvfs2_component;
67
68
69
70
71
72
73 int mca_fs_pvfs2_file_open (struct ompi_communicator_t *comm,
74 const char *filename,
75 int amode,
76 struct opal_info_t *info,
77 ompio_file_t *fh);
78
79 int mca_fs_pvfs2_file_close (ompio_file_t *fh);
80
81 int mca_fs_pvfs2_file_delete (char *filename,
82 struct opal_info_t *info);
83
84 int mca_fs_pvfs2_file_set_size (ompio_file_t *fh,
85 OMPI_MPI_OFFSET_TYPE size);
86
87 int mca_fs_pvfs2_file_get_size (ompio_file_t *fh,
88 OMPI_MPI_OFFSET_TYPE *size);
89
90 int mca_fs_pvfs2_file_sync (ompio_file_t *fh);
91
92 int mca_fs_pvfs2_file_seek (ompio_file_t *fh,
93 OMPI_MPI_OFFSET_TYPE offset,
94 int whence);
95
96
97
98
99
100
101 END_C_DECLS
102
103 #endif