mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	 9f0a21e641
			
		
	
	
		9f0a21e641
		
			
		
	
	
	
	
		
			
			Add the FreeBSD platform code to the OpenZFS repository. As of this commit the source can be compiled and tested on FreeBSD 11 and 12. Subsequent commits are now required to compile on FreeBSD and Linux. Additionally, they must pass the ZFS Test Suite on FreeBSD which is being run by the CI. As of this commit 1230 tests pass on FreeBSD and there are no unexpected failures. Reviewed-by: Sean Eric Fagan <sef@ixsystems.com> Reviewed-by: Jorgen Lundman <lundman@lundman.net> Reviewed-by: Richard Laager <rlaager@wiktel.com> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Co-authored-by: Ryan Moeller <ryan@iXsystems.com> Signed-off-by: Matt Macy <mmacy@FreeBSD.org> Signed-off-by: Ryan Moeller <ryan@iXsystems.com> Closes #898 Closes #8987
		
			
				
	
	
		
			144 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			144 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2015 Allan Jude <allanjude@FreeBSD.org>
 | |
|  * All rights reserved.
 | |
|  *
 | |
|  * Redistribution and use in source and binary forms, with or without
 | |
|  * modification, are permitted provided that the following conditions
 | |
|  * are met:
 | |
|  * 1. Redistributions of source code must retain the above copyright
 | |
|  *    notice, this list of conditions and the following disclaimer.
 | |
|  * 2. Redistributions in binary form must reproduce the above copyright
 | |
|  *    notice, this list of conditions and the following disclaimer in the
 | |
|  *    documentation and/or other materials provided with the distribution.
 | |
|  *
 | |
|  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
 | |
|  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 | |
|  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 | |
|  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
 | |
|  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 | |
|  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 | |
|  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 | |
|  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 | |
|  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 | |
|  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 | |
|  * SUCH DAMAGE.
 | |
|  *
 | |
|  * $FreeBSD$
 | |
|  */
 | |
| 
 | |
| #ifndef _SHA512T_H_
 | |
| #define	_SHA512T_H_
 | |
| 
 | |
| #include "sha512.h"
 | |
| 
 | |
| #ifndef _KERNEL
 | |
| #include <sys/types.h>
 | |
| #endif
 | |
| 
 | |
| #define	SHA512_224_DIGEST_LENGTH	28
 | |
| #define	SHA512_224_DIGEST_STRING_LENGTH	(SHA512_224_DIGEST_LENGTH * 2 + 1)
 | |
| #define	SHA512_256_DIGEST_LENGTH	32
 | |
| #define	SHA512_256_DIGEST_STRING_LENGTH	(SHA512_256_DIGEST_LENGTH * 2 + 1)
 | |
| 
 | |
| __BEGIN_DECLS
 | |
| 
 | |
| /* Ensure libmd symbols do not clash with libcrypto */
 | |
| #ifndef SHA512_224_Init
 | |
| #define	SHA512_224_Init		_libmd_SHA512_224_Init
 | |
| #endif
 | |
| #ifndef SHA512_224_Update
 | |
| #define	SHA512_224_Update	_libmd_SHA512_224_Update
 | |
| #endif
 | |
| #ifndef SHA512_224_Final
 | |
| #define	SHA512_224_Final	_libmd_SHA512_224_Final
 | |
| #endif
 | |
| #ifndef SHA512_224_End
 | |
| #define	SHA512_224_End		_libmd_SHA512_224_End
 | |
| #endif
 | |
| #ifndef SHA512_224_Fd
 | |
| #define	SHA512_224_Fd		_libmd_SHA512_224_Fd
 | |
| #endif
 | |
| #ifndef SHA512_224_FdChunk
 | |
| #define	SHA512_224_FdChunk	_libmd_SHA512_224_FdChunk
 | |
| #endif
 | |
| #ifndef SHA512_224_File
 | |
| #define	SHA512_224_File		_libmd_SHA512_224_File
 | |
| #endif
 | |
| #ifndef SHA512_224_FileChunk
 | |
| #define	SHA512_224_FileChunk	_libmd_SHA512_224_FileChunk
 | |
| #endif
 | |
