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