OpenMPI  0.1.1
filem.h File Reference

Remote File Management (FileM) Interface. More...

#include "orte_config.h"
#include "orte/constants.h"
#include "orte/types.h"
#include "opal/mca/mca.h"
#include "opal/mca/base/base.h"
#include "opal/class/opal_object.h"

Go to the source code of this file.

Data Structures

struct  orte_filem_base_process_set_1_0_0_t
 Define a Process Set. More...
 
struct  orte_filem_base_file_set_1_0_0_t
 Define a File Pair. More...
 
struct  orte_filem_base_request_1_0_0_t
 Definition of a file movement request This will allow: More...
 
struct  orte_filem_base_component_2_0_0_t
 Structure for FILEM components. More...
 
struct  orte_filem_base_module_1_0_0_t
 Structure for FILEM modules. More...
 

Macros

#define ORTE_FILEM_TYPE_FILE   0
 A set of flags that determine the type of the file in question.
 
#define ORTE_FILEM_TYPE_DIR   1
 
#define ORTE_FILEM_TYPE_UNKNOWN   2
 
#define ORTE_FILEM_MOVE_TYPE_PUT   0
 Type of moment.
 
#define ORTE_FILEM_MOVE_TYPE_GET   1
 
#define ORTE_FILEM_MOVE_TYPE_RM   2
 
#define ORTE_FILEM_MOVE_TYPE_UNKNOWN   3
 
#define ORTE_FILEM_HINT_NONE   0
 Hints that describe the local or remote file target for optimization purposes.
 
#define ORTE_FILEM_HINT_SHARED   1
 
#define ORTE_FILEM_BASE_VERSION_2_0_0
 Macro for use in components that are of type FILEM. More...
 

Typedefs

typedef struct
orte_filem_base_process_set_1_0_0_t 
orte_filem_base_process_set_1_0_0_t
 
typedef struct
orte_filem_base_process_set_1_0_0_t 
orte_filem_base_process_set_t
 
typedef struct
orte_filem_base_file_set_1_0_0_t 
orte_filem_base_file_set_1_0_0_t
 
typedef struct
orte_filem_base_file_set_1_0_0_t 
orte_filem_base_file_set_t
 
typedef struct
orte_filem_base_request_1_0_0_t 
orte_filem_base_request_1_0_0_t
 
typedef struct
orte_filem_base_request_1_0_0_t 
orte_filem_base_request_t
 
typedef int(* orte_filem_base_module_init_fn_t )(void)
 Module initialization function. More...
 
typedef int(* orte_filem_base_module_finalize_fn_t )(void)
 Module finalization function. More...
 
typedef int(* orte_filem_base_put_fn_t )(orte_filem_base_request_t *request)
 Put a file or directory on the remote machine. More...
 
typedef int(* orte_filem_base_put_nb_fn_t )(orte_filem_base_request_t *request)
 Put a file or directory on the remote machine (Async) More...
 
typedef int(* orte_filem_base_get_fn_t )(orte_filem_base_request_t *request)
 Get a file from the remote machine. More...
 
typedef int(* orte_filem_base_get_nb_fn_t )(orte_filem_base_request_t *request)
 Get a file from the remote machine (Async) More...
 
typedef int(* orte_filem_base_rm_fn_t )(orte_filem_base_request_t *request)
 Remove a file from the remote machine. More...
 
typedef int(* orte_filem_base_rm_nb_fn_t )(orte_filem_base_request_t *request)
 Remove a file from the remote machine (Async) More...
 
typedef int(* orte_filem_base_wait_fn_t )(orte_filem_base_request_t *request)
 Wait for a single file movement request to finish. More...
 
typedef int(* orte_filem_base_wait_all_fn_t )(opal_list_t *request_list)
 Wait for a multiple file movement requests to finish. More...
 
typedef struct
orte_filem_base_component_2_0_0_t 
orte_filem_base_component_2_0_0_t
 
typedef struct
orte_filem_base_component_2_0_0_t 
orte_filem_base_component_t
 
typedef struct
orte_filem_base_module_1_0_0_t 
orte_filem_base_module_1_0_0_t
 
typedef struct
orte_filem_base_module_1_0_0_t 
orte_filem_base_module_t
 

Functions

ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_filem_base_process_set_t)
 
ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_filem_base_file_set_t)
 
