OpenSolaris_b135/common/devid/devid_impl.h

/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (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 2004 Sun Microsystems, Inc.  All rights reserved.
 * Use is subject to license terms.
 */

#ifndef	_DEVID_IMPL_H
#define	_DEVID_IMPL_H

#pragma ident	"%Z%%M%	%I%	%E% SMI"

#ifdef	__cplusplus
extern "C" {
#endif

#ifndef	TRUE
#define	TRUE 1
#endif	/* TRUE */

#ifndef	FALSE
#define	FALSE 0
#endif	/* FALSE */

/*
 * Macros to make kernel and library code identical.
 *
 * NOTE: to get ddi_ entrypoints to show up in cscope, DEVID_FUNC
 * is NOT used in function definitions.
 */
#ifdef	_KERNEL
#include <sys/kmem.h>
#include <sys/sunddi.h>

#define	DEVID_MALLOC(n)		kmem_alloc(n, KM_SLEEP)
#define	DEVID_FREE(x, n)	kmem_free(x, n)
#define	DEVID_FUNC(x)		ddi_##x
#define	DEVID_ASSERT(x)		ASSERT(x)
#define	DEVID_SUCCESS		DDI_SUCCESS
#define	DEVID_FAILURE		DDI_FAILURE
#define	DEVID_RETRY		DDI_NOT_WELL_FORMED
#define	DEVID_RET_VALID		DDI_SUCCESS
#define	DEVID_RET_INVALID	DDI_FAILURE
#else	/* !_KERNEL */
#include <stdlib.h>
#include <strings.h>
#include <devid.h>

#define	DEVID_MALLOC(n)		malloc(n)
#define	DEVID_FREE(x, n)	free(x)
#define	DEVID_FUNC(x)		x
#define	DEVID_ASSERT(x)
#define	DEVID_SUCCESS		0
#define	DEVID_FAILURE		-1
#define	DEVID_RETRY		-2
#define	DEVID_RET_VALID		1
#define	DEVID_RET_INVALID	0
#endif  /* _KERNEL */

#ifdef	__cplusplus
}
#endif

#endif	/* _DEVID_IMPL_H */