root/orte/mca/filem/base/base.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /*
   2  * Copyright (c) 2004-2009 The Trustees of Indiana University and Indiana
   3  *                         University Research and Technology
   4  *                         Corporation.  All rights reserved.
   5  * Copyright (c) 2004-2005 The University of Tennessee and The University
   6  *                         of Tennessee Research Foundation.  All rights
   7  *                         reserved.
   8  * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
   9  *                         University of Stuttgart.  All rights reserved.
  10  * Copyright (c) 2004-2005 The Regents of the University of California.
  11  *                         All rights reserved.
  12  * Copyright (c) 2012-2013 Los Alamos National Security, LLC.
  13  *                         All rights reserved
  14  * Copyright (c) 2018      Intel, Inc.  All rights reserved.
  15  * $COPYRIGHT$
  16  *
  17  * Additional copyrights may follow
  18  *
  19  * $HEADER$
  20  */
  21 #ifndef ORTE_FILEM_BASE_H
  22 #define ORTE_FILEM_BASE_H
  23 
  24 #include "orte_config.h"
  25 
  26 #include "opal/util/printf.h"
  27 #include "orte/mca/rml/rml.h"
  28 
  29 #include "orte/mca/filem/filem.h"
  30 
  31 BEGIN_C_DECLS
  32 
  33 /*
  34  * MCA framework
  35  */
  36 ORTE_DECLSPEC extern mca_base_framework_t orte_filem_base_framework;
  37 /*
  38  * Select an available component.
  39  */
  40 ORTE_DECLSPEC int orte_filem_base_select(void);
  41 
  42 /*
  43  * cmds for base receive
  44  */
  45 typedef uint8_t orte_filem_cmd_flag_t;
  46 #define ORTE_FILEM_CMD  OPAL_UINT8
  47 #define ORTE_FILEM_GET_PROC_NODE_NAME_CMD  1
  48 #define ORTE_FILEM_GET_REMOTE_PATH_CMD     2
  49 
  50 /**
  51  * Globals
  52  */
  53 ORTE_DECLSPEC extern orte_filem_base_module_t orte_filem;
  54 ORTE_DECLSPEC extern bool orte_filem_base_is_active;
  55 
  56 /**
  57  * 'None' component functions
  58  * These are to be used when no component is selected.
  59  * They just return success, and empty strings as necessary.
  60  */
  61 int orte_filem_base_module_init(void);
  62 int orte_filem_base_module_finalize(void);
  63 
  64 int orte_filem_base_none_put(orte_filem_base_request_t *request);
  65 int orte_filem_base_none_put_nb(orte_filem_base_request_t *request);
  66 int orte_filem_base_none_get(orte_filem_base_request_t *request);
  67 int orte_filem_base_none_get_nb(orte_filem_base_request_t *request);
  68 int orte_filem_base_none_rm( orte_filem_base_request_t *request);
  69 int orte_filem_base_none_rm_nb( orte_filem_base_request_t *request);
  70 int orte_filem_base_none_wait( orte_filem_base_request_t *request);
  71 int orte_filem_base_none_wait_all( opal_list_t *request_list);
  72 int orte_filem_base_none_preposition_files(orte_job_t *jdata,
  73                                            orte_filem_completion_cbfunc_t cbfunc,
  74                                            void *cbdata);
  75 int orte_filem_base_none_link_local_files(orte_job_t *jdata,
  76                                           orte_app_context_t *app);
  77 
  78 /**
  79  * Some utility functions
  80  */
  81 /* base comm functions */
  82 ORTE_DECLSPEC int orte_filem_base_comm_start(void);
  83 ORTE_DECLSPEC int orte_filem_base_comm_stop(void);
  84 ORTE_DECLSPEC void orte_filem_base_recv(int status, orte_process_name_t* sender,
  85                                         opal_buffer_t* buffer, orte_rml_tag_t tag,
  86                                         void* cbdata);
  87 
  88 
  89 END_C_DECLS
  90 
  91 #endif /* ORTE_FILEM_BASE_H */

/* [<][>][^][v][top][bottom][index][help] */