1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
|
/* $NetBSD: linux_olduname.h,v 1.2 1995/03/05 23:23:48 fvdl Exp $ */
/*
* Copyright (c) 1995 Frank van der Linden
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed for the NetBSD Project
* by Frank van der Linden
* 4. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#ifndef _LINUX_TYPES_H
#define _LINUX_TYPES_H
typedef struct {
long val[2];
} linux_fsid_t;
typedef unsigned short linux_uid_t;
typedef unsigned short linux_gid_t;
typedef unsigned short linux_dev_t;
typedef unsigned long linux_ino_t;
typedef unsigned short linux_mode_t;
typedef unsigned short linux_nlink_t;
typedef long linux_time_t;
typedef long linux_clock_t;
typedef long linux_off_t;
typedef int linux_pid_t;
typedef unsigned long linux_sigset_t;
typedef void (*linux_handler_t)(int);
struct linux_statfs {
long l_ftype;
long l_fbsize;
long l_fblocks;
long l_fbfree;
long l_fbavail;
long l_ffiles;
long l_fffree;
linux_fsid_t l_ffsid;
long l_fnamelen;
long l_fspare[6];
};
/*
* Structure for uname(2)
*/
struct linux_utsname {
char l_sysname[65];
char l_nodename[65];
char l_release[65];
char l_version[65];
char l_machine[65];
char l_domainname[65];
};
struct linux_sigaction {
void (*sa_handler)(int);
linux_sigset_t sa_mask;
unsigned long sa_flags;
void (*sa_restorer)(void);
};
/*
* Passed to the mmap() system call
*/
struct linux_mmap {
caddr_t lm_addr;
int lm_len;
int lm_prot;
int lm_flags;
int lm_fd;
int lm_pos;
};
/*
* Passed to the select() system call
*/
struct linux_select {
int nfds;
fd_set *readfds;
fd_set *writefds;
fd_set *exceptfds;
struct timeval *timeout;
};
struct linux_stat {
linux_dev_t lst_dev;
unsigned short pad1;
linux_ino_t lst_ino;
linux_mode_t lst_mode;
linux_nlink_t lst_nlink;
linux_uid_t lst_uid;
linux_gid_t lst_gid;
linux_dev_t lst_rdev;
unsigned short pad2;
linux_off_t lst_size;
unsigned long lst_blksize;
unsigned long lst_blocks;
linux_time_t lst_atime;
unsigned long unused1;
linux_time_t lst_mtime;
unsigned long unused2;
linux_time_t lst_ctime;
unsigned long unused3;
unsigned long unused4;
unsigned long unused5;
};
struct linux_tms {
linux_clock_t ltms_utime;
linux_clock_t ltms_stime;
linux_clock_t ltms_cutime;
linux_clock_t ltms_cstime;
};
struct linux_utimbuf {
linux_time_t l_actime;
linux_time_t l_modtime;
};
#endif /* !_LINUX_TYPES_H */
|