UCX  1.8
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 
67  UCT_CB_PARAM_FLAG_DESC = UCS_BIT(0),
70 };
71 
76 typedef struct uct_component *uct_component_h;
77 typedef struct uct_iface *uct_iface_h;
78 typedef struct uct_iface_config uct_iface_config_t;
79 typedef struct uct_md_config uct_md_config_t;
80 typedef struct uct_cm_config uct_cm_config_t;
81 typedef struct uct_ep *uct_ep_h;
82 typedef void * uct_mem_h;
83 typedef uintptr_t uct_rkey_t;
84 typedef struct uct_md *uct_md_h;
85 typedef struct uct_md_ops uct_md_ops_t;
86 typedef void *uct_rkey_ctx_h;
89 typedef struct uct_md_attr uct_md_attr_t;
92 typedef struct uct_worker *uct_worker_h;
93 typedef struct uct_md uct_md_t;
95 typedef struct uct_device_addr uct_device_addr_t;
96 typedef struct uct_iface_addr uct_iface_addr_t;
97 typedef struct uct_ep_addr uct_ep_addr_t;
99 typedef struct uct_cm_attr uct_cm_attr_t;
100 typedef struct uct_cm uct_cm_t;
103 typedef struct uct_listener *uct_listener_h;
106 typedef uint64_t uct_tag_t; /* tag type - 64 bit */
107 typedef int uct_worker_cb_id_t;
108 typedef void* uct_conn_request_h;
109 
143 typedef struct uct_iov {
144  void *buffer;
145  size_t length;
147  size_t stride;
149  unsigned count;
150 } uct_iov_t;
151 
152 
163 
166 
169 
172 };
173 
174 
182 typedef struct uct_cm_remote_data {
188  uint64_t field_mask;
189 
194 
199 
204  const void *conn_priv_data;
205 
211 
212 
239 typedef ucs_status_t (*uct_am_callback_t)(void *arg, void *data, size_t length,
240  unsigned flags);
241 
242 
257 typedef void (*uct_am_tracer_t)(void *arg, uct_am_trace_type_t type, uint8_t id,
258  const void *data, size_t length, char *buffer,
259  size_t max);
260 
261 
271  ucs_status_t status);
272 
273 
289 
290 
306 typedef ucs_status_t (*uct_error_handler_t)(void *arg, uct_ep_h ep,
307  ucs_status_t status);
308 
309 
319  void *arg);
320 
330 typedef size_t (*uct_pack_callback_t)(void *dest, void *arg);
331 
332 
343 typedef void (*uct_unpack_callback_t)(void *arg, const void *data, size_t length);
344 
345 
373 typedef void
375  uct_conn_request_h conn_request,
376  const void *conn_priv_data,
377  size_t length);
378 
379 
404 typedef void
406  const char *local_dev_name,
407  uct_conn_request_h conn_request,
408  const uct_cm_remote_data_t *remote_data);
409 
410 
430 typedef void (*uct_ep_server_connect_cb_t)(uct_ep_h ep, void *arg,
431  ucs_status_t status);
432 
433 
452 typedef void (*uct_ep_client_connect_cb_t)(uct_ep_h ep, void *arg,
453  const uct_cm_remote_data_t *remote_data,
454  ucs_status_t status);
455 
456 
474 typedef void (*uct_ep_disconnect_cb_t)(uct_ep_h ep, void *arg);
475 
476 
506 typedef ssize_t (*uct_sockaddr_priv_pack_callback_t)(void *arg,
507  const char *dev_name,
508  void *priv_data);
509 
510 
557 typedef ucs_status_t (*uct_tag_unexp_eager_cb_t)(void *arg, void *data,
558  size_t length, unsigned flags,
559  uct_tag_t stag, uint64_t imm,
560  void **context);
561 
562 
594 typedef ucs_status_t (*uct_tag_unexp_rndv_cb_t)(void *arg, unsigned flags,
595  uint64_t stag, const void *header,
596  unsigned header_length,
597  uint64_t remote_addr, size_t length,
598  const void *rkey_buf);
599 
600 
601 #endif
Definition: uct_def.h:68
struct uct_md uct_md_t
Definition: uct_def.h:93
Definition: uct_def.h:162
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:82
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:374
Structure for scatter-gather I/O.
Definition: uct_def.h:143
size_t conn_priv_data_length
Definition: uct_def.h:209
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:474
struct uct_md_ops uct_md_ops_t
Definition: uct_def.h:85
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:79
void(* uct_pending_purge_callback_t)(uct_pending_req_t *self, void *arg)
Callback to purge pending requests.
Definition: uct_def.h:318
uct_cm_t * uct_cm_h
Definition: uct_def.h:101
uct_cb_param_flags
Flags for active message and tag-matching offload callbacks (callback's parameters).
Definition: uct_def.h:66
void * buffer
Definition: uct_def.h:144
UCT listener attributes, capabilities and limitations.
Definition: uct.h:1133
struct uct_worker * uct_worker_h
Definition: uct_def.h:92
Interface attributes: capabilities and limitations.
Definition: uct.h:825
int uct_worker_cb_id_t
Definition: uct_def.h:107
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:306
uint64_t field_mask
Definition: uct_def.h:188
Definition: uct_def.h:69
struct uct_iface_addr uct_iface_addr_t
Definition: uct_def.h:96
struct uct_cm_config uct_cm_config_t
Definition: uct_def.h:80
struct uct_ep_addr uct_ep_addr_t
Definition: uct_def.h:97
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:452
struct uct_md * uct_md_h
Memory domain handler.
Definition: uct_def.h:84
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:594
Definition: uct_def.h:39
size_t(* uct_pack_callback_t)(void *dest, void *arg)
Callback for producing data.
Definition: uct_def.h:330
const void * conn_priv_data
Definition: uct_def.h:204
size_t length
Definition: uct_def.h:145
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:430
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:160
Connection manager attributes, capabilities and limitations.
Definition: uct.h:1113
struct uct_listener * uct_listener_h
Definition: uct_def.h:103
void(* uct_unpack_callback_t)(void *arg, const void *data, size_t length)
Callback for consuming data.
Definition: uct_def.h:343
struct uct_component * uct_component_h
Definition: uct_def.h:76
uint64_t uct_tag_t
Definition: uct_def.h:106
struct uct_iface_config uct_iface_config_t
Definition: uct_def.h:78
unsigned count
Definition: uct_def.h:149
Parameters for creating a UCT endpoint by uct_ep_create.
Definition: uct.h:1017
uct_mem_h memh
Definition: uct_def.h:146
Definition: uct_def.h:67
Memory domain attributes.
Definition: uct.h:1187
void * uct_conn_request_h
Definition: uct_def.h:108
size_t dev_addr_length
Definition: uct_def.h:198
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:405
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:257
ucs_status_t(* uct_pending_callback_t)(uct_pending_req_t *self)
Callback to process pending requests.
Definition: uct_def.h:288
Pending request.
Definition: uct.h:1268
size_t stride
Definition: uct_def.h:147
struct uct_iface * uct_iface_h
Definition: uct_def.h:77
const uct_device_addr_t * dev_addr
Definition: uct_def.h:193
struct uct_ep * uct_ep_h
Definition: uct_def.h:81
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:506
Definition: uct_def.h:36
Posted tag context.
Definition: uct.h:1281
Definition: uct_def.h:37
Definition: uct_def.h:38
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:557
enum uct_am_trace_type uct_am_trace_type_t
Definition: uct_def.h:94
Completion handle.
Definition: uct.h:1255
void * uct_rkey_ctx_h
Definition: uct_def.h:86
void(* uct_completion_callback_t)(uct_completion_t *self, ucs_status_t status)
Callback to process send completion.
Definition: uct_def.h:270
Definition: uct_def.h:40
struct uct_device_addr uct_device_addr_t
Definition: uct_def.h:95
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:239
uintptr_t uct_rkey_t
Definition: uct_def.h:83
Data received from the remote peer.
Definition: uct_def.h:182
struct uct_cm uct_cm_t
Definition: uct_def.h:100