81 строка
1.8 KiB
C
81 строка
1.8 KiB
C
/*
|
|
* Copyright (c) 2012 Los Alamos National Security, LLC.
|
|
* All rights reserved
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
#ifndef MCA_FILEM_RAW_EXPORT_H
|
|
#define MCA_FILEM_RAW_EXPORT_H
|
|
|
|
#include "orte_config.h"
|
|
|
|
#include "orte/mca/mca.h"
|
|
#include "opal/class/opal_object.h"
|
|
#include "opal/mca/event/event.h"
|
|
|
|
#include "orte/mca/filem/filem.h"
|
|
|
|
BEGIN_C_DECLS
|
|
|
|
ORTE_MODULE_DECLSPEC extern orte_filem_base_component_t mca_filem_raw_component;
|
|
ORTE_DECLSPEC extern orte_filem_base_module_t mca_filem_raw_module;
|
|
|
|
extern bool orte_filem_raw_flatten_trees;
|
|
|
|
#define ORTE_FILEM_RAW_CHUNK_MAX 16384
|
|
|
|
/* local classes */
|
|
typedef struct {
|
|
opal_list_item_t super;
|
|
opal_list_t xfers;
|
|
int32_t status;
|
|
orte_filem_completion_cbfunc_t cbfunc;
|
|
void *cbdata;
|
|
} orte_filem_raw_outbound_t;
|
|
OBJ_CLASS_DECLARATION(orte_filem_raw_outbound_t);
|
|
|
|
typedef struct {
|
|
opal_list_item_t super;
|
|
orte_filem_raw_outbound_t *outbound;
|
|
orte_app_idx_t app_idx;
|
|
opal_event_t ev;
|
|
bool pending;
|
|
char *src;
|
|
char *file;
|
|
int32_t type;
|
|
int32_t nchunk;
|
|
int status;
|
|
orte_vpid_t nrecvd;
|
|
} orte_filem_raw_xfer_t;
|
|
OBJ_CLASS_DECLARATION(orte_filem_raw_xfer_t);
|
|
|
|
typedef struct {
|
|
opal_list_item_t super;
|
|
orte_app_idx_t app_idx;
|
|
opal_event_t ev;
|
|
bool pending;
|
|
int fd;
|
|
char *file;
|
|
char *top;
|
|
char *fullpath;
|
|
int32_t type;
|
|
char **link_pts;
|
|
opal_list_t outputs;
|
|
} orte_filem_raw_incoming_t;
|
|
OBJ_CLASS_DECLARATION(orte_filem_raw_incoming_t);
|
|
|
|
typedef struct {
|
|
opal_list_item_t super;
|
|
int numbytes;
|
|
unsigned char data[ORTE_FILEM_RAW_CHUNK_MAX];
|
|
} orte_filem_raw_output_t;
|
|
OBJ_CLASS_DECLARATION(orte_filem_raw_output_t);
|
|
|
|
END_C_DECLS
|
|
|
|
#endif /* MCA_FILEM_RAW_EXPORT_H */
|