1 /* $NetBSD: linux_types.h,v 1.21 2005/02/26 23:10:19 perry Exp $ */
2
3 /*-
4 * Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
5 * All rights reserved.
6 *
7 * This code is derived from software contributed to The NetBSD Foundation
8 * by Frank van der Linden and Eric Haszlakiewicz.
9 *
10 * Redistribution and use in source and binary forms, with or without
11 * modification, are permitted provided that the following conditions
12 * are met:
13 * 1. Redistributions of source code must retain the above copyright
14 * notice, this list of conditions and the following disclaimer.
15 * 2. Redistributions in binary form must reproduce the above copyright
16 * notice, this list of conditions and the following disclaimer in the
17 * documentation and/or other materials provided with the distribution.
18 * 3. All advertising materials mentioning features or use of this software
19 * must display the following acknowledgement:
20 * This product includes software developed by the NetBSD
21 * Foundation, Inc. and its contributors.
22 * 4. Neither the name of The NetBSD Foundation nor the names of its
23 * contributors may be used to endorse or promote products derived
24 * from this software without specific prior written permission.
25 *
26 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
27 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
28 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
30 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 * POSSIBILITY OF SUCH DAMAGE.
37 */
38
39 #ifndef _LINUX_TYPES_H
40 #define _LINUX_TYPES_H
41
42 #if defined(__i386__)
43 #include <compat/linux/arch/i386/linux_types.h>
44 #elif defined(__alpha__)
45 #include <compat/linux/arch/alpha/linux_types.h>
46 #elif defined(__powerpc__)
47 #include <compat/linux/arch/powerpc/linux_types.h>
48 #elif defined(__arm__)
49 #include <compat/linux/arch/arm/linux_types.h>
50 #elif defined(__m68k__)
51 #include <compat/linux/arch/m68k/linux_types.h>
52 #elif defined(__mips__)
53 #include <compat/linux/arch/mips/linux_types.h>
54 #else
55 typedef unsigned long linux_clock_t;
56 typedef unsigned long linux_time_t;
57 #endif
58
59 /*
60 * From Linux include/asm-.../posix_types.h
61 */
62 typedef struct {
63 int val[2];
64 } linux_fsid_t;
65
66 /*
67 * Structure for uname(2)
68 */
69 struct linux_utsname {
70 char l_sysname[65];
71 char l_nodename[65];
72 char l_release[65];
73 char l_version[65];
74 char l_machine[65];
75 char l_domainname[65];
76 };
77
78 extern char linux_sysname[];
79 extern char linux_release[];
80 extern char linux_version[];
81
82 struct linux_tms {
83 linux_clock_t ltms_utime;
84 linux_clock_t ltms_stime;
85 linux_clock_t ltms_cutime;
86 linux_clock_t ltms_cstime;
87 };
88
89 struct linux_utimbuf {
90 linux_time_t l_actime;
91 linux_time_t l_modtime;
92 };
93
94 struct linux___sysctl {
95 int *name;
96 int nlen;
97 void *oldval;
98 size_t *oldlenp;
99 void *newval;
100 size_t newlen;
101 unsigned long __unused0[4];
102 };
103
104 #include <compat/linux/common/linux_siginfo.h>
105
106 /*
107 * From Linux include/asm-generic/statfs.h
108 * This is _almost_ generic - Linux/sparc64 uses different (fully 64bit)
109 * struct statfs. However, we don't support Linux/sparc64 ATM.
110 */
111 #ifndef __sparc64__
112 struct linux_statfs {
113 u_int32_t l_ftype;
114 u_int32_t l_fbsize;
115 u_int32_t l_fblocks;
116 u_int32_t l_fbfree;
117 u_int32_t l_fbavail;
118 u_int32_t l_ffiles;
119 u_int32_t l_fffree;
120 linux_fsid_t l_ffsid;
121 u_int32_t l_fnamelen;
122 u_int32_t l_ffrsize;
123 u_int32_t l_fspare[5];
124 };
125
126 struct linux_statfs64 {
127 u_int32_t l_ftype;
128 u_int32_t l_fbsize;
129 u_int64_t l_fblocks;
130 u_int64_t l_fbfree;
131 u_int64_t l_fbavail;
132 u_int64_t l_ffiles;
133 u_int64_t l_fffree;
134 linux_fsid_t l_ffsid;
135 u_int32_t l_fnamelen;
136 u_int32_t l_ffrsize;
137 u_int32_t l_fspare[5];
138 };
139 #endif /* !__sparc64__ */
140
141 #endif /* !_LINUX_TYPES_H */
Cache object: dbc214625725df66d7f3102f55a545d2
|