types.h revision 335434
1176829Srink/*- 2176829Srink * Copyright (c) 2010 Isilon Systems, Inc. 3176829Srink * Copyright (c) 2010 iX Systems, Inc. 4176829Srink * Copyright (c) 2010 Panasas, Inc. 5176829Srink * Copyright (c) 2013-2017 Mellanox Technologies, Ltd. 6176829Srink * All rights reserved. 7176829Srink * 8176829Srink * Redistribution and use in source and binary forms, with or without 9176829Srink * modification, are permitted provided that the following conditions 10176829Srink * are met: 11176829Srink * 1. Redistributions of source code must retain the above copyright 12176829Srink * notice unmodified, this list of conditions, and the following 13176829Srink * disclaimer. 14176829Srink * 2. Redistributions in binary form must reproduce the above copyright 15176829Srink * notice, this list of conditions and the following disclaimer in the 16176829Srink * documentation and/or other materials provided with the distribution. 17176829Srink * 18176829Srink * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 19239037Sgavin * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 20176829Srink * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 21176829Srink * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 22176829Srink * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 23176829Srink * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24239037Sgavin * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25176829Srink * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26176829Srink * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 27176829Srink * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28176829Srink * 29176829Srink * $FreeBSD: stable/11/sys/compat/linuxkpi/common/include/linux/types.h 335434 2018-06-20 06:58:51Z hselasky $ 30227750Smiwi */ 31227750Smiwi#ifndef _LINUX_TYPES_H_ 32176829Srink#define _LINUX_TYPES_H_ 33176829Srink 34176829Srink#include <sys/cdefs.h> 35176829Srink#include <sys/types.h> 36176829Srink#include <sys/param.h> 37176829Srink#include <sys/systm.h> 38176829Srink#include <linux/compiler.h> 39176829Srink#include <asm/types.h> 40176829Srink 41176829Srink#ifndef __bitwise__ 42176829Srink#ifdef __CHECKER__ 43176829Srink#define __bitwise__ __attribute__((bitwise)) 44239037Sgavin#else 45238803Sgavin#define __bitwise__ 46176834Sbrueffer#endif 47176829Srink#endif 48176829Srink 49176829Srinktypedef uint16_t __le16; 50176834Sbrueffertypedef uint16_t __be16; 51176834Sbrueffertypedef uint32_t __le32; 52176834Sbrueffertypedef uint32_t __be32; 53238803Sgavintypedef uint64_t __le64; 54238803Sgavintypedef uint64_t __be64; 55238803Sgavin 56238803Sgavintypedef unsigned int uint; 57238803Sgavintypedef unsigned gfp_t; 58238803Sgavintypedef uint64_t loff_t; 59238803Sgavintypedef vm_paddr_t resource_size_t; 60238803Sgavintypedef uint16_t __bitwise__ __sum16; 61238803Sgavintypedef unsigned long pgoff_t; 62238803Sgavin 63176829Srinktypedef u64 phys_addr_t; 64176834Sbrueffer 65238803Sgavintypedef size_t __kernel_size_t; 66238803Sgavin 67238803Sgavin#define DECLARE_BITMAP(n, bits) \ 68238803Sgavin unsigned long n[howmany(bits, sizeof(long) * 8)] 69238803Sgavin 70238803Sgavintypedef unsigned long irq_hw_number_t; 71238803Sgavin 72238803Sgavinstruct rcu_head { 73176829Srink void *raw[2]; 74176834Sbrueffer} __aligned(sizeof(void *)); 75238803Sgavin 76238803Sgavintypedef void (*rcu_callback_t)(struct rcu_head *head); 77176829Srinktypedef void (*call_rcu_func_t)(struct rcu_head *head, rcu_callback_t func); 78176834Sbrueffertypedef int linux_task_fn_t(void *data); 79176829Srink 80176834Sbrueffer#endif /* _LINUX_TYPES_H_ */ 81238803Sgavin