1
2
3
4
5
6
7
8
9
10
11
12 #ifndef MCA_PMIX_BASE_FNS_H
13 #define MCA_PMIX_BASE_FNS_H
14
15 #include "opal_config.h"
16 #include "opal/util/error.h"
17 #include "opal/dss/dss_types.h"
18
19
20 BEGIN_C_DECLS
21
22 typedef int (*kvs_put_fn)(const char key[], const char value[]);
23 typedef int (*kvs_get_fn)(const char key[], char value [], int maxvalue);
24
25 OPAL_DECLSPEC int opal_pmix_base_store_encoded(const char *key, const void *data,
26 opal_data_type_t type, char** buffer, int* length);
27 OPAL_DECLSPEC int opal_pmix_base_commit_packed(char** data, int* data_offset,
28 char** enc_data, int* enc_data_offset,
29 int max_key, int* pack_key, kvs_put_fn fn);
30 OPAL_DECLSPEC int opal_pmix_base_partial_commit_packed(char** data, int* data_offset,
31 char** enc_data, int* enc_data_offset,
32 int max_key, int* pack_key, kvs_put_fn fn);
33 OPAL_DECLSPEC int opal_pmix_base_cache_keys_locally(const opal_process_name_t* id, const char* key,
34 opal_value_t **out_kv, char* kvs_name, int vallen, kvs_get_fn fn);
35 OPAL_DECLSPEC int opal_pmix_base_get_packed(const opal_process_name_t* proc, char **packed_data,
36 size_t *len, int vallen, kvs_get_fn fn);
37
38 END_C_DECLS
39
40 #endif