1
2
3
4
5
6
7
8
9
10
11 #ifndef MCA_FILEM_RAW_EXPORT_H
12 #define MCA_FILEM_RAW_EXPORT_H
13
14 #include "orte_config.h"
15
16 #include "orte/mca/mca.h"
17 #include "opal/class/opal_object.h"
18 #include "opal/mca/event/event.h"
19
20 #include "orte/mca/filem/filem.h"
21
22 BEGIN_C_DECLS
23
24 ORTE_MODULE_DECLSPEC extern orte_filem_base_component_t mca_filem_raw_component;
25 ORTE_DECLSPEC extern orte_filem_base_module_t mca_filem_raw_module;
26
27 extern bool orte_filem_raw_flatten_trees;
28
29 #define ORTE_FILEM_RAW_CHUNK_MAX 16384
30
31
32 typedef struct {
33 opal_list_item_t super;
34 opal_list_t xfers;
35 int32_t status;
36 orte_filem_completion_cbfunc_t cbfunc;
37 void *cbdata;
38 } orte_filem_raw_outbound_t;
39 OBJ_CLASS_DECLARATION(orte_filem_raw_outbound_t);
40
41 typedef struct {
42 opal_list_item_t super;
43 orte_filem_raw_outbound_t *outbound;
44 orte_app_idx_t app_idx;
45 opal_event_t ev;
46 bool pending;
47 char *src;
48 char *file;
49 int32_t type;
50 int32_t nchunk;
51 int status;
52 orte_vpid_t nrecvd;
53 } orte_filem_raw_xfer_t;
54 OBJ_CLASS_DECLARATION(orte_filem_raw_xfer_t);
55
56 typedef struct {
57 opal_list_item_t super;
58 orte_app_idx_t app_idx;
59 opal_event_t ev;
60 bool pending;
61 int fd;
62 char *file;
63 char *top;
64 char *fullpath;
65 int32_t type;
66 char **link_pts;
67 opal_list_t outputs;
68 } orte_filem_raw_incoming_t;
69 OBJ_CLASS_DECLARATION(orte_filem_raw_incoming_t);
70
71 typedef struct {
72 opal_list_item_t super;
73 int numbytes;
74 unsigned char data[ORTE_FILEM_RAW_CHUNK_MAX];
75 } orte_filem_raw_output_t;
76 OBJ_CLASS_DECLARATION(orte_filem_raw_output_t);
77
78 END_C_DECLS
79
80 #endif