85 lines
2.4 KiB
C
85 lines
2.4 KiB
C
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
|
|
/*
|
|
* Copyright (c) 2004-2008 The Trustees of Indiana University and Indiana
|
|
* University Research and Technology
|
|
* Corporation. All rights reserved.
|
|
* Copyright (c) 2004-2011 The University of Tennessee and The University
|
|
* of Tennessee Research Foundation. All rights
|
|
* reserved.
|
|
* Copyright (c) 2004-2010 High Performance Computing Center Stuttgart,
|
|
* University of Stuttgart. All rights reserved.
|
|
* Copyright (c) 2004-2005 The Regents of the University of California.
|
|
* All rights reserved.
|
|
* Copyright (c) 2011-2015 Los Alamos National Security, LLC. All rights
|
|
* reserved.
|
|
* Copyright (c) 2012-2020 Cisco Systems, Inc. All rights reserved
|
|
* Copyright (c) 2018-2020 Intel, Inc. All rights reserved.
|
|
* Copyright (c) 2021-2024 Nanook Consulting. All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
/** @file:
|
|
*
|
|
* The PRTE Environment-Specific Services
|
|
*
|
|
*/
|
|
|
|
#ifndef PRTE_ESS_H
|
|
#define PRTE_ESS_H
|
|
|
|
#include "prte_config.h"
|
|
#include "types.h"
|
|
|
|
#include "src/hwloc/hwloc-internal.h"
|
|
#include "src/pmix/pmix-internal.h"
|
|
#include "src/mca/mca.h"
|
|
|
|
#include "src/runtime/runtime.h"
|
|
#include "src/util/proc_info.h"
|
|
|
|
BEGIN_C_DECLS
|
|
|
|
/*
|
|
* API functions
|
|
*/
|
|
|
|
/*
|
|
* Initialize the RTE for this environment
|
|
*/
|
|
typedef int (*prte_ess_base_module_init_fn_t)(int argc, char **argv);
|
|
|
|
/*
|
|
* Finalize the RTE for this environment
|
|
*/
|
|
typedef int (*prte_ess_base_module_finalize_fn_t)(void);
|
|
|
|
/*
|
|
* the standard module data structure
|
|
*/
|
|
struct prte_ess_base_module_3_0_0_t {
|
|
prte_ess_base_module_init_fn_t init;
|
|
prte_ess_base_module_finalize_fn_t finalize;
|
|
};
|
|
typedef struct prte_ess_base_module_3_0_0_t prte_ess_base_module_3_0_0_t;
|
|
typedef struct prte_ess_base_module_3_0_0_t prte_ess_base_module_t;
|
|
|
|
/*
|
|
* the standard component data structure
|
|
*/
|
|
typedef pmix_mca_base_component_t prte_ess_base_component_t;
|
|
|
|
/*
|
|
* Macro for use in components that are of type ess
|
|
*/
|
|
#define PRTE_ESS_BASE_VERSION_3_0_0 PRTE_MCA_BASE_VERSION_3_0_0("ess", 3, 0, 0)
|
|
|
|
/* Global structure for accessing ESS functions */
|
|
PRTE_EXPORT extern prte_ess_base_module_t prte_ess; /* holds selected module's function pointers */
|
|
|
|
END_C_DECLS
|
|
|
|
#endif
|