root/ompi/mca/fs/pvfs2/fs_pvfs2.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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-2018 Research Organization for Information Science
  14  *                         and Technology (RIST). All rights reserved.
  15  * Copyright (c) 2016-2017 IBM Corporation. All rights reserved.
  16  * $COPYRIGHT$
  17  *
  18  * Additional copyrights may follow
  19  *
  20  * $HEADER$
  21  */
  22 
  23 #ifndef MCA_FS_PVFS2_H
  24 #define MCA_FS_PVFS2_H
  25 /*
  26 #ifdef HAVE_PVFS2_H
  27 #include "pvfs2.h"
  28 #endif
  29 
  30 #ifdef PVFS2_VERSION_MAJOR
  31 #include "pvfs2-compat.h"
  32 #endif
  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  * ********* functions which are implemented in this module *********
  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  * ************ functions implemented in this module end ************
  98  * ******************************************************************
  99  */
 100 
 101 END_C_DECLS
 102 
 103 #endif /* MCA_FS_PVFS2_H */

/* [<][>][^][v][top][bottom][index][help] */