UCX  1.21
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_MD_GLOBAL_ID_MAX 256
20 #define UCT_TL_NAME_MAX 10
21 #define UCT_MD_NAME_MAX 16
22 #define UCT_DEVICE_NAME_MAX 32
23 #define UCT_PENDING_REQ_PRIV_LEN 40
24 #define UCT_TAG_PRIV_LEN 32
25 #define UCT_AM_ID_BITS 5
26 #define UCT_AM_ID_MAX UCS_BIT(UCT_AM_ID_BITS)
27 #define UCT_MEM_HANDLE_NULL NULL
28 #define UCT_INVALID_RKEY ((uintptr_t)(-1))
29 #define UCT_INLINE_API static UCS_F_ALWAYS_INLINE
30 #define UCT_DMABUF_FD_INVALID -1
31 
32 
43 };
44 
45 
69  UCT_CB_PARAM_FLAG_DESC = UCS_BIT(0),
72 };
73 
78 typedef struct uct_component *uct_component_h;
79 typedef struct uct_iface *uct_iface_h;
80 typedef struct uct_iface_config uct_iface_config_t;
81 typedef struct uct_md_config uct_md_config_t;
82 typedef struct uct_cm_config uct_cm_config_t;
83 typedef struct uct_ep *uct_ep_h;
84 typedef void * uct_mem_h;
85 typedef uintptr_t uct_rkey_t;
86 typedef struct uct_md *uct_md_h;
87 typedef struct uct_md_ops uct_md_ops_t;
88 typedef void *uct_rkey_ctx_h;
91 typedef struct uct_ep_attr uct_ep_attr_t;
92 typedef struct uct_md_attr uct_md_attr_t;
95 typedef struct uct_worker *uct_worker_h;
96 typedef struct uct_md uct_md_t;
98 typedef struct uct_device_addr uct_device_addr_t;
99 typedef struct uct_iface_addr uct_iface_addr_t;
100 typedef struct uct_ep_addr uct_ep_addr_t;
103 typedef struct uct_cm_attr uct_cm_attr_t;
104 typedef struct uct_cm uct_cm_t;
107 typedef struct uct_listener *uct_listener_h;
110 typedef uint64_t uct_tag_t; /* tag type - 64 bit */
111 typedef int uct_worker_cb_id_t;
112 typedef void* uct_conn_request_h;
113 typedef struct uct_device_ep *uct_device_ep_h;
114 typedef union uct_device_mem_element uct_device_mem_element_t;
115 typedef struct uct_device_local_mem_list_elem uct_device_local_mem_list_elem_t;
116 typedef struct uct_device_remote_mem_list_elem uct_device_remote_mem_list_elem_t;
117 
151 typedef struct uct_iov {
152  void *buffer;
153  size_t length;
155  size_t stride;
157  unsigned count;
158 } uct_iov_t;
159 
160 
175 };
176 
177 
190 
195 };
196 
197 
210  uint64_t field_mask;
211 
218  char dev_name[UCT_DEVICE_NAME_MAX];
220 
221 
228 typedef struct uct_cm_ep_resolve_args {
234  uint64_t field_mask;
235 
242  char dev_name[UCT_DEVICE_NAME_MAX];
243 
254 
255 
266 
269 
272 
275 };
276 
277 
285 typedef struct uct_cm_remote_data {
291  uint64_t field_mask;
292 
297 
302 
307  const void *conn_priv_data;
308 
314 
315 
330 
336 
342 
348 };
349 
350 
364  uint64_t field_mask;
365 
369  char dev_name[UCT_DEVICE_NAME_MAX];
370 
377 
382 
388 
389 
401 
404 };
405 
406 
419  uint64_t field_mask;
420 
425 
437 
438 
453 };
454 
455 
468  uint64_t field_mask;
469 
482 
483 
510 typedef ucs_status_t (*uct_am_callback_t)(void *arg, void *data, size_t length,
511  unsigned flags);
512 
513 
528 typedef void (*uct_am_tracer_t)(void *arg, uct_am_trace_type_t type, uint8_t id,
529  const void *data, size_t length, char *buffer,
530  size_t max);
531 
532 
541 
542 
558 
559 
578 typedef ucs_status_t (*uct_error_handler_t)(void *arg, uct_ep_h ep,
579  ucs_status_t status);
580 
581 
591  void *arg);
592 
602 typedef size_t (*uct_pack_callback_t)(void *dest, void *arg);
603 
604 
615 typedef void (*uct_unpack_callback_t)(void *arg, const void *data, size_t length);
616 
617 
645 typedef void
647  uct_conn_request_h conn_request,
648  const void *conn_priv_data,
649  size_t length);
650 
651 
670 typedef void
673  *conn_req_args);
674 
675 
701  (uct_ep_h ep, void *arg,
702  const uct_cm_ep_server_conn_notify_args_t *connect_args);
703 
704 
725 typedef void (*uct_cm_ep_client_connect_callback_t)(uct_ep_h ep, void *arg,
727  *connect_args);
728 
729 
747 typedef void (*uct_ep_disconnect_cb_t)(uct_ep_h ep, void *arg);
748 
749 
774 typedef ssize_t
777  *pack_args, void *priv_data);
778 
779 
798 typedef ucs_status_t
799 (*uct_cm_ep_resolve_callback_t)(void *user_data,
800  const uct_cm_ep_resolve_args_t *resolve_args);
801 
802 
849 typedef ucs_status_t (*uct_tag_unexp_eager_cb_t)(void *arg, void *data,
850  size_t length, unsigned flags,
851  uct_tag_t stag, uint64_t imm,
852  void **context);
853 
854 
886 typedef ucs_status_t (*uct_tag_unexp_rndv_cb_t)(void *arg, unsigned flags,
887  uint64_t stag, const void *header,
888  unsigned header_length,
889  uint64_t remote_addr, size_t length,
890  const void *rkey_buf);
891 
892 
901 typedef void (*uct_async_event_cb_t)(void *arg, unsigned flags);
902 
903 
904 #endif
Definition: uct_def.h:70
union uct_device_mem_element uct_device_mem_element_t
Definition: uct_def.h:114
struct uct_cm_ep_client_connect_args uct_cm_ep_client_connect_args_t
Arguments to the client&#39;s connect callback.
struct uct_md uct_md_t
Definition: uct_def.h:96
Definition: uct_def.h:265
uct_am_trace_type
Trace types for active message tracer.
Definition: uct_def.h:37
void(* uct_async_event_cb_t)(void *arg, unsigned flags)
Callback to process asynchronous events.
Definition: uct_def.h:901
struct uct_cm_remote_data uct_cm_remote_data_t
Data received from the remote peer.
void * uct_mem_h
Definition: uct_def.h:84
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:646
Structure for scatter-gather I/O.
Definition: uct_def.h:151
size_t conn_priv_data_length
Definition: uct_def.h:312
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:747
Arguments to the client-server private data pack callback.
Definition: uct_def.h:204
struct uct_device_ep * uct_device_ep_h
Definition: uct_def.h:113
ucs_status_t status
Definition: uct_def.h:480
struct uct_md_ops uct_md_ops_t
Definition: uct_def.h:87
struct uct_iov uct_iov_t
Structure for scatter-gather I/O.
Parameters used for interface creation.
Definition: uct.h:1217
struct uct_md_config uct_md_config_t
Definition: uct_def.h:81
void(* uct_pending_purge_callback_t)(uct_pending_req_t *self, void *arg)
Callback to purge pending requests.
Definition: uct_def.h:590
Arguments to the listener&#39;s connection request callback.
Definition: uct_def.h:358
Arguments to the client&#39;s connect callback.
Definition: uct_def.h:413
uct_cm_t * uct_cm_h
Definition: uct_def.h:105
uct_cb_param_flags
Flags for active message and tag-matching offload callbacks (callback&#39;s parameters).
Definition: uct_def.h:68
ucs_status_t(* uct_cm_ep_resolve_callback_t)(void *user_data, const uct_cm_ep_resolve_args_t *resolve_args)
Callback to notify that the client side endpoint is bound to a local device.
Definition: uct_def.h:799
Definition: uct_def.h:189
void * buffer
Definition: uct_def.h:152
ucs_sock_addr_t client_address
Definition: uct_def.h:386
uct_cm_listener_conn_request_args_field
Listener&#39;s connection request callback arguments field mask.
Definition: uct_def.h:324
void(* uct_cm_listener_conn_request_callback_t)(uct_listener_h listener, void *arg, const uct_cm_listener_conn_request_args_t *conn_req_args)
Callback to process an incoming connection request on the server side listener in a connection manage...
Definition: uct_def.h:671
void(* uct_cm_ep_server_conn_notify_callback_t)(uct_ep_h ep, void *arg, const uct_cm_ep_server_conn_notify_args_t *connect_args)
Callback to process an incoming connection establishment acknowledgment on the server side listener...
Definition: uct_def.h:701
UCT listener attributes, capabilities and limitations.
Definition: uct.h:1523
struct uct_worker * uct_worker_h
Definition: uct_def.h:95
Interface attributes: capabilities and limitations.
Definition: uct.h:1081
int uct_worker_cb_id_t
Definition: uct_def.h:111
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:578
uint64_t field_mask
Definition: uct_def.h:291
Definition: uct_def.h:71
uint64_t field_mask
Definition: uct_def.h:419
struct uct_iface_addr uct_iface_addr_t
Definition: uct_def.h:99
void(* uct_completion_callback_t)(uct_completion_t *self)
Callback to process send completion.
Definition: uct_def.h:540
struct uct_cm_ep_server_conn_notify_args uct_cm_ep_server_conn_notify_args_t
Arguments to the server&#39;s notify callback.
struct uct_cm_config uct_cm_config_t
Definition: uct_def.h:82
struct uct_ep_addr uct_ep_addr_t
Definition: uct_def.h:100
ucs_status_t status
Definition: uct_def.h:252
struct uct_md * uct_md_h
Memory domain handler.
Definition: uct_def.h:86
const uct_cm_remote_data_t * remote_data
Definition: uct_def.h:424
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:886
Definition: uct_def.h:41
size_t(* uct_pack_callback_t)(void *dest, void *arg)
Callback for producing data.
Definition: uct_def.h:602
const void * conn_priv_data
Definition: uct_def.h:307
uct_cm_ep_resolve_args_field
Client-Server resolve callback arguments field mask.
Definition: uct_def.h:185
struct uct_cm_ep_resolve_args uct_cm_ep_resolve_args_t
Arguments to the client-server resolved callback.
size_t length
Definition: uct_def.h:153
ucs_status_t
Status codes.
Definition: status.h:45
uint64_t field_mask
Definition: uct_def.h:468
Parameters for creating a listener object uct_listener_h by uct_listener_create.
Definition: uct.h:1543
uct_cm_ep_priv_data_pack_args_field
Client-Server private data pack callback arguments field mask.
Definition: uct_def.h:169
uct_cm_remote_data_field
Remote data attributes field mask.
Definition: uct_def.h:263
ucs_status_t status
Definition: uct_def.h:435
Connection manager attributes, capabilities and limitations.
Definition: uct.h:1503
struct uct_listener * uct_listener_h
Definition: uct_def.h:107
void(* uct_unpack_callback_t)(void *arg, const void *data, size_t length)
Callback for consuming data.
Definition: uct_def.h:615
uint64_t field_mask
Definition: uct_def.h:364
Definition: uct_def.h:194
struct uct_ep_attr uct_ep_attr_t
Definition: uct_def.h:91
struct uct_component * uct_component_h
Definition: uct_def.h:78
const uct_cm_remote_data_t * remote_data
Definition: uct_def.h:381
uint64_t uct_tag_t
Definition: uct_def.h:110
struct uct_iface_config uct_iface_config_t
Definition: uct_def.h:80
uint64_t field_mask
Definition: uct_def.h:234
Parameters for connecting a UCT endpoint by uct_ep_connect.
Definition: uct.h:1479
unsigned count
Definition: uct_def.h:157
ssize_t(* uct_cm_ep_priv_data_pack_callback_t)(void *arg, const uct_cm_ep_priv_data_pack_args_t *pack_args, void *priv_data)
Callback to fill the user&#39;s private data in a client-server flow.
Definition: uct_def.h:775
struct uct_cm_ep_priv_data_pack_args uct_cm_ep_priv_data_pack_args_t
Arguments to the client-server private data pack callback.
uct_cm_ep_server_conn_notify_args_field
Field mask flags for server-side connection established notification callback.
Definition: uct_def.h:448
Arguments to the server&#39;s notify callback.
Definition: uct_def.h:462
Parameters for creating a UCT endpoint by uct_ep_create.
Definition: uct.h:1328
uct_mem_h memh
Definition: uct_def.h:154
Definition: uct_def.h:69
uct_conn_request_h conn_request
Definition: uct_def.h:376
Memory domain attributes.
Definition: uct.h:1579
void * uct_conn_request_h
Definition: uct_def.h:112
uct_cm_ep_client_connect_args_field
Field mask flags for client-side connection established callback.
Definition: uct_def.h:398
size_t dev_addr_length
Definition: uct_def.h:301
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:528
ucs_status_t(* uct_pending_callback_t)(uct_pending_req_t *self)
Callback to process pending requests.
Definition: uct_def.h:557
Pending request.
Definition: uct.h:1790
size_t stride
Definition: uct_def.h:155
void(* uct_cm_ep_client_connect_callback_t)(uct_ep_h ep, void *arg, const uct_cm_ep_client_connect_args_t *connect_args)
Callback to process an incoming connection response on the client side from the server or handle a lo...
Definition: uct_def.h:725
struct uct_cm_listener_conn_request_args uct_cm_listener_conn_request_args_t
Arguments to the listener&#39;s connection request callback.
struct uct_iface * uct_iface_h
Definition: uct_def.h:79
Arguments to the client-server resolved callback.
Definition: uct_def.h:228
Definition: types.h:151
const uct_device_addr_t * dev_addr
Definition: uct_def.h:296
struct uct_ep * uct_ep_h
Definition: uct_def.h:83
Definition: uct_def.h:38
Posted tag context.
Definition: uct.h:1803
Definition: uct_def.h:39
Definition: uct_def.h:40
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, void **context)
Callback to process unexpected eager tagged message.
Definition: uct_def.h:849
enum uct_am_trace_type uct_am_trace_type_t
Definition: uct_def.h:97
Completion handle.
Definition: uct.h:1774
void * uct_rkey_ctx_h
Definition: uct_def.h:88
Definition: uct_def.h:42
struct uct_device_addr uct_device_addr_t
Definition: uct_def.h:98
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:510
uintptr_t uct_rkey_t
Definition: uct_def.h:85
struct uct_device_local_mem_list_elem uct_device_local_mem_list_elem_t
Definition: uct_def.h:115
Data received from the remote peer.
Definition: uct_def.h:285
struct uct_cm uct_cm_t
Definition: uct_def.h:104
uint64_t field_mask
Definition: uct_def.h:210
struct uct_device_remote_mem_list_elem uct_device_remote_mem_list_elem_t
Definition: uct_def.h:116