1 /* 2 * BSD 3-Clause New License (https://spdx.org/licenses/BSD-3-Clause.html) 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions are met: 6 * 7 * 1. Redistributions of source code must retain the above copyright notice, 8 * this list of conditions and the following disclaimer. 9 * 10 * 2. Redistributions in binary form must reproduce the above copyright notice, 11 * this list of conditions and the following disclaimer in the documentation 12 * and/or other materials provided with the distribution. 13 * 14 * 3. Neither the name of the copyright holder nor the names of its 15 * contributors may be used to endorse or promote products derived from this 16 * software without specific prior written permission. 17 * 18 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 19 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 22 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 23 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 24 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 25 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 26 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 28 * POSSIBILITY OF SUCH DAMAGE. 29 */ 30 31 /* 32 * Copyright (c) 2014-2019, Allan Jude 33 * Copyright (c) 2020, Brian Behlendorf 34 * Copyright (c) 2020, Michael Niewöhner 35 */ 36 37 #ifndef _ZSTD_STRING_H 38 #define _ZSTD_STRING_H 39 40 #ifdef __cplusplus 41 extern "C" { 42 #endif 43 44 #ifdef _KERNEL 45 46 #if defined(__FreeBSD__) 47 #include <sys/types.h> /* u_int, u_char */ 48 #include <sys/systm.h> /* memcpy, memset */ 49 #elif defined(__linux__) 50 #include <linux/string.h> /* memcpy, memset */ 51 #else 52 #error "Unsupported platform" 53 #endif 54 55 #else /* !_KERNEL */ 56 #include_next <string.h> 57 #endif /* _KERNEL */ 58 59 #ifdef __cplusplus 60 } 61 #endif 62 63 #endif /* _ZSTD_STRING_H */ 64