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-2016 University of Houston. All rights reserved.
13  * Copyright (c) 2015      Research Organization for Information Science
14  *                         and Technology (RIST). All rights reserved.
15  * $COPYRIGHT$
16  *
17  * Additional copyrights may follow
18  *
19  * $HEADER$
20  */
21 
22 #ifndef MCA_FCOLL_INDIVIDUAL_EXPORT_H
23 #define MCA_FCOLL_INDIVIDUAL_EXPORT_H
24 
25 #include "ompi_config.h"
26 
27 #include "mpi.h"
28 #include "ompi/mca/mca.h"
29 #include "ompi/mca/fcoll/fcoll.h"
30 #include "ompi/mca/fcoll/base/base.h"
31 #include "ompi/mca/common/ompio/common_ompio.h"
32 
33 BEGIN_C_DECLS
34 
35 /* Globally exported variables */
36 
37 extern int mca_fcoll_individual_priority;
38 
39 OMPI_MODULE_DECLSPEC extern mca_fcoll_base_component_2_0_0_t mca_fcoll_individual_component;
40 
41 /* API functions */
42 
43 int mca_fcoll_individual_component_init_query(bool enable_progress_threads,
44                                            bool enable_mpi_threads);
45 struct mca_fcoll_base_module_1_0_0_t *
46 mca_fcoll_individual_component_file_query (mca_io_ompio_file_t *fh, int *priority);
47 
48 int mca_fcoll_individual_component_file_unquery (mca_io_ompio_file_t *file);
49 
50 int mca_fcoll_individual_module_init (mca_io_ompio_file_t *file);
51 int mca_fcoll_individual_module_finalize (mca_io_ompio_file_t *file);
52 
53 int mca_fcoll_individual_file_read_all (mca_io_ompio_file_t *fh,
54                                      void *buf,
55                                      int count,
56                                      struct ompi_datatype_t *datatype,
57                                      ompi_status_public_t * status);
58 
59 
60 int mca_fcoll_individual_file_write_all (mca_io_ompio_file_t *fh,
61                                       const void *buf,
62                                       int count,
63                                       struct ompi_datatype_t *datatype,
64                                       ompi_status_public_t * status);
65 
66 
67 END_C_DECLS
68 
69 #endif /* MCA_FCOLL_INDIVIDUAL_EXPORT_H */
70