OpenMPI  0.1.1
fs_pvfs2.h
1 /*
2  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3  * University Research and Technology
4  * Corporation. All rights reserved.
5  * Copyright (c) 2004-2006 The University of Tennessee and The University
6  * of Tennessee Research Foundation. All rights
7  * reserved.
8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9  * University of Stuttgart. All rights reserved.
10  * Copyright (c) 2004-2005 The Regents of the University of California.
11  * All rights reserved.
12  * Copyright (c) 2008-2011 University of Houston. All rights reserved.
13  * $COPYRIGHT$
14  *
15  * Additional copyrights may follow
16  *
17  * $HEADER$
18  */
19 
20 #ifndef MCA_FS_PVFS2_H
21 #define MCA_FS_PVFS2_H
22 /*
23 #ifdef HAVE_PVFS2_H
24 #include "pvfs2.h"
25 #endif
26 
27 #ifdef PVFS2_VERSION_MAJOR
28 #include "pvfs2-compat.h"
29 #endif
30 */
31 #include "pvfs2.h"
32 #include "pvfs2-compat.h"
33 
34 #include "ompi_config.h"
35 #include "opal/mca/mca.h"
36 #include "ompi/mca/fs/fs.h"
37 #include "ompi/mca/io/ompio/io_ompio.h"
38 
39 extern int mca_fs_pvfs2_priority;
40 extern int mca_fs_pvfs2_stripe_size;
41 extern int mca_fs_pvfs2_stripe_width;
42 extern int mca_fs_pvfs2_IS_INITIALIZED;
43 
44 BEGIN_C_DECLS
45 
47  PVFS_credentials credentials;
48  PVFS_object_ref object_ref;
50 typedef struct mca_fs_pvfs2_s mca_fs_pvfs2;
51 
52 int mca_fs_pvfs2_component_init_query(bool enable_progress_threads,
53  bool enable_mpi_threads);
55 mca_fs_pvfs2_component_file_query (mca_io_ompio_file_t *fh, int *priority);
56 int mca_fs_pvfs2_component_file_unquery (mca_io_ompio_file_t *file);
57 
58 int mca_fs_pvfs2_module_init (mca_io_ompio_file_t *file);
59 int mca_fs_pvfs2_module_finalize (mca_io_ompio_file_t *file);
60 
61 OMPI_MODULE_DECLSPEC extern mca_fs_base_component_2_0_0_t mca_fs_pvfs2_component;
62 /*
63  * ******************************************************************
64  * ********* functions which are implemented in this module *********
65  * ******************************************************************
66  */
67 
68 int mca_fs_pvfs2_file_open (struct ompi_communicator_t *comm,
69  char *filename,
70  int amode,
71  struct ompi_info_t *info,
73 
74 int mca_fs_pvfs2_file_close (mca_io_ompio_file_t *fh);
75 
76 int mca_fs_pvfs2_file_delete (char *filename,
77  struct ompi_info_t *info);
78 
79 int mca_fs_pvfs2_file_set_size (mca_io_ompio_file_t *fh,
80  OMPI_MPI_OFFSET_TYPE size);
81 
82 int mca_fs_pvfs2_file_get_size (mca_io_ompio_file_t *fh,
83  OMPI_MPI_OFFSET_TYPE *size);
84 
85 int mca_fs_pvfs2_file_set_info (mca_io_ompio_file_t *fh,
86  struct ompi_info_t *info);
87 
88 int mca_fs_pvfs2_file_sync (mca_io_ompio_file_t *fh);
89 
90 int mca_fs_pvfs2_file_seek (mca_io_ompio_file_t *fh,
91  OMPI_MPI_OFFSET_TYPE offset,
92  int whence);
93 /*
94  * ******************************************************************
95  * ************ functions implemented in this module end ************
96  * ******************************************************************
97  */
98 
99 END_C_DECLS
100 
101 #endif /* MCA_FS_PVFS2_H */
Definition: fs_pvfs2.h:46
Top-level interface for all MCA components.
Definition: info.h:38
Definition: fs.h:127
Back-end structure for MPI_File.
Definition: io_ompio.h:121
Definition: communicator.h:118