root/opal/mca/pmix/pmix4x/pmix/src/mca/pdl/base/base.h

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

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2004-2010 The Trustees of Indiana University and Indiana
   3  *                         University Research and Technology
   4  *                         Corporation.  All rights reserved.
   5  * Copyright (c) 2015      Cisco Systems, Inc.  All rights reserved.
   6  * Copyright (c) 2016-2017 Intel, Inc. All rights reserved.
   7  * $COPYRIGHT$
   8  *
   9  * Additional copyrights may follow
  10  *
  11  * $HEADER$
  12  */
  13 
  14 #ifndef PMIX_PDL_BASE_H
  15 #define PMIX_PDL_BASE_H
  16 
  17 #include <src/include/pmix_config.h>
  18 #include "src/mca/pdl/pdl.h"
  19 #include "src/util/pmix_environ.h"
  20 
  21 #include "src/mca/base/base.h"
  22 
  23 
  24 BEGIN_C_DECLS
  25 
  26 /**
  27  * Globals
  28  */
  29 PMIX_EXPORT extern pmix_mca_base_framework_t pmix_pdl_base_framework;
  30 extern pmix_pdl_base_component_t
  31 *pmix_pdl_base_selected_component;
  32 extern pmix_pdl_base_module_t *pmix_pdl;
  33 
  34 
  35 /**
  36  * Initialize the PDL MCA framework
  37  *
  38  * @retval PMIX_SUCCESS Upon success
  39  * @retval PMIX_ERROR   Upon failures
  40  *
  41  * This function is invoked during pmix_init();
  42  */
  43 int pmix_pdl_base_open(pmix_mca_base_open_flag_t flags);
  44 
  45 /**
  46  * Select an available component.
  47  *
  48  * @retval PMIX_SUCCESS Upon Success
  49  * @retval PMIX_NOT_FOUND If no component can be selected
  50  * @retval PMIX_ERROR Upon other failure
  51  *
  52  */
  53 int pmix_pdl_base_select(void);
  54 
  55 /**
  56  * Finalize the PDL MCA framework
  57  *
  58  * @retval PMIX_SUCCESS Upon success
  59  * @retval PMIX_ERROR   Upon failures
  60  *
  61  * This function is invoked during pmix_finalize();
  62  */
  63 int pmix_pdl_base_close(void);
  64 
  65 /**
  66  * Open a DSO
  67  *
  68  * (see pmix_pdl_base_module_open_ft_t in pmix/mca/pdl/pdl.h for
  69  * documentation of this function)
  70  */
  71 int pmix_pdl_open(const char *fname,
  72                  bool use_ext, bool private_namespace,
  73                  pmix_pdl_handle_t **handle, char **err_msg);
  74 
  75 /**
  76  * Lookup a symbol in a DSO
  77  *
  78  * (see pmix_pdl_base_module_lookup_ft_t in pmix/mca/pdl/pdl.h for
  79  * documentation of this function)
  80  */
  81 int pmix_pdl_lookup(pmix_pdl_handle_t *handle,
  82                    const char *symbol,
  83                    void **ptr, char **err_msg);
  84 
  85 /**
  86  * Close a DSO
  87  *
  88  * (see pmix_pdl_base_module_close_ft_t in pmix/mca/pdl/pdl.h for
  89  * documentation of this function)
  90  */
  91 int pmix_pdl_close(pmix_pdl_handle_t *handle);
  92 
  93 /**
  94  * Iterate over files in a path
  95  *
  96  * (see pmix_pdl_base_module_foreachfile_ft_t in pmix/mca/pdl/pdl.h for
  97  * documentation of this function)
  98  */
  99 int pmix_pdl_foreachfile(const char *search_path,
 100                         int (*cb_func)(const char *filename, void *context),
 101                         void *context);
 102 
 103 END_C_DECLS
 104 
 105 #endif /* PMIX_PDL_BASE_H */

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