OpenSolaris_b135/lib/udapl/udapl_tavor/include/dapl_vendor.h

/*
 * CDDL HEADER START
 *
 * 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]
 *
 * CDDL HEADER END
 */

/*
 * Copyright (c) 2002-2003, Network Appliance, Inc. All rights reserved.
 */

/*
 * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 */

/*
 *
 * HEADER: dapl_vendor.h
 *
 * PURPOSE:
 *	Vendor provides values for their implementation. Most of
 *	these values are returned in the DAT_IA_ATTR parameter of
 *	dat_ia_query()
 *
 */

#ifndef _DAPL_VENDOR_H_
#define	_DAPL_VENDOR_H_

#ifdef __cplusplus
extern "C" {
#endif

/*
 * DAT_IA_ATTR attributes
 *
 * These values are used in the provider support routine
 * dapls_ib_query_hca (). Many of the values there are HW
 * specific, the the vendor should look to make sure they are
 * appropriate for their implementation. Specifically,
 * vendors are encouraged to update transport and vendor
 * attributes: the reference implementation sets these to NULL.
 */

/*
 * Product name of the adapter.
 * Returned in DAT_IA_ATTR.adapter_name
 * adapter name is limited to DAT_NAME_MAX_LENGTH
 */
#define	VN_ADAPTER_NAME		"InfiniBand HCA Tavor"


/*
 * Vendor name
 * Returned in DAT_IA_ATTR.vendor_name
 */
#define	VN_VENDOR_NAME		"SUNW"


/*
 * PROVIDER Attributes
 *
 * These values are used in ./common/dapl_ia_query.c, in dapl_ia_query ().
 * The values below are the most common for vendors to change, but
 * there are several other values that may be updated once the
 * implementation becomes mature.
 *
 */

/*
 * Provider Versions
 * Returned in DAT_PROVIDER_ATTR.provider_version_major and
 * DAT_PROVIDER_ATTR.provider_version_minor
 */

#define	VN_PROVIDER_MAJOR	1
#define	VN_PROVIDER_MINOR	0

/*
 * Provider support for memory types. The reference implementation
 * always supports DAT_MEM_TYPE_VIRTUAL and DAT_MEM_TYPE_LMR, so
 * the vendor must indicate if they support DAT_MEM_TYPE_SHARED_VIRTUAL.
 * Set this value to '1' if DAT_MEM_TYPE_SHARED_VIRTUAL is supported.
 *
 * Returned in DAT_PROVIDER_ATTR.lmr_mem_types_supported
 */

#define	VN_MEM_SHARED_VIRTUAL_SUPPORT 1


/*
 *
 * This value will be assigned to dev_name_prefix in ./udapl/dapl_init.c.
 *
 * DAT is designed to support multiple DAPL instances simultaneously,
 * with different dapl libraries originating from different providers.
 * There is always the possibility of name conflicts, so a dat name
 * prefix is provided to make a vendor's adapter name unique. This is
 * especially true of the IBM Access API, which returns adapter
 * names that are simply ordinal numbers (e.g. 0, 1, 2). If
 * a vendor doesn't need or want a prefix, it should be left
 * as a NULL (use "").
 *
 * Values that might be used:
 *  #define VN_PREFIX		"jni"	(JNI: OS Acces API)
 *  #define VN_PREFIX		"ibm"	(IBM: OS Acces API)
 *  #define VN_PREFIX		""      (Mellanox: VAPI)
 *  #define VN_PREFIX		""      (Intel: IB Common API)
 */
#define	VN_PREFIX		""

#ifdef __cplusplus
}
#endif

#endif /* _DAPL_VENDOR_H_ */