OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

orte_dt_support.h
Go to the documentation of this file.
1 /*
2 * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
3 * University Research and Technology
4 * Corporation. All rights reserved.
5 * Copyright (c) 2004-2011 The University of Tennessee and The University
6 * of Tennessee Research Foundation. All rights
7 * reserved.
8 * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
9 * University of Stuttgart. All rights reserved.
10 * Copyright (c) 2004-2005 The Regents of the University of California.
11 * All rights reserved.
12 * $COPYRIGHT$
13 *
14 * Additional copyrights may follow
15 *
16 * $HEADER$
17 */
18 /** @file:
19 */
20
21 #ifndef ORTE_DT_SUPPORT_H
22 #define ORTE_DT_SUPPORT_H
23
24 /*
25 * includes
26 */
27 #include "orte_config.h"
28 #include "orte/constants.h"
29 #include "orte/types.h"
30
31 #include "opal/dss/dss_types.h"
32 #include "orte/mca/grpcomm/grpcomm_types.h"
33 #include "orte/mca/odls/odls_types.h"
34 #include "orte/mca/plm/plm_types.h"
35 #include "orte/mca/rmaps/rmaps_types.h"
36 #include "orte/mca/rml/rml_types.h"
37 #include "orte/mca/iof/iof_types.h"
38
39 #include "orte/runtime/orte_globals.h"
40
41
42 BEGIN_C_DECLS
43
44 /** Data type compare functions */
45 int orte_dt_compare_std_cntr(orte_std_cntr_t *value1, orte_std_cntr_t *value2, opal_data_type_t type);
46 int orte_dt_compare_name(orte_process_name_t *value1,
47 orte_process_name_t *value2,
48 opal_data_type_t type);
49 int orte_dt_compare_jobid(orte_jobid_t *value1,
50 orte_jobid_t *value2,
51 opal_data_type_t type);
52 int orte_dt_compare_vpid(orte_vpid_t *value1,
53 orte_vpid_t *value2,
54 opal_data_type_t type);
55 #if ORTE_ENABLE_EPOCH
56 int orte_dt_compare_epoch(orte_epoch_t *value1,
57 orte_epoch_t *value2,
58 opal_data_type_t type);
59 #define ORTE_EPOCH_CMP(n,m) ( (m) - (n) )
60 #else
61 #define ORTE_EPOCH_CMP(n,m) ( 0 )
62 #endif
63 #if !ORTE_DISABLE_FULL_SUPPORT
64 int orte_dt_compare_job(orte_job_t *value1, orte_job_t *value2, opal_data_type_t type);
65 int orte_dt_compare_node(orte_node_t *value1, orte_node_t *value2, opal_data_type_t type);
66 int orte_dt_compare_proc(orte_proc_t *value1, orte_proc_t *value2, opal_data_type_t type);
67 int orte_dt_compare_app_context(orte_app_context_t *value1, orte_app_context_t *value2, opal_data_type_t type);
68 int orte_dt_compare_exit_code(orte_exit_code_t *value1,
69 orte_exit_code_t *value2,
70 opal_data_type_t type);
71 int orte_dt_compare_node_state(orte_node_state_t *value1,
72 orte_node_state_t *value2,
73 orte_node_state_t type);
74 int orte_dt_compare_proc_state(orte_proc_state_t *value1,
75 orte_proc_state_t *value2,
76 orte_proc_state_t type);
77 int orte_dt_compare_job_state(orte_job_state_t *value1,
78 orte_job_state_t *value2,
79 orte_job_state_t type);
80 int orte_dt_compare_map(orte_job_map_t *value1, orte_job_map_t *value2, opal_data_type_t type);
81 int orte_dt_compare_tags(orte_rml_tag_t *value1,
82 orte_rml_tag_t *value2,
83 opal_data_type_t type);
84 int orte_dt_compare_daemon_cmd(orte_daemon_cmd_flag_t *value1, orte_daemon_cmd_flag_t *value2, opal_data_type_t type);
85 int orte_dt_compare_grpcomm_mode(orte_grpcomm_mode_t *value1, orte_grpcomm_mode_t *value2, opal_data_type_t type);
86 int orte_dt_compare_iof_tag(orte_iof_tag_t *value1, orte_iof_tag_t *value2, opal_data_type_t type);
87 #endif
88
89 /** Data type copy functions */
90 int orte_dt_copy_std_cntr(orte_std_cntr_t **dest, orte_std_cntr_t *src, opal_data_type_t type);
91 int orte_dt_copy_name(orte_process_name_t **dest, orte_process_name_t *src, opal_data_type_t type);
92 int orte_dt_copy_jobid(orte_jobid_t **dest, orte_jobid_t *src, opal_data_type_t type);
93 int orte_dt_copy_vpid(orte_vpid_t **dest, orte_vpid_t *src, opal_data_type_t type);
94 #if ORTE_ENABLE_EPOCH
95 int orte_dt_copy_epoch(orte_epoch_t **dest, orte_epoch_t *src, opal_data_type_t type);
96 #endif
97 #if !ORTE_DISABLE_FULL_SUPPORT
98 int orte_dt_copy_job(orte_job_t **dest, orte_job_t *src, opal_data_type_t type);
99 int orte_dt_copy_node(orte_node_t **dest, orte_node_t *src, opal_data_type_t type);
100 int orte_dt_copy_proc(orte_proc_t **dest, orte_proc_t *src, opal_data_type_t type);
101 int orte_dt_copy_app_context(orte_app_context_t **dest, orte_app_context_t *src, opal_data_type_t type);
102 int orte_dt_copy_proc_state(orte_proc_state_t **dest, orte_proc_state_t *src, opal_data_type_t type);
103 int orte_dt_copy_job_state(orte_job_state_t **dest, orte_job_state_t *src, opal_data_type_t type);
104 int orte_dt_copy_node_state(orte_node_state_t **dest, orte_node_state_t *src, opal_data_type_t type);
105 int orte_dt_copy_exit_code(orte_exit_code_t **dest, orte_exit_code_t *src, opal_data_type_t type);
106 int orte_dt_copy_map(orte_job_map_t **dest, orte_job_map_t *src, opal_data_type_t type);
107 int orte_dt_copy_tag(orte_rml_tag_t **dest,
108 orte_rml_tag_t *src,
109 opal_data_type_t type);
110 int orte_dt_copy_daemon_cmd(orte_daemon_cmd_flag_t **dest, orte_daemon_cmd_flag_t *src, opal_data_type_t type);
111 int orte_dt_copy_grpcomm_mode(orte_grpcomm_mode_t **dest, orte_grpcomm_mode_t *src, opal_data_type_t type);
112 int orte_dt_copy_iof_tag(orte_iof_tag_t **dest, orte_iof_tag_t *src, opal_data_type_t type);
113 #endif
114
115 /** Data type pack functions */
116 int orte_dt_pack_std_cntr(opal_buffer_t *buffer, const void *src,
117 int32_t num_vals, opal_data_type_t type);
118 int orte_dt_pack_jobid(opal_buffer_t *buffer, const void *src,
119 int32_t num_vals, opal_data_type_t type);
120 int orte_dt_pack_name(opal_buffer_t *buffer, const void *src,
121 int32_t num_vals, opal_data_type_t type);
122 int orte_dt_pack_jobid(opal_buffer_t *buffer, const void *src,
123 int32_t num_vals, opal_data_type_t type);
124 int orte_dt_pack_vpid(opal_buffer_t *buffer, const void *src,
125 int32_t num_vals, opal_data_type_t type);
126 #if ORTE_ENABLE_EPOCH
127 int orte_dt_pack_epoch(opal_buffer_t *buffer, const void *src,
128 int32_t num_vals, opal_data_type_t type);
129 #endif
130 #if !ORTE_DISABLE_FULL_SUPPORT
131 int orte_dt_pack_job(opal_buffer_t *buffer, const void *src,
132 int32_t num_vals, opal_data_type_t type);
133 int orte_dt_pack_node(opal_buffer_t *buffer, const void *src,
134 int32_t num_vals, opal_data_type_t type);
135 int orte_dt_pack_proc(opal_buffer_t *buffer, const void *src,
136 int32_t num_vals, opal_data_type_t type);
137 int orte_dt_pack_app_context(opal_buffer_t *buffer, const void *src,
138 int32_t num_vals, opal_data_type_t type);
139 int orte_dt_pack_exit_code(opal_buffer_t *buffer, const void *src,
140 int32_t num_vals, opal_data_type_t type);
141 int orte_dt_pack_node_state(opal_buffer_t *buffer, const void *src,
142 int32_t num_vals, opal_data_type_t type);
143 int orte_dt_pack_proc_state(opal_buffer_t *buffer, const void *src,
144 int32_t num_vals, opal_data_type_t type);
145 int orte_dt_pack_job_state(opal_buffer_t *buffer, const void *src,
146 int32_t num_vals, opal_data_type_t type);
147 int orte_dt_pack_map(opal_buffer_t *buffer, const void *src,
148 int32_t num_vals, opal_data_type_t type);
149 int orte_dt_pack_tag(opal_buffer_t *buffer,
150 const void *src,
151 int32_t num_vals,
152 opal_data_type_t type);
153 int orte_dt_pack_daemon_cmd(opal_buffer_t *buffer, const void *src,
154 int32_t num_vals, opal_data_type_t type);
155 int orte_dt_pack_grpcomm_mode(opal_buffer_t *buffer, const void *src,
156 int32_t num_vals, opal_data_type_t type);
157 int orte_dt_pack_iof_tag(opal_buffer_t *buffer, const void *src, int32_t num_vals,
158 opal_data_type_t type);
159 #endif
160
161 /** Data type print functions */
162 int orte_dt_std_print(char **output, char *prefix, void *src, opal_data_type_t type);
163 int orte_dt_print_name(char **output, char *prefix, orte_process_name_t *name, opal_data_type_t type);
164 int orte_dt_print_job(char **output, char *prefix, orte_job_t *src, opal_data_type_t type);
165 #if !ORTE_DISABLE_FULL_SUPPORT
166 int orte_dt_print_node(char **output, char *prefix, orte_node_t *src, opal_data_type_t type);
167 int orte_dt_print_proc(char **output, char *prefix, orte_proc_t *src, opal_data_type_t type);
168 int orte_dt_print_app_context(char **output, char *prefix, orte_app_context_t *src, opal_data_type_t type);
169 int orte_dt_print_map(char **output, char *prefix, orte_job_map_t *src, opal_data_type_t type);
170 #endif
171
172 /** Data type release functions */
173 void orte_dt_std_obj_release(opal_dss_value_t *value);
174 void orte_dt_std_release(opal_dss_value_t *value);
175
176 /** Data type size functions */
177 int orte_dt_std_size(size_t *size, void *src, opal_data_type_t type);
178 #if !ORTE_DISABLE_FULL_SUPPORT
179 int orte_dt_size_job(size_t *size, orte_job_t *src, opal_data_type_t type);
180 int orte_dt_size_node(size_t *size, orte_node_t *src, opal_data_type_t type);
181 int orte_dt_size_proc(size_t *size, orte_proc_t *src, opal_data_type_t type);
182 int orte_dt_size_app_context(size_t *size, orte_app_context_t *src, opal_data_type_t type);
183 int orte_dt_size_map(size_t *size, orte_job_map_t *src, opal_data_type_t type);
184 #endif
185
186 /** Data type unpack functions */
187 int orte_dt_unpack_std_cntr(opal_buffer_t *buffer, void *dest,
188 int32_t *num_vals, opal_data_type_t type);
189 int orte_dt_unpack_name(opal_buffer_t *buffer, void *dest,
190 int32_t *num_vals, opal_data_type_t type);
191 int orte_dt_unpack_jobid(opal_buffer_t *buffer, void *dest,
192 int32_t *num_vals, opal_data_type_t type);
193 int orte_dt_unpack_vpid(opal_buffer_t *buffer, void *dest,
194 int32_t *num_vals, opal_data_type_t type);
195 #if ORTE_ENABLE_EPOCH
196 int orte_dt_unpack_epoch(opal_buffer_t *buffer, void *dest,
197 int32_t *num_vals, opal_data_type_t type);
198 #endif
199 #if !ORTE_DISABLE_FULL_SUPPORT
200 int orte_dt_unpack_job(opal_buffer_t *buffer, void *dest,
201 int32_t *num_vals, opal_data_type_t type);
202 int orte_dt_unpack_node(opal_buffer_t *buffer, void *dest,
203 int32_t *num_vals, opal_data_type_t type);
204 int orte_dt_unpack_proc(opal_buffer_t *buffer, void *dest,
205 int32_t *num_vals, opal_data_type_t type);
206 int orte_dt_unpack_app_context(opal_buffer_t *buffer, void *dest,
207 int32_t *num_vals, opal_data_type_t type);
208 int orte_dt_unpack_exit_code(opal_buffer_t *buffer, void *dest,
209 int32_t *num_vals, opal_data_type_t type);
210 int orte_dt_unpack_node_state(opal_buffer_t *buffer, void *dest,
211 int32_t *num_vals, opal_data_type_t type);
212 int orte_dt_unpack_proc_state(opal_buffer_t *buffer, void *dest,
213 int32_t *num_vals, opal_data_type_t type);
214 int orte_dt_unpack_job_state(opal_buffer_t *buffer, void *dest,
215 int32_t *num_vals, opal_data_type_t type);
216 int orte_dt_unpack_map(opal_buffer_t *buffer, void *dest,
217 int32_t *num_vals, opal_data_type_t type);
218 int orte_dt_unpack_tag(opal_buffer_t *buffer,
219 void *dest,
220 int32_t *num_vals,
221 opal_data_type_t type);
222 int orte_dt_unpack_daemon_cmd(opal_buffer_t *buffer, void *dest,
223 int32_t *num_vals, opal_data_type_t type);
224 int orte_dt_unpack_grpcomm_mode(opal_buffer_t *buffer, void *dest,
225 int32_t *num_vals, opal_data_type_t type);
226 int orte_dt_unpack_iof_tag(opal_buffer_t *buffer, void *dest, int32_t *num_vals,
227 opal_data_type_t type);
228 #endif
229
230 END_C_DECLS
231
232 #endif
orte_app_context_t
Information about a specific application to be launched in the RTE.
Definition: orte_globals.h:196
rmaps_types.h
orte_dt_std_print
int orte_dt_std_print(char **output, char *prefix, void *src, opal_data_type_t type)
Data type print functions.
Definition: orte_dt_print_fns.c:118
orte_dt_compare_job
int orte_dt_compare_job(orte_job_t *value1, orte_job_t *value2, opal_data_type_t type)
JOB.
Definition: orte_dt_compare_fns.c:148
orte_jobid_t
uint32_t orte_jobid_t
Set the allowed range for ids in each space.
Definition: types.h:76
iof_types.h
orte_process_name_t
Definition: types.h:146
orte_std_cntr_t
int32_t orte_std_cntr_t
Supported datatypes for messaging and storage operations.
Definition: types.h:34
odls_types.h
orte_dt_compare_vpid
int orte_dt_compare_vpid(orte_vpid_t *value1, orte_vpid_t *value2, opal_data_type_t type)
Definition: orte_dt_compare_fns.c:97
orte_dt_pack_std_cntr
int orte_dt_pack_std_cntr(opal_buffer_t *buffer, const void *src, int32_t num_vals, opal_data_type_t type)
Data type pack functions.
Definition: orte_dt_packing_fns.c:39
orte_dt_compare_std_cntr
BEGIN_C_DECLS int orte_dt_compare_std_cntr(orte_std_cntr_t *value1, orte_std_cntr_t *value2, opal_data_type_t type)
Data type compare functions.
Definition: orte_dt_compare_fns.c:27
orte_dt_copy_job
int orte_dt_copy_job(orte_job_t **dest, orte_job_t *src, opal_data_type_t type)
JOB.
Definition: orte_dt_copy_fns.c:134
types.h
orte_dt_unpack_std_cntr
int orte_dt_unpack_std_cntr(opal_buffer_t *buffer, void *dest, int32_t *num_vals, opal_data_type_t type)
Data type unpack functions.
Definition: orte_dt_unpacking_fns.c:35
orte_proc_t
Definition: orte_globals.h:386
orte_dt_compare_node
int orte_dt_compare_node(orte_node_t *value1, orte_node_t *value2, opal_data_type_t type)
NODE.
Definition: orte_dt_compare_fns.c:160
opal_dss_value_t
Definition: dss_types.h:89
orte_dt_copy_std_cntr
int orte_dt_copy_std_cntr(orte_std_cntr_t **dest, orte_std_cntr_t *src, opal_data_type_t type)
Data type copy functions.
Definition: orte_dt_copy_fns.c:35
orte_dt_copy_node
int orte_dt_copy_node(orte_node_t **dest, orte_node_t *src, opal_data_type_t type)
NODE.
Definition: orte_dt_copy_fns.c:145
orte_dt_std_size
int orte_dt_std_size(size_t *size, void *src, opal_data_type_t type)
Data type size functions.
Definition: orte_dt_size_fns.c:41
dss_types.h
Buffer management types.
orte_dt_compare_proc
int orte_dt_compare_proc(orte_proc_t *value1, orte_proc_t *value2, opal_data_type_t type)
PROC.
Definition: orte_dt_compare_fns.c:175
orte_dt_copy_proc
int orte_dt_copy_proc(orte_proc_t **dest, orte_proc_t *src, opal_data_type_t type)
PROC.
Definition: orte_dt_copy_fns.c:155
orte_rml_tag_t
uint32_t orte_rml_tag_t
Message matching tag.
Definition: rml_types.h:220
orte_job_t
Definition: orte_globals.h:316
orte_job_map_t
Definition: rmaps_types.h:47
orte_globals.h
Global params for OpenRTE.
grpcomm_types.h
The OpenRTE Group Communications.
opal_buffer_t
Structure for holding a buffer to be used with the RML or OOB subsystems.
Definition: dss_types.h:159
orte_dt_compare_name
int orte_dt_compare_name(orte_process_name_t *value1, orte_process_name_t *value2, opal_data_type_t type)
Definition: orte_dt_compare_fns.c:36
orte_node_t
Definition: orte_globals.h:254
orte_dt_std_obj_release
void orte_dt_std_obj_release(opal_dss_value_t *value)
Data type release functions.
Definition: orte_dt_release_fns.c:24
rml_types.h
Contains the typedefs for the use of the rml.
orte_dt_compare_jobid
int orte_dt_compare_jobid(orte_jobid_t *value1, orte_jobid_t *value2, opal_data_type_t type)
Definition: orte_dt_compare_fns.c:112