UCX  1.5
Unified Communication X
ucp_def.h
1 /*
2 * Copyright (C) Mellanox Technologies Ltd. 2001-2014. ALL RIGHTS RESERVED.
3 * Copyright (C) UT-Battelle, LLC. 2014-2015. ALL RIGHTS RESERVED.
4 * Copyright (C) IBM 2015. ALL RIGHTS RESERVED.
5 *
6 * See file LICENSE for terms.
7 */
8 
9 #ifndef UCP_DEF_H_
10 #define UCP_DEF_H_
11 
12 #include <ucs/type/status.h>
13 #include <ucs/config/types.h>
14 #include <stddef.h>
15 #include <stdint.h>
16 
17 
28 
29 
50 typedef struct ucp_context *ucp_context_h;
51 
52 
67 typedef struct ucp_config ucp_config_t;
68 
69 
82 typedef struct ucp_ep *ucp_ep_h;
83 
84 
92 typedef struct ucp_conn_request *ucp_conn_request_h;
93 
94 
102 typedef struct ucp_address ucp_address_t;
103 
104 
111 typedef enum {
130 
131 
142 typedef struct ucp_rkey *ucp_rkey_h;
143 
144 
157 typedef struct ucp_mem *ucp_mem_h;
158 
159 
167 typedef struct ucp_listener *ucp_listener_h;
168 
169 
175 typedef struct ucp_mem_attr {
181  uint64_t field_mask;
182 
186  void *address;
187 
191  size_t length;
193 
194 
205 };
206 
207 
230  typedef struct ucp_worker *ucp_worker_h;
231 
232 
241 typedef uint64_t ucp_tag_t;
242 
243 
252 typedef struct ucp_recv_desc *ucp_tag_message_h;
253 
254 
262 typedef uint64_t ucp_datatype_t;
263 
264 
273 typedef void (*ucp_request_init_callback_t)(void *request);
274 
275 
285 typedef void (*ucp_request_cleanup_callback_t)(void *request);
286 
287 
303 typedef void (*ucp_send_callback_t)(void *request, ucs_status_t status);
304 
305 
319 typedef void (*ucp_err_handler_cb_t)(void *arg, ucp_ep_h ep, ucs_status_t status);
320 
321 
328 typedef struct ucp_err_handler {
331  void *arg;
336 
337 
352 typedef void (*ucp_listener_accept_callback_t)(ucp_ep_h ep, void *arg);
353 
354 
368 typedef void
370 
371 
390  void *arg;
393 
394 
410 typedef void (*ucp_stream_recv_callback_t)(void *request, ucs_status_t status,
411  size_t length);
412 
413 
433 typedef void (*ucp_tag_recv_callback_t)(void *request, ucs_status_t status,
434  ucp_tag_recv_info_t *info);
435 
450  UCP_WAKEUP_RMA = UCS_BIT(0),
451  UCP_WAKEUP_AMO = UCS_BIT(1),
452  UCP_WAKEUP_TAG_SEND = UCS_BIT(2),
453  UCP_WAKEUP_TAG_RECV = UCS_BIT(3),
454  UCP_WAKEUP_TX = UCS_BIT(10),
461  UCP_WAKEUP_RX = UCS_BIT(11),
466  UCP_WAKEUP_EDGE = UCS_BIT(16)
471 
472 
480 typedef struct ucp_ep_params {
487  uint64_t field_mask;
488 
496 
502 
507 
512  void *user_data;
513 
521  unsigned flags;
522 
531 
541 
543 
544 
545 #endif
Tuning parameters for the UCP endpoint.
Definition: ucp_def.h:480
Definition: ucp_def.h:120
UCP receive information descriptor.
Definition: ucp.h:937
struct ucp_mem * ucp_mem_h
UCP Memory handle.
Definition: ucp_def.h:157
UCP endpoint error handling context.
Definition: ucp_def.h:328
void(* ucp_tag_recv_callback_t)(void *request, ucs_status_t status, ucp_tag_recv_info_t *info)
Completion callback for non-blocking tag receives.
Definition: ucp_def.h:433
uint64_t ucp_datatype_t
UCP Datatype Identifier.
Definition: ucp_def.h:262
void(* ucp_stream_recv_callback_t)(void *request, ucs_status_t status, size_t length)
Completion callback for non-blocking stream oriented receives.
Definition: ucp_def.h:410
ucp_wakeup_event_types
UCP worker wakeup events mask.
Definition: ucp_def.h:449
struct ucp_mem_attr ucp_mem_attr_t
Attributes of the UCP Memory handle, filled by ucp_mem_query function.
uint64_t field_mask
Definition: ucp_def.h:181
void(* ucp_listener_conn_callback_t)(ucp_conn_request_h conn_request, void *arg)
A callback for handling of incoming connection request conn_request from a client.
Definition: ucp_def.h:369
struct ucp_context * ucp_context_h
UCP Application Context.
Definition: ucp_def.h:50
ucs_sock_addr_t sockaddr
Definition: ucp_def.h:530
struct ucp_conn_request * ucp_conn_request_h
UCP connection request.
Definition: ucp_def.h:92
unsigned flags
Definition: ucp_def.h:521
Definition: ucp_def.h:454
ucp_err_handler_cb_t cb
Definition: ucp_def.h:329
void(* ucp_err_handler_cb_t)(void *arg, ucp_ep_h ep, ucs_status_t status)
Callback to process peer failure.
Definition: ucp_def.h:319
Definition: ucp_def.h:203
struct ucp_listener * ucp_listener_h
UCP listen handle.
Definition: ucp_def.h:167
void(* ucp_request_cleanup_callback_t)(void *request)
Request cleanup callback.
Definition: ucp_def.h:285
struct ucp_listener_conn_handler ucp_listener_conn_handler_t
UCP callback to handle the connection request in a client-server connection establishment flow...
void * arg
Definition: ucp_def.h:390
Definition: ucp_def.h:204
ucp_listener_conn_callback_t cb
Definition: ucp_def.h:389
Attributes of the UCP Memory handle, filled by ucp_mem_query function.
Definition: ucp_def.h:175
void * arg
Definition: ucp_def.h:331
uint64_t field_mask
Definition: ucp_def.h:487
ucp_mem_attr_field
UCP Memory handle attributes field mask.
Definition: ucp_def.h:202
Definition: ucp_def.h:450
void(* ucp_request_init_callback_t)(void *request)
Request initialization callback.
Definition: ucp_def.h:273
struct ucp_ep_params ucp_ep_params_t
Tuning parameters for the UCP endpoint.
Definition: ucp_def.h:461
ucs_status_t
Status codes.
Definition: status.h:43
struct ucp_address ucp_address_t
UCP worker address.
Definition: ucp_def.h:102
void(* ucp_send_callback_t)(void *request, ucs_status_t status)
Completion callback for non-blocking sends.
Definition: ucp_def.h:303
ucp_conn_request_h conn_request
Definition: ucp_def.h:540
struct ucp_config ucp_config_t
UCP configuration descriptor.
Definition: ucp_def.h:67
struct ucp_recv_desc * ucp_tag_message_h
UCP Message descriptor.
Definition: ucp_def.h:252
Definition: ucp_def.h:466
void(* ucp_listener_accept_callback_t)(ucp_ep_h ep, void *arg)
A callback for accepting client/server connections on a listener ucp_listener_h.
Definition: ucp_def.h:352
size_t length
Definition: ucp_def.h:191
void * address
Definition: ucp_def.h:186
uint64_t ucp_tag_t
UCP Tag Identifier.
Definition: ucp_def.h:241
const ucp_address_t * address
Definition: ucp_def.h:495
struct ucp_err_handler ucp_err_handler_t
UCP endpoint error handling context.
ucp_err_handling_mode_t err_mode
Definition: ucp_def.h:501
Definition: ucp_def.h:451
enum ucp_wakeup_event_types ucp_wakeup_event_t
UCP worker wakeup events mask.
ucp_err_handler_t err_handler
Definition: ucp_def.h:506
struct ucp_worker * ucp_worker_h
UCP Worker.
Definition: ucp_def.h:230
void * user_data
Definition: ucp_def.h:512
Definition: ucp_def.h:453
ucp_err_handling_mode_t
Error handling mode for the UCP endpoint.
Definition: ucp_def.h:111
Definition: types.h:110
struct ucp_ep * ucp_ep_h
UCP Endpoint.
Definition: ucp_def.h:82
UCP callback to handle the connection request in a client-server connection establishment flow...
Definition: ucp_def.h:388
struct ucp_rkey * ucp_rkey_h
UCP Remote memory handle.
Definition: ucp_def.h:142
Definition: ucp_def.h:452
Definition: ucp_def.h:112