1 /**
2  * Copyright (c) UT-Battelle, LLC. 2014-2017. ALL RIGHTS RESERVED.
3  * See file LICENSE for terms.
4  */
5 
6 #ifndef UCT_UGNI_IFACE_H
7 #define UCT_UGNI_IFACE_H
8 
9 #include "ugni_types.h"
10 #include <uct/base/uct_iface.h>
11 #include <uct/api/uct.h>
12 
13 UCS_CLASS_DECLARE(uct_ugni_iface_t, uct_md_h, uct_worker_h,
14                   const uct_iface_params_t*, uct_iface_ops_t*,
15                   const uct_iface_config_t* UCS_STATS_ARG(ucs_stats_node_t*))
16 
17 ucs_status_t uct_ugni_iface_flush(uct_iface_h tl_iface, unsigned flags,
18                                   uct_completion_t *comp);
19 ucs_status_t uct_ugni_iface_get_address(uct_iface_h tl_iface, uct_iface_addr_t *addr);
20 int uct_ugni_iface_is_reachable(uct_iface_h tl_iface, const uct_device_addr_t *dev_addr,
21 				const uct_iface_addr_t *iface_addr);
22 void uct_ugni_base_desc_init(ucs_mpool_t *mp, void *obj, void *chunk);
23 void uct_ugni_base_desc_key_init(uct_iface_h iface, void *obj, uct_mem_h memh);
24 void uct_ugni_cleanup_base_iface(uct_ugni_iface_t *iface);
25 #define uct_ugni_iface_device(_iface) ((_iface)->cdm.dev)
26 #define uct_ugni_iface_nic_handle(_iface) ((_iface)->cdm.nic_handle)
27 #define uct_ugni_check_device_type(_iface, _type) ((_iface)->cdm.dev->type == _type)
28 #endif
29