ORTE_DECLSPEC OBJ_CLASS_DECLARATION (orte_filem_base_request_t)
 

Variables

ORTE_DECLSPEC
orte_filem_base_module_t 
orte_filem
 

Detailed Description

Remote File Management (FileM) Interface.

Macro Definition Documentation

#define ORTE_FILEM_BASE_VERSION_2_0_0
Value:
MCA_BASE_VERSION_2_0_0, \
"filem", 2, 0, 0

Macro for use in components that are of type FILEM.

Typedef Documentation

typedef int(* orte_filem_base_get_fn_t)(orte_filem_base_request_t *request)

Get a file from the remote machine.

Note: By using a relative path for the remote file/directory, the filem component will negotiate the correct absolute path for that file/directory for the remote machine.

Parameters
requestFileM request describing the files/directories to receive, the remote files/directories to use, and the processes to see the change.
Returns
ORTE_SUCCESS on successful file transer
ORTE_ERROR on failed file transfer
typedef int(* orte_filem_base_get_nb_fn_t)(orte_filem_base_request_t *request)

Get a file from the remote machine (Async)

Note: By using a relative path for the remote file/directory, the filem component will negotiate the correct absolute path for that file/directory for the remote machine.

Parameters
requestFileM request describing the files/directories to receive, the remote files/directories to use, and the processes to see the change.
Returns
ORTE_SUCCESS on successful file transer
ORTE_ERROR on failed file transfer
typedef int(* orte_filem_base_module_finalize_fn_t)(void)

Module finalization function.

Returns ORTE_SUCCESS

typedef int(* orte_filem_base_module_init_fn_t)(void)

Module initialization function.

Returns ORTE_SUCCESS

typedef int(* orte_filem_base_put_fn_t)(orte_filem_base_request_t *request)

Put a file or directory on the remote machine.

Note: By using a relative path for the remote file/directory, the filem component will negotiate the correct absolute path for that file/directory for the remote machine.

Parameters
requestFileM request describing the files/directories to send, the remote files/directories to use, and the processes to see the change.
Returns
ORTE_SUCCESS on successful file transer
ORTE_ERROR on failed file transfer
typedef int(* orte_filem_base_put_nb_fn_t)(orte_filem_base_request_t *request)

Put a file or directory on the remote machine (Async)

Note: By using a relative path for the remote file/directory, the filem component will negotiate the correct absolute path for that file/directory for the remote machine.

Parameters
requestFileM request describing the files/directories to send, the remote files/directories to use, and the processes to see the change.
Returns
ORTE_SUCCESS on successful file transer
ORTE_ERROR on failed file transfer
typedef int(* orte_filem_base_rm_fn_t)(orte_filem_base_request_t *request)

Remove a file from the remote machine.

Note: By using a relative path for the remote file/directory, the filem component will negotiate the correct absolute path for that file/directory for the remote machine.

Parameters
requestFileM request describing the remote files/directories to remove, the processes to see the change.
Returns
ORTE_SUCCESS on success
ORTE_ERROR on fail
typedef int(* orte_filem_base_rm_nb_fn_t)(orte_filem_base_request_t *request)

Remove a file from the remote machine (Async)

Note: By using a relative path for the remote file/directory, the filem component will negotiate the correct absolute path for that file/directory for the remote machine.

Parameters
requestFileM request describing the remote files/directories to remove, the processes to see the change.
Returns
ORTE_SUCCESS on success
ORTE_ERROR on fail
typedef int(* orte_filem_base_wait_all_fn_t)(opal_list_t *request_list)

Wait for a multiple file movement requests to finish.

Parameters
request_listopal_list_t of FileM requests describing the remote files/directories.

The request must have been passed through one of the non-blocking functions before calling wait or wait_all otherwise ORTE_ERROR will be returned.

Returns
ORTE_SUCCESS on success
ORTE_ERROR on fail
typedef int(* orte_filem_base_wait_fn_t)(orte_filem_base_request_t *request)

Wait for a single file movement request to finish.

Parameters
requestFileM request describing the remote files/directories.

The request must have been passed through one of the non-blocking functions before calling wait or wait_all otherwise ORTE_ERROR will be returned.

Returns
ORTE_SUCCESS on success
ORTE_ERROR on fail