4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 only,
8 * as published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License version 2 for more details (a copy is included
14 * in the LICENSE file that accompanied this code).
16 * You should have received a copy of the GNU General Public License
17 * version 2 along with this program; If not, see
18 * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
20 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
21 * CA 95054 USA or visit www.sun.com if you need additional information or
27 * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
28 * Use is subject to license terms.
30 * Copyright (c) 2012, Intel Corporation.
33 * This file is part of Lustre, http://www.lustre.org/
34 * Lustre is a trademark of Sun Microsystems, Inc.
36 * libcfs/include/libcfs/posix/posix-types.h
38 * Define the linux types we use for posix userspace.
40 * Author: Robert Read <rread@sun.com>
42 #ifndef _LUSTRE_POSIX_TYPES_H
43 #define _LUSTRE_POSIX_TYPES_H
46 # include <linux/types.h>
48 #include <stdbool.h> /* for bool */
50 typedef unsigned short umode_t;
54 #ifndef _LINUX_TYPES_H
56 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
57 * header files exported to user space
62 typedef __signed__ char __s8;
66 typedef unsigned char __u8;
71 typedef __signed__ short __s16;
75 typedef unsigned short __u16;
80 typedef __signed__ int __s32;
84 typedef unsigned int __u32;
88 * The kernel defines user space 64bit values as l64 on powerpc. We must
89 * match that definition to avoid conflicting definition compile errors.
91 #if defined(__powerpc64__) && !defined(__KERNEL__)
94 typedef __signed__ long __s64;
98 typedef unsigned long __u64;
100 #else /* !defined(__powerpc64__) || defined(__KERNEL__) */
103 typedef __signed__ long long __s64;
107 typedef unsigned long long __u64;
109 #endif /* defined(__powerpc64__) && !defined(__KERNEL__) */
110 #endif /* _LINUX_TYPES_H */
112 /* long integer with size equal to pointer */
113 typedef unsigned long ulong_ptr_t;
114 typedef long long_ptr_t;
116 /* Sparse annotations, copied from linux/compiler.h. */
123 #define __chk_user_ptr(x) ((void)0)
124 #define __chk_io_ptr(x) ((void)0)
125 #define __builtin_warning(x, y...) (1)
126 #define __acquires(x)
127 #define __releases(x)
128 #define __acquire(x) ((void)0)
129 #define __release(x) ((void)0)
130 #define __cond_lock(x, c) (c)
132 typedef unsigned long pgoff_t;