#ifndef PMIx_H
#define PMIx_H
#include <pmix_common.h>
#if defined(c_plusplus) || defined(__cplusplus)
extern "C" {
#endif
PMIX_EXPORT pmix_status_t PMIx_Init(pmix_proc_t *proc,
pmix_info_t info[], size_t ninfo);
PMIX_EXPORT pmix_status_t PMIx_Finalize(const pmix_info_t info[], size_t ninfo);
PMIX_EXPORT int PMIx_Initialized(void);
PMIX_EXPORT pmix_status_t PMIx_Abort(int status, const char msg[],
pmix_proc_t procs[], size_t nprocs);
PMIX_EXPORT pmix_status_t PMIx_Put(pmix_scope_t scope,
const char key[],
pmix_value_t *val);
PMIX_EXPORT pmix_status_t PMIx_Commit(void);
PMIX_EXPORT pmix_status_t PMIx_Fence(const pmix_proc_t procs[], size_t nprocs,
const pmix_info_t info[], size_t ninfo);
PMIX_EXPORT pmix_status_t PMIx_Fence_nb(const pmix_proc_t procs[], size_t nprocs,
const pmix_info_t info[], size_t ninfo,
pmix_op_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Get(const pmix_proc_t *proc, const char key[],
const pmix_info_t info[], size_t ninfo,
pmix_value_t **val);
PMIX_EXPORT pmix_status_t PMIx_Get_nb(const pmix_proc_t *proc, const char key[],
const pmix_info_t info[], size_t ninfo,
pmix_value_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Publish(const pmix_info_t info[], size_t ninfo);
PMIX_EXPORT pmix_status_t PMIx_Publish_nb(const pmix_info_t info[], size_t ninfo,
pmix_op_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Lookup(pmix_pdata_t data[], size_t ndata,
const pmix_info_t info[], size_t ninfo);
PMIX_EXPORT pmix_status_t PMIx_Lookup_nb(char **keys, const pmix_info_t info[], size_t ninfo,
pmix_lookup_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Unpublish(char **keys,
const pmix_info_t info[], size_t ninfo);
PMIX_EXPORT pmix_status_t PMIx_Unpublish_nb(char **keys,
const pmix_info_t info[], size_t ninfo,
pmix_op_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Spawn(const pmix_info_t job_info[], size_t ninfo,
const pmix_app_t apps[], size_t napps,
pmix_nspace_t nspace);
PMIX_EXPORT pmix_status_t PMIx_Spawn_nb(const pmix_info_t job_info[], size_t ninfo,
const pmix_app_t apps[], size_t napps,
pmix_spawn_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Connect(const pmix_proc_t procs[], size_t nprocs,
const pmix_info_t info[], size_t ninfo);
PMIX_EXPORT pmix_status_t PMIx_Connect_nb(const pmix_proc_t procs[], size_t nprocs,
const pmix_info_t info[], size_t ninfo,
pmix_op_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Disconnect(const pmix_proc_t procs[], size_t nprocs,
const pmix_info_t info[], size_t ninfo);
PMIX_EXPORT pmix_status_t PMIx_Disconnect_nb(const pmix_proc_t ranges[], size_t nprocs,
const pmix_info_t info[], size_t ninfo,
pmix_op_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Resolve_peers(const char *nodename,
const pmix_nspace_t nspace,
pmix_proc_t **procs, size_t *nprocs);
PMIX_EXPORT pmix_status_t PMIx_Resolve_nodes(const pmix_nspace_t nspace, char **nodelist);
PMIX_EXPORT pmix_status_t PMIx_Query_info(pmix_query_t queries[], size_t nqueries,
pmix_info_t **results, size_t *nresults);
PMIX_EXPORT pmix_status_t PMIx_Query_info_nb(pmix_query_t queries[], size_t nqueries,
pmix_info_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Log(const pmix_info_t data[], size_t ndata,
const pmix_info_t directives[], size_t ndirs);
PMIX_EXPORT pmix_status_t PMIx_Log_nb(const pmix_info_t data[], size_t ndata,
const pmix_info_t directives[], size_t ndirs,
pmix_op_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Allocation_request(pmix_alloc_directive_t directive,
pmix_info_t *info, size_t ninfo,
pmix_info_t **results, size_t *nresults);
PMIX_EXPORT pmix_status_t PMIx_Allocation_request_nb(pmix_alloc_directive_t directive,
pmix_info_t *info, size_t ninfo,
pmix_info_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Session_control(uint32_t sessionID,
const pmix_info_t directives[], size_t ndirs,
pmix_info_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Job_control(const pmix_proc_t targets[], size_t ntargets,
const pmix_info_t directives[], size_t ndirs,
pmix_info_t **results, size_t *nresults);
PMIX_EXPORT pmix_status_t PMIx_Job_control_nb(const pmix_proc_t targets[], size_t ntargets,
const pmix_info_t directives[], size_t ndirs,
pmix_info_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Process_monitor(const pmix_info_t *monitor, pmix_status_t error,
const pmix_info_t directives[], size_t ndirs,
pmix_info_t **results, size_t *nresults);
PMIX_EXPORT pmix_status_t PMIx_Process_monitor_nb(const pmix_info_t *monitor, pmix_status_t error,
const pmix_info_t directives[], size_t ndirs,
pmix_info_cbfunc_t cbfunc, void *cbdata);
#define PMIx_Heartbeat() \
do { \
pmix_info_t _in; \
PMIX_INFO_CONSTRUCT(&_in); \
PMIX_INFO_LOAD(&_in, PMIX_SEND_HEARTBEAT, NULL, PMIX_POINTER); \
PMIx_Process_monitor_nb(&_in, PMIX_SUCCESS, NULL, 0, NULL, NULL); \
PMIX_INFO_DESTRUCT(&_in); \
} while(0)
PMIX_EXPORT pmix_status_t PMIx_Get_credential(const pmix_info_t info[], size_t ninfo,
pmix_byte_object_t *credential);
PMIX_EXPORT pmix_status_t PMIx_Get_credential_nb(const pmix_info_t info[], size_t ninfo,
pmix_credential_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Validate_credential(const pmix_byte_object_t *cred,
const pmix_info_t info[], size_t ninfo,
pmix_info_t **results, size_t *nresults);
PMIX_EXPORT pmix_status_t PMIx_Validate_credential_nb(const pmix_byte_object_t *cred,
const pmix_info_t info[], size_t ninfo,
pmix_validation_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Group_construct(const char grp[],
const pmix_proc_t procs[], size_t nprocs,
const pmix_info_t directives[], size_t ndirs,
pmix_info_t **results, size_t *nresults);
PMIX_EXPORT pmix_status_t PMIx_Group_construct_nb(const char grp[],
const pmix_proc_t procs[], size_t nprocs,
const pmix_info_t info[], size_t ninfo,
pmix_info_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Group_invite(const char grp[],
const pmix_proc_t procs[], size_t nprocs,
const pmix_info_t info[], size_t ninfo,
pmix_info_t **results, size_t *nresult);
PMIX_EXPORT pmix_status_t PMIx_Group_invite_nb(const char grp[],
const pmix_proc_t procs[], size_t nprocs,
const pmix_info_t info[], size_t ninfo,
pmix_info_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Group_join(const char grp[],
const pmix_proc_t *leader,
pmix_group_opt_t opt,
const pmix_info_t info[], size_t ninfo,
pmix_info_t **results, size_t *nresult);
PMIX_EXPORT pmix_status_t PMIx_Group_join_nb(const char grp[],
const pmix_proc_t *leader,
pmix_group_opt_t opt,
const pmix_info_t info[], size_t ninfo,
pmix_info_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Group_leave(const char grp[],
const pmix_info_t info[], size_t ninfo);
PMIX_EXPORT pmix_status_t PMIx_Group_leave_nb(const char grp[],
const pmix_info_t info[], size_t ninfo,
pmix_op_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Group_destruct(const char grp[],
const pmix_info_t info[], size_t ninfo);
PMIX_EXPORT pmix_status_t PMIx_Group_destruct_nb(const char grp[],
const pmix_info_t info[], size_t ninfo,
pmix_op_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Register_event_handler(pmix_status_t codes[], size_t ncodes,
pmix_info_t info[], size_t ninfo,
pmix_notification_fn_t evhdlr,
pmix_hdlr_reg_cbfunc_t cbfunc,
void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Deregister_event_handler(size_t evhdlr_ref,
pmix_op_cbfunc_t cbfunc,
void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Notify_event(pmix_status_t status,
const pmix_proc_t *source,
pmix_data_range_t range,
const pmix_info_t info[], size_t ninfo,
pmix_op_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Fabric_register(pmix_fabric_t *fabric,
const pmix_info_t directives[],
size_t ndirs);
PMIX_EXPORT pmix_status_t PMIx_Fabric_register_nb(pmix_fabric_t *fabric,
const pmix_info_t directives[],
size_t ndirs,
pmix_op_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Fabric_update(pmix_fabric_t *fabric);
PMIX_EXPORT pmix_status_t PMIx_Fabric_update_nb(pmix_fabric_t *fabric,
pmix_op_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Fabric_deregister(pmix_fabric_t *fabric);
PMIX_EXPORT pmix_status_t PMIx_Fabric_deregister_nb(pmix_fabric_t *fabric,
pmix_op_cbfunc_t cbfunc, void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Compute_distances(pmix_topology_t *topo,
pmix_cpuset_t *cpuset,
pmix_info_t info[], size_t ninfo,
pmix_device_distance_t *distances[],
size_t *ndist);
PMIX_EXPORT pmix_status_t PMIx_Compute_distances_nb(pmix_topology_t *topo,
pmix_cpuset_t *cpuset,
pmix_info_t info[], size_t ninfo,
pmix_device_dist_cbfunc_t cbfunc,
void *cbdata);
PMIX_EXPORT pmix_status_t PMIx_Load_topology(pmix_topology_t *topo);
PMIX_EXPORT pmix_status_t PMIx_Parse_cpuset_string(const char *cpuset_string,
pmix_cpuset_t *cpuset);
PMIX_EXPORT pmix_status_t PMIx_Get_cpuset(pmix_cpuset_t *cpuset, pmix_bind_envelope_t ref);
PMIX_EXPORT pmix_status_t PMIx_Get_relative_locality(const char *locality1,
const char *locality2,
pmix_locality_t *locality);
PMIX_EXPORT void PMIx_Progress(void);
PMIX_EXPORT const char* PMIx_Error_string(pmix_status_t status);
PMIX_EXPORT pmix_status_t PMIx_Error_code(const char *errname);
PMIX_EXPORT const char* PMIx_Proc_state_string(pmix_proc_state_t state);
PMIX_EXPORT const char* PMIx_Scope_string(pmix_scope_t scope);
PMIX_EXPORT const char* PMIx_Persistence_string(pmix_persistence_t persist);
PMIX_EXPORT const char* PMIx_Data_range_string(pmix_data_range_t range);
PMIX_EXPORT const char* PMIx_Data_type_string(pmix_data_type_t type);
PMIX_EXPORT const char* PMIx_Alloc_directive_string(pmix_alloc_directive_t directive);
PMIX_EXPORT const char* PMIx_IOF_channel_string(pmix_iof_channel_t channel);
PMIX_EXPORT const char* PMIx_Job_state_string(pmix_job_state_t state);
PMIX_EXPORT const char* PMIx_Get_attribute_string(const char *attribute);
PMIX_EXPORT const char* PMIx_Get_attribute_name(const char *attrstring);
PMIX_EXPORT const char* PMIx_Link_state_string(pmix_link_state_t state);
PMIX_EXPORT const char* PMIx_Device_type_string(pmix_device_type_t type);
PMIX_EXPORT const char* PMIx_Value_comparison_string(pmix_value_cmp_t cmp);
PMIX_EXPORT char* PMIx_Info_string(const pmix_info_t *info);
PMIX_EXPORT char* PMIx_Value_string(const pmix_value_t *value);
PMIX_EXPORT char* PMIx_Info_directives_string(pmix_info_directives_t directives);
PMIX_EXPORT char* PMIx_App_string(const pmix_app_t *app);
PMIX_EXPORT char* PMIx_Proc_string(const pmix_proc_t *proc);
PMIX_EXPORT const char* PMIx_Get_version(void);
PMIX_EXPORT pmix_status_t PMIx_Store_internal(const pmix_proc_t *proc,
const char key[], pmix_value_t *val);
PMIX_EXPORT pmix_status_t PMIx_Value_get_size(const pmix_value_t *val,
size_t *size);
PMIX_EXPORT pmix_status_t PMIx_Info_get_size(const pmix_info_t *val,
size_t *size);
PMIX_EXPORT pmix_status_t PMIx_Data_pack(const pmix_proc_t *target,
pmix_data_buffer_t *buffer,
void *src, int32_t num_vals,
pmix_data_type_t type);
PMIX_EXPORT pmix_status_t PMIx_Data_unpack(const pmix_proc_t *source,
pmix_data_buffer_t *buffer, void *dest,
int32_t *max_num_values,
pmix_data_type_t type);
PMIX_EXPORT pmix_status_t PMIx_Data_copy(void **dest, void *src,
pmix_data_type_t type);
PMIX_EXPORT pmix_status_t PMIx_Data_print(char **output, char *prefix,
void *src, pmix_data_type_t type);
PMIX_EXPORT pmix_status_t PMIx_Data_copy_payload(pmix_data_buffer_t *dest,
pmix_data_buffer_t *src);
PMIX_EXPORT pmix_status_t PMIx_Data_unload(pmix_data_buffer_t *buffer,
pmix_byte_object_t *payload);
PMIX_EXPORT pmix_status_t PMIx_Data_load(pmix_data_buffer_t *buffer,
pmix_byte_object_t *payload);
PMIX_EXPORT pmix_status_t PMIx_Data_embed(pmix_data_buffer_t *buffer,
const pmix_byte_object_t *payload);
PMIX_EXPORT bool PMIx_Data_compress(const uint8_t *inbytes,
size_t size,
uint8_t **outbytes,
size_t *nbytes);
PMIX_EXPORT bool PMIx_Data_decompress(const uint8_t *inbytes,
size_t size,
uint8_t **outbytes,
size_t *nbytes);
#ifndef PMIx_DEPRECATED_H
PMIX_EXPORT void PMIx_Load_key(pmix_key_t key, const char *src);
PMIX_EXPORT bool PMIx_Check_key(const char *key, const char *str);
PMIX_EXPORT bool PMIx_Check_reserved_key(const char *key);
PMIX_EXPORT void PMIx_Load_nspace(pmix_nspace_t nspace, const char *str);
PMIX_EXPORT bool PMIx_Check_nspace(const char *key1, const char *key2);
PMIX_EXPORT bool PMIx_Nspace_invalid(const char *nspace);
PMIX_EXPORT void PMIx_Load_procid(pmix_proc_t *p,
const char *ns,
pmix_rank_t rk);
PMIX_EXPORT void PMIx_Xfer_procid(pmix_proc_t *dst,
const pmix_proc_t *src);
PMIX_EXPORT bool PMIx_Check_procid(const pmix_proc_t *a,
const pmix_proc_t *b);
PMIX_EXPORT bool PMIx_Check_rank(pmix_rank_t a,
pmix_rank_t b);
PMIX_EXPORT bool PMIx_Procid_invalid(const pmix_proc_t *p);
PMIX_EXPORT int PMIx_Argv_count(char **a);
PMIX_EXPORT pmix_status_t PMIx_Argv_append_nosize(char ***argv, const char *arg);
PMIX_EXPORT pmix_status_t PMIx_Argv_prepend_nosize(char ***argv, const char *arg);
PMIX_EXPORT pmix_status_t PMIx_Argv_append_unique_nosize(char ***argv, const char *arg);
PMIX_EXPORT void PMIx_Argv_free(char **argv);
PMIX_EXPORT char **PMIx_Argv_split_inter(const char *src_string,
int delimiter,
bool include_empty);
PMIX_EXPORT char **PMIx_Argv_split_with_empty(const char *src_string, int delimiter);
PMIX_EXPORT char **PMIx_Argv_split(const char *src_string, int delimiter);
PMIX_EXPORT char *PMIx_Argv_join(char **argv, int delimiter);
PMIX_EXPORT char **PMIx_Argv_copy(char **argv);
PMIX_EXPORT pmix_status_t PMIx_Setenv(const char *name,
const char *value,
bool overwrite,
char ***env);
PMIX_EXPORT void PMIx_Value_construct(pmix_value_t *val);
PMIX_EXPORT void PMIx_Value_destruct(pmix_value_t *val);
PMIX_EXPORT pmix_value_t* PMIx_Value_create(size_t n);
PMIX_EXPORT void PMIx_Value_free(pmix_value_t *v, size_t n);
PMIX_EXPORT pmix_boolean_t PMIx_Value_true(const pmix_value_t *v);
PMIX_EXPORT pmix_status_t PMIx_Value_load(pmix_value_t *val,
const void *data,
pmix_data_type_t type);
PMIX_EXPORT pmix_status_t PMIx_Value_unload(pmix_value_t *val,
void **data,
size_t *sz);
PMIX_EXPORT pmix_status_t PMIx_Value_xfer(pmix_value_t *dest,
const pmix_value_t *src);
PMIX_EXPORT pmix_value_cmp_t PMIx_Value_compare(pmix_value_t *v1,
pmix_value_t *v2);
PMIX_EXPORT void PMIx_Data_array_init(pmix_data_array_t *p,
pmix_data_type_t type);
PMIX_EXPORT void PMIx_Data_array_construct(pmix_data_array_t *p,
size_t num, pmix_data_type_t type);
PMIX_EXPORT void PMIx_Data_array_destruct(pmix_data_array_t *d);
PMIX_EXPORT pmix_data_array_t* PMIx_Data_array_create(size_t n, pmix_data_type_t type);
PMIX_EXPORT void PMIx_Data_array_free(pmix_data_array_t *p);
PMIX_EXPORT void PMIx_Info_construct(pmix_info_t *p);
PMIX_EXPORT void PMIx_Info_destruct(pmix_info_t *p);
PMIX_EXPORT pmix_info_t* PMIx_Info_create(size_t n);
PMIX_EXPORT void PMIx_Info_free(pmix_info_t *p, size_t n);
PMIX_EXPORT pmix_boolean_t PMIx_Info_true(const pmix_info_t *p);
PMIX_EXPORT pmix_status_t PMIx_Info_load(pmix_info_t *info,
const char *key,
const void *data,
pmix_data_type_t type);
PMIX_EXPORT pmix_status_t PMIx_Info_xfer(pmix_info_t *dest,
const pmix_info_t *src);
PMIX_EXPORT void PMIx_Info_required(pmix_info_t *p);
PMIX_EXPORT void PMIx_Info_optional(pmix_info_t *p);
PMIX_EXPORT bool PMIx_Info_is_required(const pmix_info_t *p);
PMIX_EXPORT bool PMIx_Info_is_optional(const pmix_info_t *p);
PMIX_EXPORT void PMIx_Info_processed(pmix_info_t *p);
PMIX_EXPORT bool PMIx_Info_was_processed(const pmix_info_t *p);
PMIX_EXPORT void PMIx_Info_set_end(pmix_info_t *p);
PMIX_EXPORT bool PMIx_Info_is_end(const pmix_info_t *p);
PMIX_EXPORT void PMIx_Info_qualifier(pmix_info_t *p);
PMIX_EXPORT bool PMIx_Info_is_qualifier(const pmix_info_t *p);
PMIX_EXPORT void PMIx_Info_persistent(pmix_info_t *p);
PMIX_EXPORT bool PMIx_Info_is_persistent(const pmix_info_t *p);
PMIX_EXPORT void PMIx_Coord_construct(pmix_coord_t *m);
PMIX_EXPORT void PMIx_Coord_destruct(pmix_coord_t *m);
PMIX_EXPORT pmix_coord_t* PMIx_Coord_create(size_t dims,
size_t number);
PMIX_EXPORT void PMIx_Coord_free(pmix_coord_t *m, size_t number);
PMIX_EXPORT void PMIx_Topology_construct(pmix_topology_t *t);
PMIX_EXPORT void PMIx_Topology_destruct(pmix_topology_t *topo);
PMIX_EXPORT pmix_topology_t* PMIx_Topology_create(size_t n);
PMIX_EXPORT void PMIx_Topology_free(pmix_topology_t *t, size_t n);
PMIX_EXPORT void PMIx_Cpuset_construct(pmix_cpuset_t *cpuset);
PMIX_EXPORT void PMIx_Cpuset_destruct(pmix_cpuset_t *cpuset);
PMIX_EXPORT pmix_cpuset_t* PMIx_Cpuset_create(size_t n);
PMIX_EXPORT void PMIx_Cpuset_free(pmix_cpuset_t *c, size_t n);
PMIX_EXPORT void PMIx_Geometry_construct(pmix_geometry_t *g);
PMIX_EXPORT void PMIx_Geometry_destruct(pmix_geometry_t *g);
PMIX_EXPORT pmix_geometry_t* PMIx_Geometry_create(size_t n);
PMIX_EXPORT void PMIx_Geometry_free(pmix_geometry_t *g, size_t n);
PMIX_EXPORT void PMIx_Device_distance_construct(pmix_device_distance_t *d);
PMIX_EXPORT void PMIx_Device_distance_destruct(pmix_device_distance_t *d);
PMIX_EXPORT pmix_device_distance_t* PMIx_Device_distance_create(size_t n);
PMIX_EXPORT void PMIx_Device_distance_free(pmix_device_distance_t *d, size_t n);
PMIX_EXPORT void PMIx_Byte_object_construct(pmix_byte_object_t *b);
PMIX_EXPORT void PMIx_Byte_object_destruct(pmix_byte_object_t *g);
PMIX_EXPORT pmix_byte_object_t* PMIx_Byte_object_create(size_t n);
PMIX_EXPORT void PMIx_Byte_object_free(pmix_byte_object_t *g, size_t n);
PMIX_EXPORT void PMIx_Byte_object_load(pmix_byte_object_t *b,
char *d, size_t sz);
PMIX_EXPORT void PMIx_Endpoint_construct(pmix_endpoint_t *e);
PMIX_EXPORT void PMIx_Endpoint_destruct(pmix_endpoint_t *e);
PMIX_EXPORT pmix_endpoint_t* PMIx_Endpoint_create(size_t n);
PMIX_EXPORT void PMIx_Endpoint_free(pmix_endpoint_t *e, size_t n);
PMIX_EXPORT void PMIx_Envar_construct(pmix_envar_t *e);
PMIX_EXPORT void PMIx_Envar_destruct(pmix_envar_t *e);
PMIX_EXPORT pmix_envar_t* PMIx_Envar_create(size_t n);
PMIX_EXPORT void PMIx_Envar_free(pmix_envar_t *e, size_t n);
PMIX_EXPORT void PMIx_Envar_load(pmix_envar_t *e,
char *var,
char *value,
char separator);
PMIX_EXPORT void PMIx_Data_buffer_construct(pmix_data_buffer_t *b);
PMIX_EXPORT void PMIx_Data_buffer_destruct(pmix_data_buffer_t *b);
PMIX_EXPORT pmix_data_buffer_t* PMIx_Data_buffer_create(void);
PMIX_EXPORT void PMIx_Data_buffer_release(pmix_data_buffer_t *b);
PMIX_EXPORT void PMIx_Data_buffer_load(pmix_data_buffer_t *b,
char *bytes, size_t sz);
PMIX_EXPORT void PMIx_Data_buffer_unload(pmix_data_buffer_t *b,
char **bytes, size_t *sz);
PMIX_EXPORT void PMIx_Proc_construct(pmix_proc_t *p);
PMIX_EXPORT void PMIx_Proc_destruct(pmix_proc_t *p);
PMIX_EXPORT pmix_proc_t* PMIx_Proc_create(size_t n);
PMIX_EXPORT void PMIx_Proc_free(pmix_proc_t *p, size_t n);
PMIX_EXPORT void PMIx_Proc_load(pmix_proc_t *p,
char *nspace, pmix_rank_t rank);
PMIX_EXPORT void PMIx_Multicluster_nspace_construct(pmix_nspace_t target,
pmix_nspace_t cluster,
pmix_nspace_t nspace);
PMIX_EXPORT void PMIx_Multicluster_nspace_parse(pmix_nspace_t target,
pmix_nspace_t cluster,
pmix_nspace_t nspace);
PMIX_EXPORT void PMIx_Proc_info_construct(pmix_proc_info_t *p);
PMIX_EXPORT void PMIx_Proc_info_destruct(pmix_proc_info_t *p);
PMIX_EXPORT pmix_proc_info_t* PMIx_Proc_info_create(size_t n);
PMIX_EXPORT void PMIx_Proc_info_free(pmix_proc_info_t *p, size_t n);
PMIX_EXPORT void PMIx_Proc_stats_construct(pmix_proc_stats_t *p);
PMIX_EXPORT void PMIx_Proc_stats_destruct(pmix_proc_stats_t *p);
PMIX_EXPORT pmix_proc_stats_t* PMIx_Proc_stats_create(size_t n);
PMIX_EXPORT void PMIx_Proc_stats_free(pmix_proc_stats_t *p, size_t n);
PMIX_EXPORT void PMIx_Disk_stats_construct(pmix_disk_stats_t *p);
PMIX_EXPORT void PMIx_Disk_stats_destruct(pmix_disk_stats_t *p);
PMIX_EXPORT pmix_disk_stats_t* PMIx_Disk_stats_create(size_t n);
PMIX_EXPORT void PMIx_Disk_stats_free(pmix_disk_stats_t *p, size_t n);
PMIX_EXPORT void PMIx_Net_stats_construct(pmix_net_stats_t *p);
PMIX_EXPORT void PMIx_Net_stats_destruct(pmix_net_stats_t *p);
PMIX_EXPORT pmix_net_stats_t* PMIx_Net_stats_create(size_t n);
PMIX_EXPORT void PMIx_Net_stats_free(pmix_net_stats_t *p, size_t n);
PMIX_EXPORT void PMIx_Pdata_construct(pmix_pdata_t *p);
PMIX_EXPORT void PMIx_Pdata_destruct(pmix_pdata_t *p);
PMIX_EXPORT pmix_pdata_t* PMIx_Pdata_create(size_t n);
PMIX_EXPORT void PMIx_Pdata_free(pmix_pdata_t *p, size_t n);
PMIX_EXPORT void PMIx_App_construct(pmix_app_t *p);
PMIX_EXPORT void PMIx_App_destruct(pmix_app_t *p);
PMIX_EXPORT pmix_app_t* PMIx_App_create(size_t n);
PMIX_EXPORT void PMIx_App_info_create(pmix_app_t *p, size_t n);
PMIX_EXPORT void PMIx_App_free(pmix_app_t *p, size_t n);
PMIX_EXPORT void PMIx_App_release(pmix_app_t *p);
PMIX_EXPORT void* PMIx_Info_list_start(void);
PMIX_EXPORT pmix_status_t PMIx_Info_list_add(void *ptr,
const char *key,
const void *value,
pmix_data_type_t type);
PMIX_EXPORT pmix_status_t PMIx_Info_list_prepend(void *ptr,
const char *key,
const void *value,
pmix_data_type_t type);
PMIX_EXPORT pmix_status_t PMIx_Info_list_insert(void *ptr, pmix_info_t *info);
PMIX_EXPORT pmix_status_t PMIx_Info_list_xfer(void *ptr,
const pmix_info_t *info);
PMIX_EXPORT pmix_status_t PMIx_Info_list_convert(void *ptr, pmix_data_array_t *par);
PMIX_EXPORT void PMIx_Info_list_release(void *ptr);
PMIX_EXPORT pmix_info_t* PMIx_Info_list_get_info(void *ptr, void *prev, void **next);
#endif
#if defined(c_plusplus) || defined(__cplusplus)
}
#endif
#endif