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