xref: /onnv-gate/usr/src/common/crypto/fips/fips_checksum.h (revision 12929:f2051cc42292)
1*12929SMisaki.Miyashita@Oracle.COM /*
2*12929SMisaki.Miyashita@Oracle.COM  * CDDL HEADER START
3*12929SMisaki.Miyashita@Oracle.COM  *
4*12929SMisaki.Miyashita@Oracle.COM  * The contents of this file are subject to the terms of the
5*12929SMisaki.Miyashita@Oracle.COM  * Common Development and Distribution License (the "License").
6*12929SMisaki.Miyashita@Oracle.COM  * You may not use this file except in compliance with the License.
7*12929SMisaki.Miyashita@Oracle.COM  *
8*12929SMisaki.Miyashita@Oracle.COM  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9*12929SMisaki.Miyashita@Oracle.COM  * or http://www.opensolaris.org/os/licensing.
10*12929SMisaki.Miyashita@Oracle.COM  * See the License for the specific language governing permissions
11*12929SMisaki.Miyashita@Oracle.COM  * and limitations under the License.
12*12929SMisaki.Miyashita@Oracle.COM  *
13*12929SMisaki.Miyashita@Oracle.COM  * When distributing Covered Code, include this CDDL HEADER in each
14*12929SMisaki.Miyashita@Oracle.COM  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15*12929SMisaki.Miyashita@Oracle.COM  * If applicable, add the following below this CDDL HEADER, with the
16*12929SMisaki.Miyashita@Oracle.COM  * fields enclosed by brackets "[]" replaced with your own identifying
17*12929SMisaki.Miyashita@Oracle.COM  * information: Portions Copyright [yyyy] [name of copyright owner]
18*12929SMisaki.Miyashita@Oracle.COM  *
19*12929SMisaki.Miyashita@Oracle.COM  * CDDL HEADER END
20*12929SMisaki.Miyashita@Oracle.COM  */
21*12929SMisaki.Miyashita@Oracle.COM /*
22*12929SMisaki.Miyashita@Oracle.COM  * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
23*12929SMisaki.Miyashita@Oracle.COM  */
24*12929SMisaki.Miyashita@Oracle.COM 
25*12929SMisaki.Miyashita@Oracle.COM #ifndef _SYS_CRYPTO_FIPS_H
26*12929SMisaki.Miyashita@Oracle.COM #define	_SYS_CRYPTO_FIPS_H
27*12929SMisaki.Miyashita@Oracle.COM 
28*12929SMisaki.Miyashita@Oracle.COM #ifdef __cplusplus
29*12929SMisaki.Miyashita@Oracle.COM extern "C" {
30*12929SMisaki.Miyashita@Oracle.COM #endif
31*12929SMisaki.Miyashita@Oracle.COM 
32*12929SMisaki.Miyashita@Oracle.COM #ifdef  _KERNEL
33*12929SMisaki.Miyashita@Oracle.COM #include <sys/elf.h>
34*12929SMisaki.Miyashita@Oracle.COM #include <sys/modctl.h>
35*12929SMisaki.Miyashita@Oracle.COM #include <sys/kobj.h>
36*12929SMisaki.Miyashita@Oracle.COM #include <sys/kmem.h>
37*12929SMisaki.Miyashita@Oracle.COM #include <sys/sha1.h>
38*12929SMisaki.Miyashita@Oracle.COM #include <sys/ddi.h>
39*12929SMisaki.Miyashita@Oracle.COM #else
40*12929SMisaki.Miyashita@Oracle.COM #include <ctype.h>
41*12929SMisaki.Miyashita@Oracle.COM #include <unistd.h>
42*12929SMisaki.Miyashita@Oracle.COM #include <sys/types.h>
43*12929SMisaki.Miyashita@Oracle.COM #include <fcntl.h>
44*12929SMisaki.Miyashita@Oracle.COM #include <stdio.h>
45*12929SMisaki.Miyashita@Oracle.COM #include <libelf.h>
46*12929SMisaki.Miyashita@Oracle.COM #include <gelf.h>
47*12929SMisaki.Miyashita@Oracle.COM #include <stdlib.h>
48*12929SMisaki.Miyashita@Oracle.COM #include <string.h>
49*12929SMisaki.Miyashita@Oracle.COM #include <sha1.h>
50*12929SMisaki.Miyashita@Oracle.COM #include <sys/elf_SPARC.h>
51*12929SMisaki.Miyashita@Oracle.COM #endif
52*12929SMisaki.Miyashita@Oracle.COM 
53*12929SMisaki.Miyashita@Oracle.COM 
54*12929SMisaki.Miyashita@Oracle.COM #define	FAILURE -1
55*12929SMisaki.Miyashita@Oracle.COM #define	SUCCESS 0
56*12929SMisaki.Miyashita@Oracle.COM 
57*12929SMisaki.Miyashita@Oracle.COM #ifdef  _KERNEL
58*12929SMisaki.Miyashita@Oracle.COM extern int	fips_calc_checksum(struct _buf *, Elf64_Ehdr *, char *);
59*12929SMisaki.Miyashita@Oracle.COM extern int	fips_check_module(char *modname, void *_initaddr);
60*12929SMisaki.Miyashita@Oracle.COM #else
61*12929SMisaki.Miyashita@Oracle.COM extern int	fips_read_file(int, char *, int, int);
62*12929SMisaki.Miyashita@Oracle.COM extern int	fips_calc_checksum(int, Elf64_Ehdr *, char *);
63*12929SMisaki.Miyashita@Oracle.COM #endif
64*12929SMisaki.Miyashita@Oracle.COM 
65*12929SMisaki.Miyashita@Oracle.COM 
66*12929SMisaki.Miyashita@Oracle.COM #ifdef __cplusplus
67*12929SMisaki.Miyashita@Oracle.COM }
68*12929SMisaki.Miyashita@Oracle.COM #endif
69*12929SMisaki.Miyashita@Oracle.COM 
70*12929SMisaki.Miyashita@Oracle.COM #endif /* _SYS_CRYPTO_FIPS_H */
71