| #ifndef SHA512_224_Data
 | |
| #define	SHA512_224_Data		_libmd_SHA512_224_Data
 | |
| #endif
 | |
| 
 | |
| #ifndef SHA512_224_Transform
 | |
| #define	SHA512_224_Transform	_libmd_SHA512_224_Transform
 | |
| #endif
 | |
| #ifndef SHA512_224_version
 | |
| #define	SHA512_224_version	_libmd_SHA512_224_version
 | |
| #endif
 | |
| 
 | |
| #ifndef SHA512_256_Init
 | |
| #define	SHA512_256_Init		_libmd_SHA512_256_Init
 | |
| #endif
 | |
| #ifndef SHA512_256_Update
 | |
| #define	SHA512_256_Update	_libmd_SHA512_256_Update
 | |
| #endif
 | |
| #ifndef SHA512_256_Final
 | |
| #define	SHA512_256_Final	_libmd_SHA512_256_Final
 | |
| #endif
 | |
| #ifndef SHA512_256_End
 | |
| #define	SHA512_256_End		_libmd_SHA512_256_End
 | |
| #endif
 | |
| #ifndef SHA512_256_Fd
 | |
| #define	SHA512_256_Fd		_libmd_SHA512_256_Fd
 | |
| #endif
 | |
| #ifndef SHA512_256_FdChunk
 | |
| #define	SHA512_256_FdChunk	_libmd_SHA512_256_FdChunk
 | |
| #endif
 | |
| #ifndef SHA512_256_File
 | |
| #define	SHA512_256_File		_libmd_SHA512_256_File
 | |
| #endif
 | |
| #ifndef SHA512_256_FileChunk
 | |
| #define	SHA512_256_FileChunk	_libmd_SHA512_256_FileChunk
 | |
| #endif
 | |
| #ifndef SHA512_256_Data
 | |
| #define	SHA512_256_Data		_libmd_SHA512_256_Data
 | |
| #endif
 | |
| 
 | |
| #ifndef SHA512_256_Transform
 | |
| #define	SHA512_256_Transform	_libmd_SHA512_256_Transform
 | |
| #endif
 | |
| #ifndef SHA512_256_version
 | |
| #define	SHA512_256_version	_libmd_SHA512_256_version
 | |
| #endif
 | |
| 
 | |
| void	SHA512_224_Init(SHA512_CTX *);
 | |
| void	SHA512_224_Update(SHA512_CTX *, const void *, size_t);
 | |
| void	SHA512_224_Final(unsigned char [__min_size(SHA512_224_DIGEST_LENGTH)],
 | |
|     SHA512_CTX *);
 | |
| #ifndef _KERNEL
 | |
| char   *SHA512_224_End(SHA512_CTX *, char *);
 | |
| char   *SHA512_224_Data(const void *, unsigned int, char *);
 | |
| char   *SHA512_224_Fd(int, char *);
 | |
| char   *SHA512_224_FdChunk(int, char *, off_t, off_t);
 | |
| char   *SHA512_224_File(const char *, char *);
 | |
| char   *SHA512_224_FileChunk(const char *, char *, off_t, off_t);
 | |
| #endif
 | |
| void	SHA512_256_Init(SHA512_CTX *);
 | |
| void	SHA512_256_Update(SHA512_CTX *, const void *, size_t);
 | |
| void	SHA512_256_Final(unsigned char [__min_size(SHA512_256_DIGEST_LENGTH)],
 | |
|     SHA512_CTX *);
 | |
| #ifndef _KERNEL
 | |
| char   *SHA512_256_End(SHA512_CTX *, char *);
 | |
| char   *SHA512_256_Data(const void *, unsigned int, char *);
 | |
| char   *SHA512_256_Fd(int, char *);
 | |
| char   *SHA512_256_FdChunk(int, char *, off_t, off_t);
 | |
| char   *SHA512_256_File(const char *, char *);
 | |
| char   *SHA512_256_FileChunk(const char *, char *, off_t, off_t);
 | |
| #endif
 | |
| 
 | |
| __END_DECLS
 | |
| 
 | |
| #endif /* !_SHA512T_H_ */
 |