root/ompi/mca/vprotocol/base/base.h

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

INCLUDED FROM


   1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
   2 /*
   3  * Copyright (c) 2004-2007 The Trustees of the University of Tennessee.
   4  *                         All rights reserved.
   5  * Copyright (c) 2010      Cisco Systems, Inc.  All rights reserved.
   6  * Copyright (c) 2012-2015 Los Alamos National Security, Inc.  All rights reserved.
   7  * $COPYRIGHT$
   8  *
   9  * Additional copyrights may follow
  10  *
  11  * $HEADER$
  12  */
  13 
  14 #ifndef __INCLUDE_VPROTOCOL_BASE_H_
  15 #define __INCLUDE_VPROTOCOL_BASE_H_
  16 
  17 #include "ompi_config.h"
  18 #include "ompi/constants.h"
  19 #include "ompi/mca/mca.h"
  20 #include "ompi/mca/vprotocol/vprotocol.h"
  21 
  22 BEGIN_C_DECLS
  23 
  24 struct mca_pml_v_t {
  25     int                                 output;
  26     size_t                              host_pml_req_recv_size;
  27     size_t                              host_pml_req_send_size;
  28     mca_pml_base_component_t            host_pml_component;
  29     mca_pml_base_module_t               host_pml;
  30     ompi_request_fns_t                  host_request_fns;
  31 };
  32 typedef struct mca_pml_v_t mca_pml_v_t;
  33 
  34 OMPI_DECLSPEC extern mca_pml_v_t mca_pml_v;
  35 
  36 /*
  37  * MCA Framework
  38  */
  39 OMPI_DECLSPEC extern mca_base_framework_t ompi_vprotocol_base_framework;
  40 
  41 /* this needs to be called before vprotocol is opened. this replaces the
  42    need for a unique open function */
  43 void mca_vprotocol_base_set_include_list(char *vprotocol_include_list);
  44 
  45 /* select a component */
  46 OMPI_DECLSPEC int mca_vprotocol_base_select(bool enable_progress_threads,
  47                                             bool enable_mpi_threads);
  48 
  49 OMPI_DECLSPEC int mca_vprotocol_base_parasite(void);
  50 
  51 OMPI_DECLSPEC extern char *mca_vprotocol_base_include_list;
  52 OMPI_DECLSPEC extern mca_vprotocol_base_component_t mca_vprotocol_component;
  53 OMPI_DECLSPEC extern mca_vprotocol_base_module_t mca_vprotocol;
  54 
  55 
  56 /* Macro for use in components that are of type vprotocol
  57  */
  58 #define MCA_VPROTOCOL_BASE_VERSION_2_0_0 \
  59     OMPI_MCA_BASE_VERSION_2_1_0("vprotocol", 2, 0, 0)
  60 
  61 /* Macro to mark an invalid component version (0.0.0). Any component showing
  62  * that version number will be ignored.
  63  */
  64 #define MCA_VPROTOCOL_BASE_VERSION_0_0_0 \
  65     /* vprotocol v0.0 is chained to MCA v2.0 */ \
  66     OMPI_MCA_BASE_VERSION_2_1_0("vprotocol", 0, 0, 0)
  67 
  68 #define mca_vprotocol_base_selected() (                                        \
  69     0 != mca_vprotocol_component.pmlm_version.mca_type_major_version           \
  70 )
  71 
  72 END_C_DECLS
  73 
  74 #endif /* __INCLUDE_VPROTOCOL_BASE_H_ */

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