1029c02a3SIlya Bakulin /*- 2*4d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 36e778a7eSPedro F. Giffuni * 4029c02a3SIlya Bakulin * Copyright (c) 2016-2017 Ilya Bakulin 5029c02a3SIlya Bakulin * All rights reserved. 6029c02a3SIlya Bakulin * 7029c02a3SIlya Bakulin * Redistribution and use in source and binary forms, with or without 8029c02a3SIlya Bakulin * modification, are permitted provided that the following conditions 9029c02a3SIlya Bakulin * are met: 10029c02a3SIlya Bakulin * 1. Redistributions of source code must retain the above copyright 11029c02a3SIlya Bakulin * notice, this list of conditions and the following disclaimer. 12029c02a3SIlya Bakulin * 2. Redistributions in binary form must reproduce the above copyright 13029c02a3SIlya Bakulin * notice, this list of conditions and the following disclaimer in the 14029c02a3SIlya Bakulin * documentation and/or other materials provided with the distribution. 15029c02a3SIlya Bakulin * 16029c02a3SIlya Bakulin * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 17029c02a3SIlya Bakulin * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18029c02a3SIlya Bakulin * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 19029c02a3SIlya Bakulin * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 20029c02a3SIlya Bakulin * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21029c02a3SIlya Bakulin * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 22029c02a3SIlya Bakulin * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23029c02a3SIlya Bakulin * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 24029c02a3SIlya Bakulin * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 25029c02a3SIlya Bakulin * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 26029c02a3SIlya Bakulin * SUCH DAMAGE. 27029c02a3SIlya Bakulin */ 28029c02a3SIlya Bakulin 29029c02a3SIlya Bakulin #include <sys/cdefs.h> 30029c02a3SIlya Bakulin #ifndef _LINUX_COMPAT_H_ 31029c02a3SIlya Bakulin #define _LINUX_COMPAT_H_ 32029c02a3SIlya Bakulin 33029c02a3SIlya Bakulin /* Linux compatibility shims */ 34029c02a3SIlya Bakulin #define uint unsigned int 35029c02a3SIlya Bakulin #define u32 uint32_t 36029c02a3SIlya Bakulin #define u8 uint8_t 37029c02a3SIlya Bakulin #define u16 uint16_t 38029c02a3SIlya Bakulin #define s32 int32_t 39029c02a3SIlya Bakulin #define bool int8_t 40029c02a3SIlya Bakulin #define true 1 41029c02a3SIlya Bakulin #define false 0 42029c02a3SIlya Bakulin 43029c02a3SIlya Bakulin #define usleep_range(a, b) usleep(a) 44029c02a3SIlya Bakulin #define ENOMEDIUM -1 45029c02a3SIlya Bakulin #define EINVAL -2 46029c02a3SIlya Bakulin 47029c02a3SIlya Bakulin #define WARN_ON(cond) ({ \ 48029c02a3SIlya Bakulin bool __ret = (cond); \ 49029c02a3SIlya Bakulin if (__ret) { \ 50029c02a3SIlya Bakulin printf("WARNING %s failed at %s:%d\n", \ 51029c02a3SIlya Bakulin #cond, __FILE__, __LINE__); \ 52029c02a3SIlya Bakulin } \ 53029c02a3SIlya Bakulin (__ret); \ 54029c02a3SIlya Bakulin }) 55029c02a3SIlya Bakulin 56029c02a3SIlya Bakulin #endif 57