Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-23 10:12:56

0001 /*
0002  * Copyright (c) 2004-2009 The Trustees of Indiana University and Indiana
0003  *                         University Research and Technology
0004  *                         Corporation.  All rights reserved.
0005  * Copyright (c) 2004-2005 The University of Tennessee and The University
0006  *                         of Tennessee Research Foundation.  All rights
0007  *                         reserved.
0008  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
0009  *                         University of Stuttgart.  All rights reserved.
0010  * Copyright (c) 2004-2005 The Regents of the University of California.
0011  *                         All rights reserved.
0012  * Copyright (c) 2012-2013 Los Alamos National Security, LLC.
0013  *                         All rights reserved
0014  * Copyright (c) 2018-2019 Intel, Inc.  All rights reserved.
0015  * Copyright (c) 2019      Research Organization for Information Science
0016  *                         and Technology (RIST).  All rights reserved.
0017  * Copyright (c) 2020      Cisco Systems, Inc.  All rights reserved
0018  * Copyright (c) 2021-2022 Nanook Consulting.  All rights reserved.
0019  * $COPYRIGHT$
0020  *
0021  * Additional copyrights may follow
0022  *
0023  * $HEADER$
0024  */
0025 #ifndef PRTE_FILEM_BASE_H
0026 #define PRTE_FILEM_BASE_H
0027 
0028 #include "prte_config.h"
0029 
0030 #include "src/mca/filem/filem.h"
0031 #include "src/rml/rml.h"
0032 #include "src/pmix/pmix-internal.h"
0033 #include "src/util/pmix_printf.h"
0034 
0035 BEGIN_C_DECLS
0036 
0037 /*
0038  * MCA framework
0039  */
0040 PRTE_EXPORT extern pmix_mca_base_framework_t prte_filem_base_framework;
0041 /*
0042  * Select an available component.
0043  */
0044 PRTE_EXPORT int prte_filem_base_select(void);
0045 
0046 /*
0047  * cmds for base receive
0048  */
0049 typedef uint8_t prte_filem_cmd_flag_t;
0050 #define PRTE_FILEM_CMD                    PMIX_UINT8
0051 #define PRTE_FILEM_GET_PROC_NODE_NAME_CMD 1
0052 #define PRTE_FILEM_GET_REMOTE_PATH_CMD    2
0053 
0054 /**
0055  * Globals
0056  */
0057 PRTE_EXPORT extern prte_filem_base_module_t prte_filem;
0058 PRTE_EXPORT extern bool prte_filem_base_is_active;
0059 
0060 /**
0061  * 'None' component functions
0062  * These are to be used when no component is selected.
0063  * They just return success, and empty strings as necessary.
0064  */
0065 int prte_filem_base_module_init(void);
0066 int prte_filem_base_module_finalize(void);
0067 
0068 PRTE_EXPORT int prte_filem_base_none_put(prte_filem_base_request_t *request);
0069 PRTE_EXPORT int prte_filem_base_none_put_nb(prte_filem_base_request_t *request);
0070 PRTE_EXPORT int prte_filem_base_none_get(prte_filem_base_request_t *request);
0071 PRTE_EXPORT int prte_filem_base_none_get_nb(prte_filem_base_request_t *request);
0072 PRTE_EXPORT int prte_filem_base_none_rm(prte_filem_base_request_t *request);
0073 PRTE_EXPORT int prte_filem_base_none_rm_nb(prte_filem_base_request_t *request);
0074 PRTE_EXPORT int prte_filem_base_none_wait(prte_filem_base_request_t *request);
0075 PRTE_EXPORT int prte_filem_base_none_wait_all(pmix_list_t *request_list);
0076 int prte_filem_base_none_preposition_files(prte_job_t *jdata, prte_filem_completion_cbfunc_t cbfunc,
0077                                            void *cbdata);
0078 int prte_filem_base_none_link_local_files(prte_job_t *jdata, prte_app_context_t *app);
0079 
0080 /**
0081  * Some utility functions
0082  */
0083 /* base comm functions */
0084 PRTE_EXPORT int prte_filem_base_comm_start(void);
0085 PRTE_EXPORT int prte_filem_base_comm_stop(void);
0086 PRTE_EXPORT void prte_filem_base_recv(int status, pmix_proc_t *sender, pmix_data_buffer_t *buffer,
0087                                       prte_rml_tag_t tag, void *cbdata);
0088 
0089 END_C_DECLS
0090 
0091 #endif /* PRTE_FILEM_BASE_H */