#ifndef _DAPL_EVD_UTIL_H_
#define _DAPL_EVD_UTIL_H_
#ifdef __cplusplus
extern "C" {
#endif
#include "dapl.h"
DAT_RETURN
dapls_evd_internal_create(
IN DAPL_IA *ia_ptr,
IN DAPL_CNO *cno_ptr,
IN DAT_COUNT min_qlen,
IN DAT_EVD_FLAGS evd_flags,
OUT DAPL_EVD **evd_ptr_ptr);
DAPL_EVD *
dapls_evd_alloc(
IN DAPL_IA *ia_ptr,
IN DAPL_CNO *cno_ptr,
IN DAT_EVD_FLAGS evd_flags,
IN DAT_COUNT qlen);
DAT_RETURN
dapls_evd_dealloc(
IN DAPL_EVD *evd_ptr);
DAT_RETURN
dapls_evd_post_cr_arrival_event(
IN DAPL_EVD *evd_ptr,
IN DAT_EVENT_NUMBER event_number,
IN DAT_SP_HANDLE sp_handle,
DAT_IA_ADDRESS_PTR ia_address_ptr,
DAT_CONN_QUAL conn_qual,
DAT_CR_HANDLE cr_handle);
DAT_RETURN
dapls_evd_post_connection_event(
IN DAPL_EVD *evd_ptr,
IN DAT_EVENT_NUMBER event_number,
IN DAT_EP_HANDLE ep_handle,
IN DAT_COUNT private_data_size,
IN DAT_PVOID private_data);
DAT_RETURN
dapls_evd_post_async_error_event(
IN DAPL_EVD *evd_ptr,
IN DAT_EVENT_NUMBER event_number,
IN DAT_IA_HANDLE ia_handle);
DAT_RETURN
dapls_evd_post_software_event(
IN DAPL_EVD *evd_ptr,
IN DAT_EVENT_NUMBER event_number,
IN DAT_PVOID pointer);
extern void dapl_evd_connection_callback(
IN ib_cm_handle_t ib_cm_handle,
IN const ib_cm_events_t ib_cm_events,
IN const void *instant_data_p,
IN const void * context);
extern void dapl_evd_dto_callback(
IN ib_hca_handle_t ib_hca_handle,
IN ib_cq_handle_t ib_cq_handle,
IN void* context);
extern void dapl_evd_un_async_error_callback(
IN ib_hca_handle_t ib_hca_handle,
IN ib_error_record_t *cause_ptr,
IN void *context);
extern void dapl_evd_cq_async_error_callback(
IN ib_hca_handle_t ib_hca_handle,
IN ib_cq_handle_t ib_cq_handle,
IN ib_error_record_t *cause_ptr,
IN void *context);
extern void dapl_evd_qp_async_error_callback(
IN ib_hca_handle_t ib_hca_handle,
IN ib_qp_handle_t ib_qp_handle,
IN ib_error_record_t *cause_ptr,
IN void *context);
extern void dapls_cr_callback(
ib_cm_handle_t ib_cm_handle,
IN const ib_cm_events_t ib_cm_event,
IN const void *instant_data_p,
IN const void *context);
extern void dapls_evd_copy_cq(
IN DAPL_EVD *evd_ptr,
OUT int *nevents);
extern DAT_RETURN dapls_evd_copy_events(
DAPL_EVD *evd_ptr,
DAT_TIMEOUT timeout);
extern void dapls_evd_post_premature_events(
DAPL_EP *ep_ptr);
extern DAT_RETURN dapls_evd_cq_poll_to_event(
IN DAPL_EVD *evd_ptr,
OUT DAT_EVENT *event);
#ifdef __cplusplus
}
#endif
#endif