1*029c02a3SIlya Bakulin /*- 2*029c02a3SIlya Bakulin * Copyright (c) 2016-2017 Ilya Bakulin 3*029c02a3SIlya Bakulin * All rights reserved. 4*029c02a3SIlya Bakulin * 5*029c02a3SIlya Bakulin * Redistribution and use in source and binary forms, with or without 6*029c02a3SIlya Bakulin * modification, are permitted provided that the following conditions 7*029c02a3SIlya Bakulin * are met: 8*029c02a3SIlya Bakulin * 1. Redistributions of source code must retain the above copyright 9*029c02a3SIlya Bakulin * notice, this list of conditions and the following disclaimer. 10*029c02a3SIlya Bakulin * 2. Redistributions in binary form must reproduce the above copyright 11*029c02a3SIlya Bakulin * notice, this list of conditions and the following disclaimer in the 12*029c02a3SIlya Bakulin * documentation and/or other materials provided with the distribution. 13*029c02a3SIlya Bakulin * 14*029c02a3SIlya Bakulin * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15*029c02a3SIlya Bakulin * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16*029c02a3SIlya Bakulin * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17*029c02a3SIlya Bakulin * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18*029c02a3SIlya Bakulin * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19*029c02a3SIlya Bakulin * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20*029c02a3SIlya Bakulin * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21*029c02a3SIlya Bakulin * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22*029c02a3SIlya Bakulin * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23*029c02a3SIlya Bakulin * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24*029c02a3SIlya Bakulin * SUCH DAMAGE. 25*029c02a3SIlya Bakulin * 26*029c02a3SIlya Bakulin * $FreeBSD$ 27*029c02a3SIlya Bakulin */ 28*029c02a3SIlya Bakulin 29*029c02a3SIlya Bakulin #include <sys/cdefs.h> 30*029c02a3SIlya Bakulin __FBSDID("$FreeBSD$"); 31*029c02a3SIlya Bakulin 32*029c02a3SIlya Bakulin #ifndef _LINUX_COMPAT_H_ 33*029c02a3SIlya Bakulin #define _LINUX_COMPAT_H_ 34*029c02a3SIlya Bakulin 35*029c02a3SIlya Bakulin /* Linux compatibility shims */ 36*029c02a3SIlya Bakulin #define uint unsigned int 37*029c02a3SIlya Bakulin #define u32 uint32_t 38*029c02a3SIlya Bakulin #define u8 uint8_t 39*029c02a3SIlya Bakulin #define u16 uint16_t 40*029c02a3SIlya Bakulin #define s32 int32_t 41*029c02a3SIlya Bakulin #define bool int8_t 42*029c02a3SIlya Bakulin #define true 1 43*029c02a3SIlya Bakulin #define false 0 44*029c02a3SIlya Bakulin 45*029c02a3SIlya Bakulin #define usleep_range(a, b) usleep(a) 46*029c02a3SIlya Bakulin #define ENOMEDIUM -1 47*029c02a3SIlya Bakulin #define EINVAL -2 48*029c02a3SIlya Bakulin 49*029c02a3SIlya Bakulin #define WARN_ON(cond) ({ \ 50*029c02a3SIlya Bakulin bool __ret = (cond); \ 51*029c02a3SIlya Bakulin if (__ret) { \ 52*029c02a3SIlya Bakulin printf("WARNING %s failed at %s:%d\n", \ 53*029c02a3SIlya Bakulin #cond, __FILE__, __LINE__); \ 54*029c02a3SIlya Bakulin } \ 55*029c02a3SIlya Bakulin (__ret); \ 56*029c02a3SIlya Bakulin }) 57*029c02a3SIlya Bakulin 58*029c02a3SIlya Bakulin #endif 59