UCX  1.7
Unified Communication X
uct_def.h
1 
7 #ifndef UCT_DEF_H_
8 #define UCT_DEF_H_
9 
10 #include <ucs/config/types.h>
11 #include <ucs/type/status.h>
12 
13 #include <stddef.h>
14 #include <stdint.h>
15 #include <sys/types.h>
16 
17 
18 #define UCT_COMPONENT_NAME_MAX 16
19 #define UCT_TL_NAME_MAX 10
20 #define UCT_MD_NAME_MAX 16
21 #define UCT_DEVICE_NAME_MAX 32
22 #define UCT_PENDING_REQ_PRIV_LEN 40
23 #define UCT_TAG_PRIV_LEN 32
24 #define UCT_AM_ID_BITS 5
25 #define UCT_AM_ID_MAX UCS_BIT(UCT_AM_ID_BITS)
26 #define UCT_MEM_HANDLE_NULL NULL
27 #define UCT_INVALID_RKEY ((uintptr_t)(-1))
28 #define UCT_INLINE_API static UCS_F_ALWAYS_INLINE
29 
30 
41 };
42 
43 
64 };
65 
70 typedef struct uct_component *uct_component_h;
71 typedef struct uct_iface *uct_iface_h;
72 typedef struct uct_iface_config uct_iface_config_t;
73 typedef struct uct_md_config uct_md_config_t;
74 typedef struct uct_ep *uct_ep_h;
75 typedef void * uct_mem_h;
76 typedef uintptr_t uct_rkey_t;
77 typedef struct uct_md *uct_md_h;
78 typedef struct uct_md_ops uct_md_ops_t;
79 typedef void *uct_rkey_ctx_h;
82 typedef struct uct_md_attr uct_md_attr_t;
85 typedef struct uct_worker *uct_worker_h;
86 typedef struct uct_md uct_md_t;
88 typedef struct uct_device_addr uct_device_addr_t;
89 typedef struct uct_iface_addr uct_iface_addr_t;
90 typedef struct uct_ep_addr uct_ep_addr_t;
92 typedef struct uct_cm_attr uct_cm_attr_t;
93 typedef struct uct_cm uct_cm_t;
94 typedef uct_cm_t *uct_cm_h;
96 typedef struct uct_listener *uct_listener_h;
99 typedef uint64_t uct_tag_t; /* tag type - 64 bit */
100 typedef int uct_worker_cb_id_t;
101 typedef void* uct_conn_request_h;
102 
136 typedef struct uct_iov {
137  void *buffer;
138  size_t length;
140  size_t stride;
142  unsigned count;
143 } uct_iov_t;
144 
145 
156 
159 
162 
165 };
166 
167 
175 typedef struct uct_cm_remote_data {
181  uint64_t field_mask;
182 
187 
192 
197  const void *conn_priv_data;
198 
204 
205 
232 typedef ucs_status_t (*uct_am_callback_t)(void *arg, void *data, size_t length,
233  unsigned flags);
234 
235 
250 typedef void (*uct_am_tracer_t)(void *arg, uct_am_trace_type_t type, uint8_t id,
251  const void *data, size_t length, char *buffer,
252  size_t max);
253 
254 
264  ucs_status_t status);
265 
266 
282 
283 
299 typedef ucs_status_t (*uct_error_handler_t)(void *arg, uct_ep_h ep,
300  ucs_status_t status);
301 
302 
312  void *arg);
313 
323 typedef size_t (*uct_pack_callback_t)(void *dest, void *arg);
324 
325 
336 typedef void (*uct_unpack_callback_t)(void *arg, const void *data, size_t length);
337 
338 
366 typedef void
368  uct_conn_request_h conn_request,
369  const void *conn_priv_data,
370  size_t length);
371 
372 
397 typedef void
399  const char *local_dev_name,
400  uct_conn_request_h conn_request,
401  const uct_cm_remote_data_t *remote_data);
402 
403 
423 typedef void (*uct_ep_server_connect_cb_t)(uct_ep_h ep, void *arg,
424  ucs_status_t status);
425 
426 
445 typedef void (*uct_ep_client_connect_cb_t)(uct_ep_h ep, void *arg,
446  const uct_cm_remote_data_t *remote_data,
447  ucs_status_t status);
448 
449 
467 typedef void (*uct_ep_disconnect_cb_t)(uct_ep_h ep, void *arg);
468 
469 
499 typedef ssize_t (*uct_sockaddr_priv_pack_callback_t)(void *arg,
500  const char *dev_name,
501  void *priv_data);
502 
503 
533 typedef ucs_status_t (*uct_tag_unexp_eager_cb_t)(void *arg, void *data,
534  size_t length, unsigned flags,
535  uct_tag_t stag, uint64_t imm);
536 
537 
569 typedef ucs_status_t (*uct_tag_unexp_rndv_cb_t)(void *arg, unsigned flags,
570  uint64_t stag, const void *header,
571  unsigned header_length,
572  uint64_t remote_addr, size_t length,
573  const void *rkey_buf);
574 
575 
576 #endif
struct uct_md uct_md_t
Definition: uct_def.h:86
Definition: uct_def.h:155
uct_am_trace_type
Trace types for active message tracer.
Definition: uct_def.h:35
struct uct_cm_remote_data uct_cm_remote_data_t
Data received from the remote peer.
void * uct_mem_h
Definition: uct_def.h:75
void(* uct_sockaddr_conn_request_callback_t)(uct_iface_h iface, void *arg, uct_conn_request_h conn_request, const void *conn_priv_data, size_t length)
Callback to process an incoming connection request on the server side.
Definition: uct_def.h:367
Structure for scatter-gather I/O.
Definition: uct_def.h:136
size_t conn_priv_data_length
Definition: uct_def.h:202
void(* uct_ep_disconnect_cb_t)(uct_ep_h ep, void *arg)
Callback to handle the disconnection of the remote peer.
Definition: uct_def.h:467
struct uct_md_ops uct_md_ops_t
Definition: uct_def.h:78
struct uct_iov uct_iov_t
Structure for scatter-gather I/O.
Parameters used for interface creation.
Definition: uct.h:949
struct uct_md_config uct_md_config_t
Definition: uct_def.h:73
void(* uct_pending_purge_callback_t)(uct_pending_req_t *self, void *arg)
Callback to purge pending requests.
Definition: uct_def.h:311
uct_cm_t * uct_cm_h
Definition: uct_def.h:94
uct_cb_param_flags
Flags for active message and tag-matching offload callbacks (callback's parameters).
Definition: uct_def.h:62
void * buffer
Definition: uct_def.h:137
UCT listener attributes, capabilities and limitations.
Definition: uct.h:1133
struct uct_worker * uct_worker_h
Definition: uct_def.h:85
Interface attributes: capabilities and limitations.
Definition: uct.h:825
int uct_worker_cb_id_t
Definition: uct_def.h:100
ucs_status_t(* uct_error_handler_t)(void *arg, uct_ep_h ep, ucs_status_t status)
Callback to process peer failure.
Definition: uct_def.h:299
uint64_t field_mask
Definition: uct_def.h:181
struct uct_iface_addr uct_iface_addr_t
Definition: uct_def.h:89
struct uct_ep_addr uct_ep_addr_t
Definition: uct_def.h:90
void(* uct_ep_client_connect_cb_t)(uct_ep_h ep, void *arg, const uct_cm_remote_data_t *remote_data, ucs_status_t status)
Callback to process an incoming connection response on the client side from the server.
Definition: uct_def.h:445
struct uct_md * uct_md_h
Memory domain handler.
Definition: uct_def.h:77
ucs_status_t(* uct_tag_unexp_rndv_cb_t)(void *arg, unsigned flags, uint64_t stag, const void *header, unsigned header_length, uint64_t remote_addr, size_t length, const void *rkey_buf)
Callback to process unexpected rendezvous tagged message.
Definition: uct_def.h:569
Definition: uct_def.h:39
size_t(* uct_pack_callback_t)(void *dest, void *arg)
Callback for producing data.
Definition: uct_def.h:323
const void * conn_priv_data
Definition: uct_def.h:197
size_t length
Definition: uct_def.h:138
ucs_status_t
Status codes.
Definition: status.h:45
void(* uct_ep_server_connect_cb_t)(uct_ep_h ep, void *arg, ucs_status_t status)
Callback to process an incoming connection establishment acknowledgment on the server side listener,...
Definition: uct_def.h:423
Parameters for creating a listener object uct_listener_h by uct_listener_create.
Definition: uct.h:1153
uct_cm_remote_data_field
Remote data attributes field mask.
Definition: uct_def.h:153
Connection manager attributes, capabilities and limitations.
Definition: uct.h:1113
struct uct_listener * uct_listener_h
Definition: uct_def.h:96
void(* uct_unpack_callback_t)(void *arg, const void *data, size_t length)
Callback for consuming data.
Definition: uct_def.h:336
struct uct_component * uct_component_h
Definition: uct_def.h:70
uint64_t uct_tag_t
Definition: uct_def.h:99
struct uct_iface_config uct_iface_config_t
Definition: uct_def.h:72
unsigned count
Definition: uct_def.h:142
Parameters for creating a UCT endpoint by uct_ep_create.
Definition: uct.h:1017
uct_mem_h memh
Definition: uct_def.h:139
Definition: uct_def.h:63
Memory domain attributes.
Definition: uct.h:1187
void * uct_conn_request_h
Definition: uct_def.h:101
size_t dev_addr_length
Definition: uct_def.h:191
void(* uct_listener_conn_request_callback_t)(uct_listener_h listener, void *arg, const char *local_dev_name, uct_conn_request_h conn_request, const uct_cm_remote_data_t *remote_data)
Callback to process an incoming connection request on the server side listener in a connection manage...
Definition: uct_def.h:398
ucs_status_t(* uct_tag_unexp_eager_cb_t)(void *arg, void *data, size_t length, unsigned flags, uct_tag_t stag, uint64_t imm)
Callback to process unexpected eager tagged message.
Definition: uct_def.h:533
void(* uct_am_tracer_t)(void *arg, uct_am_trace_type_t type, uint8_t id, const void *data, size_t length, char *buffer, size_t max)
Callback to trace active messages.
Definition: uct_def.h:250
ucs_status_t(* uct_pending_callback_t)(uct_pending_req_t *self)
Callback to process pending requests.
Definition: uct_def.h:281
Pending request.
Definition: uct.h:1268
size_t stride
Definition: uct_def.h:140
struct uct_iface * uct_iface_h
Definition: uct_def.h:71
const uct_device_addr_t * dev_addr
Definition: uct_def.h:186
struct uct_ep * uct_ep_h
Definition: uct_def.h:74
ssize_t(* uct_sockaddr_priv_pack_callback_t)(void *arg, const char *dev_name, void *priv_data)
Callback to fill the user's private data in a client-server flow.
Definition: uct_def.h:499
Definition: uct_def.h:36
Posted tag context.
Definition: uct.h:1281
Definition: uct_def.h:37
Definition: uct_def.h:38
enum uct_am_trace_type uct_am_trace_type_t
Definition: uct_def.h:87
Completion handle.
Definition: uct.h:1255
void * uct_rkey_ctx_h
Definition: uct_def.h:79
void(* uct_completion_callback_t)(uct_completion_t *self, ucs_status_t status)
Callback to process send completion.
Definition: uct_def.h:263
Definition: uct_def.h:40
struct uct_device_addr uct_device_addr_t
Definition: uct_def.h:88
ucs_status_t(* uct_am_callback_t)(void *arg, void *data, size_t length, unsigned flags)
Callback to process incoming active message.
Definition: uct_def.h:232
uintptr_t uct_rkey_t
Definition: uct_def.h:76
Data received from the remote peer.
Definition: uct_def.h:175
struct uct_cm uct_cm_t
Definition: uct_def.h:93