Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-22 10:47:29

0001 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
0002 /*
0003  * Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
0004  *                         University Research and Technology
0005  *                         Corporation.  All rights reserved.
0006  * Copyright (c) 2004-2011 The University of Tennessee and The University
0007  *                         of Tennessee Research Foundation.  All rights
0008  *                         reserved.
0009  * Copyright (c) 2004-2010 High Performance Computing Center Stuttgart,
0010  *                         University of Stuttgart.  All rights reserved.
0011  * Copyright (c) 2004-2005 The Regents of the University of California.
0012  *                         All rights reserved.
0013  * Copyright (c) 2011-2015 Los Alamos National Security, LLC.  All rights
0014  *                         reserved.
0015  * Copyright (c) 2012-2020 Cisco Systems, Inc.  All rights reserved
0016  * Copyright (c) 2018-2020 Intel, Inc.  All rights reserved.
0017  * Copyright (c) 2021-2024 Nanook Consulting.  All rights reserved.
0018  * $COPYRIGHT$
0019  *
0020  * Additional copyrights may follow
0021  *
0022  * $HEADER$
0023  */
0024 /** @file:
0025  *
0026  * The PRTE Environment-Specific Services
0027  *
0028  */
0029 
0030 #ifndef PRTE_ESS_H
0031 #define PRTE_ESS_H
0032 
0033 #include "prte_config.h"
0034 #include "types.h"
0035 
0036 #include "src/hwloc/hwloc-internal.h"
0037 #include "src/pmix/pmix-internal.h"
0038 #include "src/mca/mca.h"
0039 
0040 #include "src/runtime/runtime.h"
0041 #include "src/util/proc_info.h"
0042 
0043 BEGIN_C_DECLS
0044 
0045 /*
0046  * API functions
0047  */
0048 
0049 /*
0050  * Initialize the RTE for this environment
0051  */
0052 typedef int (*prte_ess_base_module_init_fn_t)(int argc, char **argv);
0053 
0054 /*
0055  * Finalize the RTE for this environment
0056  */
0057 typedef int (*prte_ess_base_module_finalize_fn_t)(void);
0058 
0059 /*
0060  * the standard module data structure
0061  */
0062 struct prte_ess_base_module_3_0_0_t {
0063     prte_ess_base_module_init_fn_t init;
0064     prte_ess_base_module_finalize_fn_t finalize;
0065 };
0066 typedef struct prte_ess_base_module_3_0_0_t prte_ess_base_module_3_0_0_t;
0067 typedef struct prte_ess_base_module_3_0_0_t prte_ess_base_module_t;
0068 
0069 /*
0070  * the standard component data structure
0071  */
0072 typedef pmix_mca_base_component_t prte_ess_base_component_t;
0073 
0074 /*
0075  * Macro for use in components that are of type ess
0076  */
0077 #define PRTE_ESS_BASE_VERSION_3_0_0 PRTE_MCA_BASE_VERSION_3_0_0("ess", 3, 0, 0)
0078 
0079 /* Global structure for accessing ESS functions */
0080 PRTE_EXPORT extern prte_ess_base_module_t prte_ess; /* holds selected module's function pointers */
0081 
0082 END_C_DECLS
0083 
0084 #endif