UCX  1.6
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_TL_NAME_MAX 10
19 #define UCT_MD_COMPONENT_NAME_MAX 16
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_iface *uct_iface_h;
71 typedef struct uct_iface_config uct_iface_config_t;
72 typedef struct uct_md_config uct_md_config_t;
73 typedef struct uct_ep *uct_ep_h;
74 typedef void * uct_mem_h;
75 typedef uintptr_t uct_rkey_t;
76 typedef struct uct_md *uct_md_h;
77 typedef struct uct_md_ops uct_md_ops_t;
78 typedef void *uct_rkey_ctx_h;
81 typedef struct uct_md_attr uct_md_attr_t;
84 typedef struct uct_worker *uct_worker_h;
85 typedef struct uct_md uct_md_t;
87 typedef struct uct_device_addr uct_device_addr_t;
88 typedef struct uct_iface_addr uct_iface_addr_t;
89 typedef struct uct_ep_addr uct_ep_addr_t;
92 typedef uint64_t uct_tag_t; /* tag type - 64 bit */
93 typedef int uct_worker_cb_id_t;
94 typedef void* uct_conn_request_h;
128 typedef struct uct_iov {
129  void *buffer;
130  size_t length;
132  size_t stride;
134  unsigned count;
135 } uct_iov_t;
136 
137 
164 typedef ucs_status_t (*uct_am_callback_t)(void *arg, void *data, size_t length,
165  unsigned flags);
166 
167 
182 typedef void (*uct_am_tracer_t)(void *arg, uct_am_trace_type_t type, uint8_t id,
183  const void *data, size_t length, char *buffer,
184  size_t max);
185 
186 
196  ucs_status_t status);
197 
198 
214 
215 
231 typedef ucs_status_t (*uct_error_handler_t)(void *arg, uct_ep_h ep,
232  ucs_status_t status);
233 
234 
244  void *arg);
245 
255 typedef size_t (*uct_pack_callback_t)(void *dest, void *arg);
256 
257 
268 typedef void (*uct_unpack_callback_t)(void *arg, const void *data, size_t length);
269 
270 
297 typedef void
299  uct_conn_request_h conn_request,
300  const void *conn_priv_data,
301  size_t length);
302 
303 
331 typedef ssize_t (*uct_sockaddr_priv_pack_callback_t)(void *arg,
332  const char *dev_name,
333  void *priv_data);
334 
335 
365 typedef ucs_status_t (*uct_tag_unexp_eager_cb_t)(void *arg, void *data,
366  size_t length, unsigned flags,
367  uct_tag_t stag, uint64_t imm);
368 
369 
401 typedef ucs_status_t (*uct_tag_unexp_rndv_cb_t)(void *arg, unsigned flags,
402  uint64_t stag, const void *header,
403  unsigned header_length,
404  uint64_t remote_addr, size_t length,
405  const void *rkey_buf);
406 
407 
408 #endif
struct uct_md uct_md_t
Definition: uct_def.h:85
uct_am_trace_type
Trace types for active message tracer.
Definition: uct_def.h:35
void * uct_mem_h
Definition: uct_def.h:74
Structure for scatter-gather I/O.
Definition: uct_def.h:128
struct uct_md_ops uct_md_ops_t
Definition: uct_def.h:77
struct uct_iov uct_iov_t
Structure for scatter-gather I/O.
Parameters used for interface creation.
Definition: uct.h:718
struct uct_md_config uct_md_config_t
Definition: uct_def.h:72
void(* uct_pending_purge_callback_t)(uct_pending_req_t *self, void *arg)
Callback to purge pending requests.
Definition: uct_def.h:243
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:129
struct uct_worker * uct_worker_h
Definition: uct_def.h:84
Interface attributes: capabilities and limitations.
Definition: uct.h:597
int uct_worker_cb_id_t
Definition: uct_def.h:93
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:231
struct uct_iface_addr uct_iface_addr_t
Definition: uct_def.h:88
struct uct_ep_addr uct_ep_addr_t
Definition: uct_def.h:89
struct uct_md * uct_md_h
Memory domain handler.
Definition: uct_def.h:76
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:401
Definition: uct_def.h:39
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 on the client side.
Definition: uct_def.h:331
size_t(* uct_pack_callback_t)(void *dest, void *arg)
Callback for producing data.
Definition: uct_def.h:255
size_t length
Definition: uct_def.h:130
ucs_status_t
Status codes.
Definition: status.h:45
void(* uct_unpack_callback_t)(void *arg, const void *data, size_t length)
Callback for consuming data.
Definition: uct_def.h:268
uint64_t uct_tag_t
Definition: uct_def.h:92
struct uct_iface_config uct_iface_config_t
Definition: uct_def.h:71
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 message on the server side.
Definition: uct_def.h:298
unsigned count
Definition: uct_def.h:134
Parameters for creating a UCT endpoint by uct_ep_create.
Definition: uct.h:786
uct_mem_h memh
Definition: uct_def.h:131
Definition: uct_def.h:63
Memory domain attributes.
Definition: uct.h:854
void * uct_conn_request_h
Definition: uct_def.h:94
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:365
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:182
ucs_status_t(* uct_pending_callback_t)(uct_pending_req_t *self)
Callback to process pending requests.
Definition: uct_def.h:213
Pending request.
Definition: uct.h:934
size_t stride
Definition: uct_def.h:132
struct uct_iface * uct_iface_h
Definition: uct_def.h:70
struct uct_ep * uct_ep_h
Definition: uct_def.h:73
Definition: uct_def.h:36
Posted tag context.
Definition: uct.h:947
Definition: uct_def.h:37
Definition: uct_def.h:38
enum uct_am_trace_type uct_am_trace_type_t
Definition: uct_def.h:86
Completion handle.
Definition: uct.h:921
void * uct_rkey_ctx_h
Definition: uct_def.h:78
void(* uct_completion_callback_t)(uct_completion_t *self, ucs_status_t status)
Callback to process send completion.
Definition: uct_def.h:195
Definition: uct_def.h:40
struct uct_device_addr uct_device_addr_t
Definition: uct_def.h:87
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:164
uintptr_t uct_rkey_t
Definition: uct_def.h:75