Files
cpp-thirdparty/macx64/mpi/openmpi/include/prte/src/mca/ess/ess.h
Bassem Girgis d29ef955f5 Upgrade macos
2025-03-19 08:52:56 -05:00

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