xref: /freebsd/contrib/ofed/librdmacm/man/rdma_create_event_channel.3 (revision 6ba2210ee039f2f12878c217bcf058e9c8b26b29)
Licensed under the OpenIB.org BSD license (FreeBSD Variant) - See COPYING.md
"RDMA_CREATE_EVENT_CHANNEL" 3 "2007-05-15" "librdmacm" "Librdmacm Programmer's Manual" librdmacm
NAME
rdma_create_event_channel - Open a channel used to report communication events.
SYNOPSIS
"#include <rdma/rdma_cma.h>"

"struct rdma_event_channel *" rdma_create_event_channel "(" void ");"

ARGUMENTS
"void" 12
no arguments
"DESCRIPTION"
Asynchronous events are reported to users through event channels.
"RETURN VALUE"
Returns a pointer to the created event channel, or NULL if the request fails. On failure, errno will be set to indicate the failure reason.
"NOTES"
Event channels are used to direct all events on an rdma_cm_id. For many clients, a single event channel may be sufficient, however, when managing a large number of connections or cm_id's, users may find it useful to direct events for different cm_id's to different channels for processing.

All created event channels must be destroyed by calling rdma_destroy_event_channel. Users should call rdma_get_cm_event to retrieve events on an event channel.

Each event channel is mapped to a file descriptor. The associated file descriptor can be used and manipulated like any other fd to change its behavior. Users may make the fd non-blocking, poll or select the fd, etc.

"SEE ALSO"
rdma_cm(7), rdma_get_cm_event(3), rdma_destroy_event_channel(3)