root/opal/mca/pmix/pmix4x/pmix/src/mca/psec/native/psec_native_component.c

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

DEFINITIONS

This source file includes following definitions.
  1. component_open
  2. component_query
  3. component_close
  4. assign_module

   1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
   2 /*
   3  * Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
   4  *                         University Research and Technology
   5  *                         Corporation.  All rights reserved.
   6  * Copyright (c) 2004-2005 The University of Tennessee and The University
   7  *                         of Tennessee Research Foundation.  All rights
   8  *                         reserved.
   9  * Copyright (c) 2004-2005 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) 2015      Los Alamos National Security, LLC. All rights
  14  *                         reserved.
  15  * Copyright (c) 2016      Intel, Inc. All rights reserved.
  16  * $COPYRIGHT$
  17  *
  18  * Additional copyrights may follow
  19  *
  20  * $HEADER$
  21  *
  22  * These symbols are in a file by themselves to provide nice linker
  23  * semantics.  Since linkers generally pull in symbols by object
  24  * files, keeping these symbols as the only symbols in this file
  25  * prevents utility programs such as "ompi_info" from having to import
  26  * entire components just to query their version and parameters.
  27  */
  28 
  29 #include <src/include/pmix_config.h>
  30 #include "pmix_common.h"
  31 
  32 
  33 #include "src/mca/psec/psec.h"
  34 #include "psec_native.h"
  35 
  36 static pmix_status_t component_open(void);
  37 static pmix_status_t component_close(void);
  38 static pmix_status_t component_query(pmix_mca_base_module_t **module, int *priority);
  39 static pmix_psec_module_t* assign_module(void);
  40 
  41 /*
  42  * Instantiate the public struct with all of our public information
  43  * and pointers to our public functions in it
  44  */
  45 pmix_psec_base_component_t mca_psec_native_component = {
  46     .base = {
  47         PMIX_PSEC_BASE_VERSION_1_0_0,
  48 
  49         /* Component name and version */
  50         .pmix_mca_component_name = "native",
  51         PMIX_MCA_BASE_MAKE_VERSION(component,
  52                                    PMIX_MAJOR_VERSION,
  53                                    PMIX_MINOR_VERSION,
  54                                    PMIX_RELEASE_VERSION),
  55 
  56         /* Component open and close functions */
  57         .pmix_mca_open_component = component_open,
  58         .pmix_mca_close_component = component_close,
  59         .pmix_mca_query_component = component_query,
  60     },
  61     .data = {
  62         /* The component is checkpoint ready */
  63         PMIX_MCA_BASE_METADATA_PARAM_CHECKPOINT
  64     },
  65     .assign_module = assign_module
  66 };
  67 
  68 
  69 static int component_open(void)
  70 {
  71     return PMIX_SUCCESS;
  72 }
  73 
  74 
  75 static int component_query(pmix_mca_base_module_t **module, int *priority)
  76 {
  77     *priority = 10;
  78     *module = (pmix_mca_base_module_t *)&pmix_native_module;
  79     return PMIX_SUCCESS;
  80 }
  81 
  82 
  83 static int component_close(void)
  84 {
  85     return PMIX_SUCCESS;
  86 }
  87 
  88 static pmix_psec_module_t* assign_module(void)
  89 {
  90     return &pmix_native_module;
  91 }

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