libdat.3lib revision c10c16dec587a0662068f6e2991c29ed3a9db943
te
Copyright (c) 2004, Sun Microsystems, Inc. All rights reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
libdat 3LIB "16 Jul 2004" "SunOS 5.11" "Interface Libraries"
NAME
libdat - direct access transport library
SYNOPSIS

cc [ flag... ] file... -ldat [ library... ]
#include <dat/udat.h>
DESCRIPTION

The libdat library provides an application with the User Direct Access Programming Library (uDAPL) 1.2 functions to access the underlying RDMA-able interconnects. Different uDAPL service providers listed in the DAT static registry dat.conf(4) can be registered during runtime with the DAT library. After an application opens an interface adapter belonging to a particular service provider, all function calls will be redirected to that service provider's library.

INTERFACES

The shared object libdat.so.1 provides the public interfaces defined below for applications. See Intro(3) for additional information on shared object interfaces.

"uDAPL 1.1"
dat_cno_createdat_cno_free
dat_cno_modify_agentdat_cno_query
dat_cno_waitdat_cr_accept
dat_cr_handoffdat_cr_query
dat_cr_rejectdat_ep_connect
dat_ep_createdat_ep_disconnect
dat_ep_dup_connectdat_ep_free
dat_ep_get_statusdat_ep_modify
dat_ep_post_rdma_readdat_ep_post_rdma_write
dat_ep_post_recvdat_ep_post_send
dat_ep_querydat_ep_reset
dat_evd_clear_unwaitabledat_evd_create
dat_evd_dequeuedat_evd_disable
dat_evd_enabledat_evd_free
dat_evd_modify_cnodat_evd_post_se
dat_evd_querydat_evd_resize
dat_evd_set_unwaitabledat_evd_wait
dat_get_consumer_contextdat_get_handle_type
dat_ia_closedat_ia_open
dat_ia_querydat_lmr_create
dat_lmr_freedat_lmr_query
dat_provider_finidat_provider_init
dat_psp_createdat_psp_create_any
dat_psp_freedat_psp_query
dat_pz_createdat_pz_free
dat_pz_querydat_registry_list_providers
dat_rmr_binddat_rmr_create
dat_rmr_freedat_rmr_query
dat_rsp_createdat_rsp_free
dat_rsp_querydat_set_consumer_context
dat_strerror
"uDAPL 1.2"
dat_ep_create_with_srqdat_ep_recv_query
dat_ep_set_watermarkdat_lmr_sync_rdma_read
dat_lmr_sync_rdma_writedat_srq_create
dat_srq_freedat_srq_post_recv
dat_srq_querydat_srq_resize
dat_srq_set_lw

The shared object libdat.so.1 also provides the public interfaces defined below for service providers.

dat_registry_add_providerdat_registry_remove_provider
FILES

/usr/lib/libdat.so.1

shared object

/usr/lib/64/libdat.so.1

64-bit shared object

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
Interface StabilityStandard: uDAPL, 1.1, 1.2
MT-LevelUnsafe
SEE ALSO

datadm(1M), Intro(3), dat.conf(4), attributes(5)

NOTES

The libdat library supports service providers written according to the uDAPL 1.2 specification. A service provider library has to be a dynamic loadable shared object with two public entry points exported:

dat_provider_initdat_provider_fini

In terms of installation, the service provider package should include a service_provider.conf(4) file. The datadm(1M) administrative configuration program should be used to add and remove service provider's entries in the system-wide dat.conf(4).