1fe54a78eSHai-May Chao /*
2fe54a78eSHai-May Chao  * CDDL HEADER START
3fe54a78eSHai-May Chao  *
4fe54a78eSHai-May Chao  * The contents of this file are subject to the terms of the
5fe54a78eSHai-May Chao  * Common Development and Distribution License (the "License").
6fe54a78eSHai-May Chao  * You may not use this file except in compliance with the License.
7fe54a78eSHai-May Chao  *
8fe54a78eSHai-May Chao  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9fe54a78eSHai-May Chao  * or http://www.opensolaris.org/os/licensing.
10fe54a78eSHai-May Chao  * See the License for the specific language governing permissions
11fe54a78eSHai-May Chao  * and limitations under the License.
12fe54a78eSHai-May Chao  *
13fe54a78eSHai-May Chao  * When distributing Covered Code, include this CDDL HEADER in each
14fe54a78eSHai-May Chao  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15fe54a78eSHai-May Chao  * If applicable, add the following below this CDDL HEADER, with the
16fe54a78eSHai-May Chao  * fields enclosed by brackets "[]" replaced with your own identifying
17fe54a78eSHai-May Chao  * information: Portions Copyright [yyyy] [name of copyright owner]
18fe54a78eSHai-May Chao  *
19fe54a78eSHai-May Chao  * CDDL HEADER END
20fe54a78eSHai-May Chao  */
21fe54a78eSHai-May Chao /*
22*b5a2d845SHai-May Chao  * Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
23fe54a78eSHai-May Chao  * Use is subject to license terms.
24fe54a78eSHai-May Chao  */
25fe54a78eSHai-May Chao 
26fe54a78eSHai-May Chao #ifndef	_COMMON_CRYPTO_FIPS_RANDOM_H
27fe54a78eSHai-May Chao #define	_COMMON_CRYPTO_FIPS_RANDOM_H
28fe54a78eSHai-May Chao 
29fe54a78eSHai-May Chao #ifdef	__cplusplus
30fe54a78eSHai-May Chao extern "C" {
31fe54a78eSHai-May Chao #endif
32fe54a78eSHai-May Chao 
33fe54a78eSHai-May Chao #include <sys/types.h>
34fe54a78eSHai-May Chao 
35fe54a78eSHai-May Chao #define	SHA1BLOCKBITS		512
36fe54a78eSHai-May Chao #define	SHA1BLOCKBYTES		(SHA1BLOCKBITS >> 3)
37fe54a78eSHai-May Chao #define	SHA1WORDS		5
38fe54a78eSHai-May Chao #define	BYTES_IN_WORD		4
39fe54a78eSHai-May Chao #define	SHA1BYTES		(BYTES_IN_WORD * SHA1WORDS)
40fe54a78eSHai-May Chao 
41*b5a2d845SHai-May Chao #ifdef _KERNEL
42*b5a2d845SHai-May Chao #define	SHA1_HASH_SIZE		20
43*b5a2d845SHai-May Chao #define	CK_RV			int
44*b5a2d845SHai-May Chao #define	CKR_OK			CRYPTO_SUCCESS
45*b5a2d845SHai-May Chao #define	CKR_DEVICE_ERROR	CRYPTO_DEVICE_ERROR
46*b5a2d845SHai-May Chao #endif
47*b5a2d845SHai-May Chao 
48fe54a78eSHai-May Chao extern void fips_random_inner(uint32_t *, uint32_t *, uint32_t *);
49*b5a2d845SHai-May Chao extern int fips_rng_post(void);
50fe54a78eSHai-May Chao 
51fe54a78eSHai-May Chao #ifdef	__cplusplus
52fe54a78eSHai-May Chao }
53fe54a78eSHai-May Chao #endif
54fe54a78eSHai-May Chao 
55fe54a78eSHai-May Chao #endif	/* _COMMON_CRYPTO_FIPS_RANDOM_H */
56