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
45 #include <asm/types.h>
46 #include <stdbool.h> /* for bool */
48 typedef unsigned short cfs_umode_t;
50 typedef umode_t cfs_umode_t;
54 * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
55 * header files exported to user space
59 typedef __signed__ char __s8;
62 typedef unsigned char __u8;
66 typedef __signed__ short __s16;
69 typedef unsigned short __u16;
73 typedef __signed__ int __s32;
76 typedef unsigned int __u32;
80 * The kernel defines user space 64bit values as l64 on powerpc. We must
81 * match that definition to avoid conflicting definition compile errors.
83 #if defined(__powerpc64__) && !defined(__KERNEL__)
85 typedef __signed__ long __s64;
88 typedef unsigned long __u64;
90 #else /* !defined(__powerpc64__) || defined(__KERNEL__) */
92 typedef __signed__ long long __s64;
95 typedef unsigned long long __u64;
99 /* long integer with size equal to pointer */
100 typedef unsigned long ulong_ptr_t;
101 typedef long long_ptr_t;