Back to home page

EIC code displayed by LXR

 
 

    


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

0001 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil -*- */
0002 /*
0003  * Copyright (c) 2006-2015 Los Alamos National Security, LLC.  All rights
0004  *                         reserved.
0005  * Copyright (c) 2019-2020 Intel, Inc.  All rights reserved.
0006  * Copyright (c) 2020      Cisco Systems, Inc.  All rights reserved
0007  * Copyright (c) 2021-2023 Nanook Consulting.  All rights reserved.
0008  * $COPYRIGHT$
0009  *
0010  * Additional copyrights may follow
0011  *
0012  * $HEADER$
0013  */
0014 
0015 #ifndef PRTE_MCA_INSTALLDIRS_INSTALLDIRS_H
0016 #define PRTE_MCA_INSTALLDIRS_INSTALLDIRS_H
0017 
0018 #include "prte_config.h"
0019 
0020 #include "src/pmix/pmix-internal.h"
0021 #include "src/mca/base/pmix_base.h"
0022 #include "src/mca/mca.h"
0023 
0024 BEGIN_C_DECLS
0025 
0026 /*
0027  * Most of this file is just for ompi_info.  The only public interface
0028  * once prte_init has been called is the prte_install_dirs structure
0029  * and the prte_install_dirs_expand() call */
0030 struct prte_install_dirs_t {
0031     char *prefix;
0032     char *exec_prefix;
0033     char *bindir;
0034     char *sbindir;
0035     char *libexecdir;
0036     char *datarootdir;
0037     char *datadir;
0038     char *sysconfdir;
0039     char *sharedstatedir;
0040     char *localstatedir;
0041     char *libdir;
0042     char *includedir;
0043     char *infodir;
0044     char *mandir;
0045     char *prtedatadir;
0046     char *prtelibdir;
0047     char *prteincludedir;
0048 };
0049 typedef struct prte_install_dirs_t prte_install_dirs_t;
0050 
0051 /* Install directories.  Only available after prte_init() */
0052 PRTE_EXPORT extern prte_install_dirs_t prte_install_dirs;
0053 
0054 /**
0055  * Expand out path variables (such as ${prefix}) in the input string
0056  * using the current prte_install_dirs structure */
0057 PRTE_EXPORT char *prte_install_dirs_expand(const char *input);
0058 
0059 /**
0060  * Structure for prteinstalldirs components.
0061  */
0062 struct prte_prteinstalldirs_base_component_2_0_0_t {
0063     /** MCA base component */
0064     pmix_mca_base_component_t component;
0065     /** install directories provided by the given component */
0066     prte_install_dirs_t install_dirs_data;
0067 };
0068 /**
0069  * Convenience typedef
0070  */
0071 typedef struct prte_prteinstalldirs_base_component_2_0_0_t prte_prteinstalldirs_base_component_t;
0072 
0073 /*
0074  * Macro for use in components that are of type prteinstalldirs
0075  */
0076 #define PRTE_INSTALLDIRS_BASE_VERSION_2_0_0 PRTE_MCA_BASE_VERSION_3_0_0("prteinstalldirs", 2, 0, 0)
0077 
0078 END_C_DECLS
0079 
0080 #endif /* PRTE_MCA_INSTALLDIRS_INSTALLDIRS_H */