1 /* -*- Mode: C; c-basic-offset:4 ; -*- */
2 /*
3  * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
4  *                         University Research and Technology
5  *                         Corporation.  All rights reserved.
6  * Copyright (c) 2004-2007 The University of Tennessee and The University
7  *                         of Tennessee Research Foundation.  All rights
8  *                         reserved.
9  * Copyright (c) 2004-2015 High Performance Computing Center Stuttgart,
10  *                         University of Stuttgart.  All rights reserved.
11  * Copyright (c) 2004-2005 The Regents of the University of California.
12  *                         All rights reserved.
13  * Copyright (c) 2008-2012 University of Houston. All rights reserved.
14  * $COPYRIGHT$
15  *
16  * Additional copyrights may follow
17  *
18  * $HEADER$
19  */
20 
21 #ifndef MCA_FS_GPFS_H
22 #define MCA_FS_GPFS_H
23 
24 #include "ompi_config.h"
25 #include "opal/mca/mca.h"
26 #include "ompi/mca/fs/fs.h"
27 #include "ompi/mca/io/ompio/io_ompio.h"
28 
29 #include <gpfs.h>
30 
31 extern int mca_fs_gpfs_priority;
32 
33 BEGIN_C_DECLS
34 
35 int mca_fs_gpfs_component_init_query(bool enable_progress_threads,
36 		bool enable_mpi_threads);
37 struct mca_fs_base_module_1_0_0_t *
38 mca_fs_gpfs_component_file_query(ompio_file_t *fh, int *priority);
39 int mca_fs_gpfs_component_file_unquery(ompio_file_t *file);
40 
41 int mca_fs_gpfs_module_init(ompio_file_t *file);
42 int mca_fs_gpfs_module_finalize(ompio_file_t *file);
43 OMPI_MODULE_DECLSPEC extern mca_fs_base_component_2_0_0_t mca_fs_gpfs_component;
44 
45 /*
46  * ******************************************************************
47  * ********* functions which are implemented in this module *********
48  * ******************************************************************
49  */
50 
51 int mca_fs_gpfs_file_open(struct ompi_communicator_t *comm, const char *filename,
52 		int amode, struct opal_info_t *info, struct ompio_file_t *fh);
53 int mca_fs_gpfs_file_set_info(struct ompio_file_t *fh,
54 		struct ompi_info_t *info);
55 int mca_fs_gpfs_file_get_info(struct ompio_file_t *fh,
56 		struct ompi_info_t **info_used);
57 int mca_fs_gpfs_io_selection(ompio_file_t *fh,
58 		struct ompi_info_t *info, struct ompi_info_t *info_selected);
59 
60 /*
61  * ******************************************************************
62  * ************ functions implemented in this module end ************
63  * ******************************************************************
64  */
65 
66 END_C_DECLS
67 
68 #endif /* MCA_FS_GPFS_H */
69