Add linux libspl support
[zfs.git] / lib / libspl / include / sys / types32.h
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License (the "License").
6  * You may not use this file except in compliance with the License.
7  *
8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9  * or http://www.opensolaris.org/os/licensing.
10  * See the License for the specific language governing permissions
11  * and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL HEADER in each
14  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15  * If applicable, add the following below this CDDL HEADER, with the
16  * fields enclosed by brackets "[]" replaced with your own identifying
17  * information: Portions Copyright [yyyy] [name of copyright owner]
18  *
19  * CDDL HEADER END
20  */
21 /*
22  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
23  * Use is subject to license terms.
24  */
25
26 #ifndef _SYS_TYPES32_H
27 #define _SYS_TYPES32_H
28
29
30
31 #include <sys/inttypes.h>
32
33 #ifdef  __cplusplus
34 extern "C" {
35 #endif
36
37 /*
38  * Interoperability types for programs. Used for:
39  *
40  * Crossing between 32-bit and 64-bit domains.
41  *
42  * On disk data formats such as filesystem meta data
43  * and disk label.
44  *
45  * Note: Applications should never include this
46  *       header file.
47  */
48 typedef uint32_t        caddr32_t;
49 typedef int32_t         daddr32_t;
50 typedef int32_t         off32_t;
51 typedef uint32_t        ino32_t;
52 typedef int32_t         blkcnt32_t;
53 typedef uint32_t        fsblkcnt32_t;
54 typedef uint32_t        fsfilcnt32_t;
55 typedef int32_t         id32_t;
56 typedef uint32_t        major32_t;
57 typedef uint32_t        minor32_t;
58 typedef int32_t         key32_t;
59 typedef uint32_t        mode32_t;
60 typedef uint32_t        uid32_t;
61 typedef uint32_t        gid32_t;
62 typedef uint32_t        nlink32_t;
63 typedef uint32_t        dev32_t;
64 typedef int32_t         pid32_t;
65 typedef uint32_t        size32_t;
66 typedef int32_t         ssize32_t;
67 typedef int32_t         time32_t;
68 typedef int32_t         clock32_t;
69
70 struct timeval32 {
71         time32_t        tv_sec;         /* seconds */
72         int32_t         tv_usec;        /* and microseconds */
73 };
74
75 typedef struct timespec32 {
76         time32_t        tv_sec;         /* seconds */
77         int32_t         tv_nsec;        /* and nanoseconds */
78 } timespec32_t;
79
80 typedef struct timespec32 timestruc32_t;
81
82 typedef struct itimerspec32 {
83         struct timespec32 it_interval;
84         struct timespec32 it_value;
85 } itimerspec32_t;
86
87 #ifdef  __cplusplus
88 }
89 #endif
90
91 #endif  /* _SYS_TYPES32_H */