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 #include <compat/hpux/hpux_exec.h>
44
45
46
47 struct hpux_utsname {
48 char sysname[9];
49 char nodename[9];
50 char release[9];
51 char version[9];
52 char machine[9];
53 char idnumber[15];
54 };
55
56
57
58 struct hpux_sgttyb {
59 char sg_ispeed;
60 char sg_ospeed;
61 char sg_erase;
62 char sg_kill;
63 int sg_flags;
64 };
65
66 #define V7_HUPCL 00001
67 #define V7_XTABS 00002
68 #define V7_NOAL 04000
69
70 #define HPUXTIOCGETP _IOR('t', 8, struct hpux_sgttyb)
71 #define HPUXTIOCSETP _IOW('t', 9, struct hpux_sgttyb)
72
73
74
75 #define HPUXTIOCSLTC _IOW('T', 23, struct ltchars)
76 #define HPUXTIOCGLTC _IOR('T', 24, struct ltchars)
77 #define HPUXTIOCLBIS _IOW('T', 25, int)
78 #define HPUXTIOCLBIC _IOW('T', 26, int)
79 #define HPUXTIOCLSET _IOW('T', 27, int)
80 #define HPUXTIOCLGET _IOR('T', 28, int)
81 # define HPUXLTOSTOP 0000001
82 #define HPUXTIOCSPGRP _IOW('T', 29, int)
83 #define HPUXTIOCGPGRP _IOR('T', 30, int)
84 #define HPUXTIOCCONS _IO('t', 104)
85 #define HPUXTIOCSWINSZ _IOW('t', 106, struct winsize)
86 #define HPUXTIOCGWINSZ _IOR('t', 107, struct winsize)
87
88
89 #define HPUXFIOSNBIO _IOW('f', 126, int)
90
91
92
93 #define bsdtohpuxdev(d) ((major(d) << 24) | minor(d))
94
95 struct hpux_stat {
96 int hst_dev;
97 u_int hst_ino;
98 u_short hst_mode;
99 short hst_nlink;
100 u_short hst_old_uid;
101 u_short hst_old_gid;
102 int hst_rdev;
103 int hst_size;
104 int hst_atime;
105 int hst_spare1;
106 int hst_mtime;
107 int hst_spare2;
108 int hst_ctime;
109 int hst_spare3;
110 int hst_blksize;
111 int hst_blocks;
112 u_int hst_remote;
113 int hst_netdev;
114 u_int hst_netino;
115 u_short hst_cnode;
116 u_short hst_rcnode;
117 u_short hst_netsite;
118 short hst_fstype;
119 int hst_realdev;
120 u_short hst_basemode;
121 u_short hst_spareshort1;
122 int hst_uid;
123 int hst_gid;
124 int hst_spare4[3];
125 };
126
127 struct hpux_stat64 {
128 int hst_dev;
129 u_quad_t hst_ino;
130 u_short hst_mode;
131 short hst_nlink;
132 u_short hst_old_uid;
133 u_short hst_old_gid;
134 int hst_rdev;
135 quad_t hst_size;
136 quad_t hst_atime;
137 int hst_spare1;
138 quad_t hst_mtime;
139 int hst_spare2;
140 quad_t hst_ctime;
141 int hst_spare3;
142 quad_t hst_blksize;
143 quad_t hst_blocks;
144 u_int hst_remote;
145 int hst_netdev;
146 u_quad_t hst_netino;
147 u_short hst_cnode;
148 u_short hst_rcnode;
149 u_short hst_netsite;
150 short hst_fstype;
151 int hst_realdev;
152 u_short hst_basemode;
153 u_short hst_spareshort1;
154 int hst_uid;
155 int hst_gid;
156 int hst_spare4[3];
157 };
158
159 #define HST_REMOTE_REMOTE 0x01
160 #define HST_REMOTE_ACL 0x02
161 #define HST_REMOTE_ACLV 0x04
162
163
164 struct hpux_otimeb {
165 time_t time;
166 u_short millitm;
167 short timezone;
168 short dstflag;
169 };
170
171
172 struct hpux_ostat {
173 u_short hst_dev;
174 u_short hst_ino;
175 u_short hst_mode;
176 short hst_nlink;
177 short hst_uid;
178 short hst_gid;
179 u_short hst_rdev;
180 int hst_size;
181 int hst_atime;
182 int hst_mtime;
183 int hst_ctime;
184 };
185
186
187 #define HPUXNDELAY 00000004
188 #define HPUXFCREAT 00000400
189 #define HPUXFTRUNC 00001000
190 #define HPUXFEXCL 00002000
191 #define HPUXFSYNCIO 00100000
192 #define HPUXNONBLOCK 00200000
193 #define HPUXFREMOTE 01000000
194
195
196 struct hpux_flock {
197 short hl_type;
198 short hl_whence;
199 long hl_start;
200 long hl_len;
201 long hl_pid;
202 };
203
204 #define HPUXF_GETLK 7
205 #define HPUXF_SETLK 8
206 #define HPUXF_SETLKW 9
207
208 #define HPUXF_RDLCK 1
209 #define HPUXF_WRLCK 2
210 #define HPUXF_UNLCK 3
211
212
213 #define SHM_LOCK 3
214 #define SHM_UNLOCK 4
215
216
217 struct hpux_ipc_perm {
218 long uid;
219 long gid;
220 long cuid;
221 long cgid;
222 u_short mode;
223 u_short seq;
224 long key;
225 };
226
227 struct hpux_shmid_ds {
228 struct hpux_ipc_perm shm_perm;
229 int shm_segsz;
230 struct pte *shm_ptbl;
231 long shm_lpid;
232 long shm_cpid;
233 u_short shm_nattch;
234 u_short shm_cnattch;
235 time_t shm_atime;
236 time_t shm_dtime;
237 time_t shm_ctime;
238
239 };
240
241
242 #define RTPRIO_MIN 0
243 #define RTPRIO_MAX 127
244 #define RTPRIO_NOCHG 1000
245 #define RTPRIO_RTOFF 1001
246
247
248 #define HPUXSV_RESET 000000004
249
250
251
252
253
254
255
256
257
258 #define HPUX_ILL_ILLINST_TRAP 0
259 #define HPUX_ILL_CHK_TRAP 6
260 #define HPUX_ILL_TRAPV_TRAP 7
261 #define HPUX_ILL_PRIV_TRAP 8
262
263
264 #define HPUX_FPE_INTDIV_TRAP 5
265
266
267 typedef struct __hpux_sigset_t { u_int sigset[8]; } hpux_sigset_t;
268 struct hpux_sigaction {
269 void (*sa__handler)(int);
270 hpux_sigset_t sa_mask;
271 int sa_flags;
272 };
273 #define HPUXSA_ONSTACK 1
274 #define HPUXSA_RESETHAND 4
275 #define HPUXSA_NOCLDSTOP 8
276 #define HPUXSA_NODEFER 32
277 #define HPUXSA_RESTART 64
278 #define HPUXSA_NOCLDWAIT 128
279
280 #define HPUXSIG_BLOCK 0
281 #define HPUXSIG_UNBLOCK 1
282 #define HPUXSIG_SETMASK 2
283
284
285 #define HPUX_SYSCONF_CLKTICK 2
286 #define HPUX_SYSCONF_OPENMAX 4
287 #define HPUX_SYSCONF_CPUTYPE 10001
288 #define HPUX_SYSCONF_CPUM020 0x20C
289 #define HPUX_SYSCONF_CPUM030 0x20D
290 #define HPUX_SYSCONF_CPUM040 0x20E
291 #define HPUX_SYSCONF_CPUPA10 0x20B
292 #define HPUX_SYSCONF_CPUPA11 0x210
293 #define HPUX_SYSCONF_CPUPA20 0x214
294
295
296 #define HPUXMAP_FIXED 0x04
297 #define HPUXMAP_REPLACE 0x08
298 #define HPUXMAP_ANON 0x10
299
300
301 #define HPUXRLIMIT_NOFILE 6
302
303
304
305
306
307
308
309
310
311
312 #define OEAGAIN 82
313
314
315
316
317 #define HPUX_UF_NONBLOCK_ON 0x10
318 #define HPUX_UF_FNDELAY_ON 0x20
319 #define HPUX_UF_FIONBIO_ON 0x40
320
321 #ifdef __m68k__
322
323
324
325
326
327
328 #define ooHU_AROFF 0x004
329 #define ooHU_TSOFF 0x092
330 #define ooHU_EDOFF 0x91E
331 #define ooHU_FPOFF 0xA66
332
333
334 #define oHU_AROFF 0x004
335 #define oHU_TSOFF 0x0B2
336 #define oHU_EDOFF 0x93A
337 #define oHU_FPOFF 0xA86
338
339
340 #define HU_AROFF 0x004
341 #define HU_TSOFF 0x0B4
342 #define HU_EDOFF 0x8C8
343 #define HU_FPOFF 0xA28
344
345 #define HU_PAD1 (HU_AROFF)
346 #define HU_PAD2 (HU_TSOFF-HU_AROFF-4)
347 #define HU_PAD3 (HU_EDOFF-HU_TSOFF-12)
348 #define HU_PAD4 (HU_FPOFF-HU_EDOFF-sizeof(struct hpux_exec))
349
350 struct hpux_user {
351 u_char whocares1[HU_PAD1];
352 int *hpuxu_ar0;
353 u_char whocares2[HU_PAD2];
354 int hpuxu_tsize;
355 int hpuxu_dsize;
356 int hpuxu_ssize;
357 u_char whocares3[HU_PAD3];
358 struct hpux_exec hpuxu_exdata;
359 u_char whocares4[HU_PAD4];
360 struct hpux_fp {
361 int hpfp_save[54];
362 int hpfp_ctrl[3];
363 int hpfp_reg[24];
364 } hpuxu_fp;
365 short hpuxu_dragon;
366 };
367 #endif