1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 #ifndef PMIX_MCA_COMPRESS_H
31 #define PMIX_MCA_COMPRESS_H
32
33 #include "pmix_config.h"
34 #include "src/mca/mca.h"
35 #include "src/mca/base/base.h"
36 #include "src/class/pmix_object.h"
37
38 #if defined(c_plusplus) || defined(__cplusplus)
39 extern "C" {
40 #endif
41
42
43
44
45
46 typedef int (*pmix_compress_base_module_init_fn_t)
47 (void);
48
49
50
51
52
53 typedef int (*pmix_compress_base_module_finalize_fn_t)
54 (void);
55
56
57
58
59
60
61
62
63
64
65
66 typedef int (*pmix_compress_base_module_compress_fn_t)
67 (char * fname, char **cname, char **postfix);
68
69 typedef int (*pmix_compress_base_module_compress_nb_fn_t)
70 (char * fname, char **cname, char **postfix, pid_t *child_pid);
71
72
73
74
75
76
77
78
79
80
81 typedef int (*pmix_compress_base_module_decompress_fn_t)
82 (char * cname, char **fname);
83 typedef int (*pmix_compress_base_module_decompress_nb_fn_t)
84 (char * cname, char **fname, pid_t *child_pid);
85
86
87
88
89
90
91
92 typedef bool (*pmix_compress_base_module_compress_string_fn_t)(char *instring,
93 uint8_t **outbytes,
94 size_t *nbytes);
95 typedef bool (*pmix_compress_base_module_decompress_string_fn_t)(char **outstring,
96 uint8_t *inbytes, size_t len);
97
98
99
100
101
102 struct pmix_compress_base_component_2_0_0_t {
103
104 pmix_mca_base_component_t base_version;
105
106 pmix_mca_base_component_data_t base_data;
107
108
109 int verbose;
110
111 int output_handle;
112
113 int priority;
114 };
115 typedef struct pmix_compress_base_component_2_0_0_t pmix_compress_base_component_2_0_0_t;
116 typedef struct pmix_compress_base_component_2_0_0_t pmix_compress_base_component_t;
117
118
119
120
121 struct pmix_compress_base_module_1_0_0_t {
122
123 pmix_compress_base_module_init_fn_t init;
124
125 pmix_compress_base_module_finalize_fn_t finalize;
126
127
128 pmix_compress_base_module_compress_fn_t compress;
129 pmix_compress_base_module_compress_nb_fn_t compress_nb;
130
131
132 pmix_compress_base_module_decompress_fn_t decompress;
133 pmix_compress_base_module_decompress_nb_fn_t decompress_nb;
134
135
136 pmix_compress_base_module_compress_string_fn_t compress_string;
137 pmix_compress_base_module_decompress_string_fn_t decompress_string;
138 };
139 typedef struct pmix_compress_base_module_1_0_0_t pmix_compress_base_module_1_0_0_t;
140 typedef struct pmix_compress_base_module_1_0_0_t pmix_compress_base_module_t;
141
142 PMIX_EXPORT extern pmix_compress_base_module_t pmix_compress;
143
144
145
146
147 #define PMIX_COMPRESS_BASE_VERSION_2_0_0 \
148 PMIX_MCA_BASE_VERSION_1_0_0("pcompress", 2, 0, 0)
149
150 #if defined(c_plusplus) || defined(__cplusplus)
151 }
152 #endif
153
154 #endif
155