blob: a820a17917bab24757b062259b36070748ccfd50 [file] [log] [blame]
njnca0518d2004-11-26 19:34:36 +00001
2/*--------------------------------------------------------------------*/
njn14f73652005-05-16 03:36:19 +00003/*--- ARM/Linux-specific kernel interface. vki-arm-linux.h ---*/
njnca0518d2004-11-26 19:34:36 +00004/*--------------------------------------------------------------------*/
5
6/*
njnb9c427c2004-12-01 14:14:42 +00007 This file is part of Valgrind, a dynamic binary instrumentation
8 framework.
njnca0518d2004-11-26 19:34:36 +00009
njn53612422005-03-12 16:22:54 +000010 Copyright (C) 2000-2005 Julian Seward
njnca0518d2004-11-26 19:34:36 +000011 jseward@acm.org
12
13 This program is free software; you can redistribute it and/or
14 modify it under the terms of the GNU General Public License as
15 published by the Free Software Foundation; either version 2 of the
16 License, or (at your option) any later version.
17
18 This program is distributed in the hope that it will be useful, but
19 WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 General Public License for more details.
22
23 You should have received a copy of the GNU General Public License
24 along with this program; if not, write to the Free Software
25 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
26 02111-1307, USA.
27
28 The GNU General Public License is contained in the file COPYING.
29*/
30
njn14f73652005-05-16 03:36:19 +000031#ifndef __VKI_ARM_LINUX_H
32#define __VKI_ARM_LINUX_H
njnca0518d2004-11-26 19:34:36 +000033
34// ARM can be big or little endian; we're only supporting little endian.
35#define VKI_LITTLE_ENDIAN 1
36
37//----------------------------------------------------------------------
38// From linux-2.6.9/include/asm-arm/types.h
39//----------------------------------------------------------------------
40
41typedef unsigned char __vki_u8;
42
43typedef __signed__ short __vki_s16;
44typedef unsigned short __vki_u16;
45
46typedef unsigned int __vki_u32;
47
48typedef __signed__ long long __vki_s64;
49typedef unsigned long long __vki_u64;
50
51typedef unsigned short vki_u16;
52
53typedef unsigned int vki_u32;
54
55//----------------------------------------------------------------------
56// From linux-2.6.9/include/asm-arm/page.h
57//----------------------------------------------------------------------
58
59#define VKI_PAGE_SHIFT 12
60#define VKI_PAGE_SIZE (1UL << VKI_PAGE_SHIFT)
61
62//----------------------------------------------------------------------
63// From linux-2.6.9/include/asm-arm/signal.h
64//----------------------------------------------------------------------
65
66#define _VKI_NSIG 64
67#define _VKI_NSIG_BPW 32
68#define _VKI_NSIG_WORDS (_VKI_NSIG / _VKI_NSIG_BPW)
69
70typedef unsigned long vki_old_sigset_t; /* at least 32 bits */
71
72typedef struct {
73 unsigned long sig[_VKI_NSIG_WORDS];
74} vki_sigset_t;
75
76#define VKI_SIGHUP 1
77#define VKI_SIGINT 2
78#define VKI_SIGQUIT 3
79#define VKI_SIGILL 4
80#define VKI_SIGTRAP 5
81#define VKI_SIGABRT 6
82//#define VKI_SIGIOT 6
83#define VKI_SIGBUS 7
84#define VKI_SIGFPE 8
85#define VKI_SIGKILL 9
86#define VKI_SIGUSR1 10
87#define VKI_SIGSEGV 11
88#define VKI_SIGUSR2 12
89#define VKI_SIGPIPE 13
90#define VKI_SIGALRM 14
91#define VKI_SIGTERM 15
92#define VKI_SIGSTKFLT 16
93#define VKI_SIGCHLD 17
94#define VKI_SIGCONT 18
95#define VKI_SIGSTOP 19
96#define VKI_SIGTSTP 20
97#define VKI_SIGTTIN 21
98#define VKI_SIGTTOU 22
99#define VKI_SIGURG 23
100#define VKI_SIGXCPU 24
101#define VKI_SIGXFSZ 25
102#define VKI_SIGVTALRM 26
103#define VKI_SIGPROF 27
104#define VKI_SIGWINCH 28
105#define VKI_SIGIO 29
106#define VKI_SIGPWR 30
107#define VKI_SIGSYS 31
108#define VKI_SIGUNUSED 31
109
110/* These should not be considered constants from userland. */
111#define VKI_SIGRTMIN 32
112#define VKI_SIGRTMAX _VKI_NSIG
113
114#define VKI_SIGSWI 32
115
116#define VKI_SA_NOCLDSTOP 0x00000001
117#define VKI_SA_NOCLDWAIT 0x00000002
118#define VKI_SA_SIGINFO 0x00000004
119//#define VKI_SA_THIRTYTWO 0x02000000
120#define VKI_SA_RESTORER 0x04000000
121#define VKI_SA_ONSTACK 0x08000000
122#define VKI_SA_RESTART 0x10000000
123#define VKI_SA_NODEFER 0x40000000
124#define VKI_SA_RESETHAND 0x80000000
125
126#define VKI_SA_NOMASK VKI_SA_NODEFER
127#define VKI_SA_ONESHOT VKI_SA_RESETHAND
128//#define VKI_SA_INTERRUPT 0x20000000 /* dummy -- ignored */
129
130
131#define VKI_SS_ONSTACK 1
132#define VKI_SS_DISABLE 2
133
134#define VKI_MINSIGSTKSZ 2048
135
136#define VKI_SIG_BLOCK 0 /* for blocking signals */
137#define VKI_SIG_UNBLOCK 1 /* for unblocking signals */
138#define VKI_SIG_SETMASK 2 /* for setting the signal mask */
139
140/* Type of a signal handler. */
141typedef void __vki_signalfn_t(int);
142typedef __vki_signalfn_t __user *__vki_sighandler_t;
143
144typedef void __vki_restorefn_t(void);
145typedef __vki_restorefn_t __user *__vki_sigrestore_t;
146
147#define VKI_SIG_DFL ((__vki_sighandler_t)0) /* default signal handling */
148#define VKI_SIG_IGN ((__vki_sighandler_t)1) /* ignore signal */
149
150struct vki_old_sigaction {
151 // [[Nb: a 'k' prefix is added to "sa_handler" because
152 // bits/sigaction.h (which gets dragged in somehow via signal.h)
153 // #defines it as something else. Since that is done for glibc's
154 // purposes, which we don't care about here, we use our own name.]]
155 __vki_sighandler_t ksa_handler;
156 vki_old_sigset_t sa_mask;
157 unsigned long sa_flags;
158 __vki_sigrestore_t sa_restorer;
159};
160
161struct vki_sigaction {
162 // [[See comment about extra 'k' above]]
163 __vki_sighandler_t ksa_handler;
164 unsigned long sa_flags;
165 __vki_sigrestore_t sa_restorer;
166 vki_sigset_t sa_mask; /* mask last for extensibility */
167};
168
169typedef struct vki_sigaltstack {
170 void __user *ss_sp;
171 int ss_flags;
172 vki_size_t ss_size;
173} vki_stack_t;
174
175//----------------------------------------------------------------------
176// From linux-2.6.9/include/asm-arm/sigcontext.h
177//----------------------------------------------------------------------
178
179struct vki_sigcontext {
180 unsigned long trap_no;
181 unsigned long error_code;
182 unsigned long oldmask;
183 unsigned long arm_r0;
184 unsigned long arm_r1;
185 unsigned long arm_r2;
186 unsigned long arm_r3;
187 unsigned long arm_r4;
188 unsigned long arm_r5;
189 unsigned long arm_r6;
190 unsigned long arm_r7;
191 unsigned long arm_r8;
192 unsigned long arm_r9;
193 unsigned long arm_r10;
194 unsigned long arm_fp;
195 unsigned long arm_ip;
196 unsigned long arm_sp;
197 unsigned long arm_lr;
198 unsigned long arm_pc;
199 unsigned long arm_cpsr;
200 unsigned long fault_address;
201};
202
203//----------------------------------------------------------------------
204// From linux-2.6.9/include/asm-arm/mman.h
205//----------------------------------------------------------------------
206
207#define VKI_PROT_READ 0x1 /* page can be read */
208#define VKI_PROT_WRITE 0x2 /* page can be written */
209#define VKI_PROT_EXEC 0x4 /* page can be executed */
210//#define VKI_PROT_SEM 0x8 /* page may be used for atomic ops */
211//#define VKI_PROT_NONE 0x0 /* page can not be accessed */
212
213#define VKI_MAP_SHARED 0x01 /* Share changes */
214#define VKI_MAP_PRIVATE 0x02 /* Changes are private */
215#define VKI_MAP_TYPE 0x0f /* Mask for type of mapping */
216#define VKI_MAP_FIXED 0x10 /* Interpret addr exactly */
217#define VKI_MAP_ANONYMOUS 0x20 /* don't use a file */
218
219//----------------------------------------------------------------------
220// From linux-2.6.9/include/asm-arm/fcntl.h
221//----------------------------------------------------------------------
222
223#define VKI_O_RDONLY 00
224#define VKI_O_WRONLY 01
225#define VKI_O_CREAT 0100 /* not fcntl */
226#define VKI_O_EXCL 0200 /* not fcntl */
227#define VKI_O_TRUNC 01000 /* not fcntl */
228#define VKI_O_NONBLOCK 04000
229
230#define VKI_F_DUPFD 0 /* dup */
231#define VKI_F_GETFD 1 /* get close_on_exec */
232#define VKI_F_SETFD 2 /* set/clear close_on_exec */
233#define VKI_F_GETFL 3 /* get file->f_flags */
234#define VKI_F_SETFL 4 /* set file->f_flags */
235#define VKI_F_GETLK 5
236#define VKI_F_SETLK 6
237#define VKI_F_SETLKW 7
238
239#define VKI_F_SETOWN 8 /* for sockets. */
240#define VKI_F_GETOWN 9 /* for sockets. */
241#define VKI_F_SETSIG 10 /* for sockets. */
242#define VKI_F_GETSIG 11 /* for sockets. */
243
244#define VKI_F_GETLK64 12 /* using 'struct flock64' */
245#define VKI_F_SETLK64 13
246#define VKI_F_SETLKW64 14
247
248/* for F_[GET|SET]FL */
249#define VKI_FD_CLOEXEC 1 /* actually anything with low bit set goes */
250
251#define VKI_F_LINUX_SPECIFIC_BASE 1024
252
253//----------------------------------------------------------------------
254// From linux-2.6.9/include/asm-arm/resource.h
255//----------------------------------------------------------------------
256
257#define VKI_RLIMIT_DATA 2 /* max data size */
258#define VKI_RLIMIT_STACK 3 /* max stack size */
259#define VKI_RLIMIT_CORE 4 /* max core file size */
260#define VKI_RLIMIT_NOFILE 7 /* max number of open files */
261
262//----------------------------------------------------------------------
263// From linux-2.6.9/include/asm-arm/socket.h
264//----------------------------------------------------------------------
265
266#define VKI_SOL_SOCKET 1
267
268#define VKI_SO_TYPE 3
269
270//----------------------------------------------------------------------
271// From linux-2.6.9/include/asm-arm/sockios.h
272//----------------------------------------------------------------------
273
274#define VKI_SIOCSPGRP 0x8902
275#define VKI_SIOCGPGRP 0x8904
276#define VKI_SIOCGSTAMP 0x8906 /* Get stamp */
277
278//----------------------------------------------------------------------
279// From linux-2.6.9/include/asm-arm/stat.h
280//----------------------------------------------------------------------
281
282// [[Nb: resolved some #ifdefs by assuming __ARMEB__ is false, ie. that
283// we're not big-endian.]]
284struct vki_stat {
285 unsigned long st_dev;
286 unsigned long st_ino;
287 unsigned short st_mode;
288 unsigned short st_nlink;
289 unsigned short st_uid;
290 unsigned short st_gid;
291 unsigned long st_rdev;
292 unsigned long st_size;
293 unsigned long st_blksize;
294 unsigned long st_blocks;
295 unsigned long st_atime;
296 unsigned long st_atime_nsec;
297 unsigned long st_mtime;
298 unsigned long st_mtime_nsec;
299 unsigned long st_ctime;
300 unsigned long st_ctime_nsec;
301 unsigned long __unused4;
302 unsigned long __unused5;
303};
304
305struct vki_stat64 {
306 unsigned long long st_dev;
307 unsigned char __pad0[4];
308
309#define STAT64_HAS_BROKEN_ST_INO 1
310 unsigned long __st_ino;
311 unsigned int st_mode;
312 unsigned int st_nlink;
313
314 unsigned long st_uid;
315 unsigned long st_gid;
316
317 unsigned long long st_rdev;
318 unsigned char __pad3[4];
319
320 long long st_size;
321 unsigned long st_blksize;
322
323 unsigned long st_blocks; /* Number 512-byte blocks allocated. */
324 unsigned long __pad4; /* Future possible st_blocks hi bits */
325
326 unsigned long st_atime;
327 unsigned long st_atime_nsec;
328
329 unsigned long st_mtime;
330 unsigned long st_mtime_nsec;
331
332 unsigned long st_ctime;
333 unsigned long st_ctime_nsec;
334
335 unsigned long long st_ino;
336};
337
338//----------------------------------------------------------------------
339// From linux-2.6.9/include/asm-arm/statfs.h
340//----------------------------------------------------------------------
341
342// [[Nb: asm-arm/statfs.h just #include asm-generic/statfs.h directly]]
343struct vki_statfs {
344 __vki_u32 f_type;
345 __vki_u32 f_bsize;
346 __vki_u32 f_blocks;
347 __vki_u32 f_bfree;
348 __vki_u32 f_bavail;
349 __vki_u32 f_files;
350 __vki_u32 f_ffree;
351 __vki_kernel_fsid_t f_fsid;
352 __vki_u32 f_namelen;
353 __vki_u32 f_frsize;
354 __vki_u32 f_spare[5];
355};
356
357//----------------------------------------------------------------------
358// From linux-2.6.9/include/asm-arm/termios.h
359//----------------------------------------------------------------------
360
361struct vki_winsize {
362 unsigned short ws_row;
363 unsigned short ws_col;
364 unsigned short ws_xpixel;
365 unsigned short ws_ypixel;
366};
367
368#define VKI_NCC 8
369struct vki_termio {
370 unsigned short c_iflag; /* input mode flags */
371 unsigned short c_oflag; /* output mode flags */
372 unsigned short c_cflag; /* control mode flags */
373 unsigned short c_lflag; /* local mode flags */
374 unsigned char c_line; /* line discipline */
375 unsigned char c_cc[VKI_NCC]; /* control characters */
376};
377
378//----------------------------------------------------------------------
379// From linux-2.6.9/include/asm-arm/termbits.h
380//----------------------------------------------------------------------
381
382typedef unsigned char vki_cc_t;
383typedef unsigned int vki_tcflag_t;
384
385#define VKI_NCCS 19
386struct vki_termios {
387 vki_tcflag_t c_iflag; /* input mode flags */
388 vki_tcflag_t c_oflag; /* output mode flags */
389 vki_tcflag_t c_cflag; /* control mode flags */
390 vki_tcflag_t c_lflag; /* local mode flags */
391 vki_cc_t c_line; /* line discipline */
392 vki_cc_t c_cc[VKI_NCCS]; /* control characters */
393};
394
395//----------------------------------------------------------------------
396// From linux-2.6.9/include/asm-arm/ioctl.h
397//----------------------------------------------------------------------
398
399#define _VKI_IOC_NRBITS 8
400#define _VKI_IOC_TYPEBITS 8
401#define _VKI_IOC_SIZEBITS 14
402#define _VKI_IOC_DIRBITS 2
403
404#define _VKI_IOC_SIZEMASK ((1 << _VKI_IOC_SIZEBITS)-1)
405#define _VKI_IOC_DIRMASK ((1 << _VKI_IOC_DIRBITS)-1)
406
407#define _VKI_IOC_NRSHIFT 0
408#define _VKI_IOC_TYPESHIFT (_VKI_IOC_NRSHIFT+_VKI_IOC_NRBITS)
409#define _VKI_IOC_SIZESHIFT (_VKI_IOC_TYPESHIFT+_VKI_IOC_TYPEBITS)
410#define _VKI_IOC_DIRSHIFT (_VKI_IOC_SIZESHIFT+_VKI_IOC_SIZEBITS)
411
412#define _VKI_IOC_NONE 0U
413#define _VKI_IOC_WRITE 1U
414#define _VKI_IOC_READ 2U
415
416#define _VKI_IOC(dir,type,nr,size) \
417 (((dir) << _VKI_IOC_DIRSHIFT) | \
418 ((type) << _VKI_IOC_TYPESHIFT) | \
419 ((nr) << _VKI_IOC_NRSHIFT) | \
420 ((size) << _VKI_IOC_SIZESHIFT))
421
422/* used to create numbers */
423#define _VKI_IO(type,nr) _VKI_IOC(_VKI_IOC_NONE,(type),(nr),0)
424#define _VKI_IOR(type,nr,size) _VKI_IOC(_VKI_IOC_READ,(type),(nr),sizeof(size))
425#define _VKI_IOW(type,nr,size) _VKI_IOC(_VKI_IOC_WRITE,(type),(nr),sizeof(size))
426#define _VKI_IOWR(type,nr,size) _VKI_IOC(_VKI_IOC_READ|_VKI_IOC_WRITE,(type),(nr),sizeof(size))
427
428/* used to decode ioctl numbers.. */
429#define _VKI_IOC_DIR(nr) (((nr) >> _VKI_IOC_DIRSHIFT) & _VKI_IOC_DIRMASK)
430#define _VKI_IOC_SIZE(nr) (((nr) >> _VKI_IOC_SIZESHIFT) & _VKI_IOC_SIZEMASK)
431
432//----------------------------------------------------------------------
433// From linux-2.6.9/include/asm-arm/ioctls.h
434//----------------------------------------------------------------------
435
436#define VKI_TCGETS 0x5401
437#define VKI_TCSETS 0x5402
438#define VKI_TCSETSW 0x5403
439#define VKI_TCSETSF 0x5404
440#define VKI_TCGETA 0x5405
441#define VKI_TCSETA 0x5406
442#define VKI_TCSETAW 0x5407
443#define VKI_TCSETAF 0x5408
444#define VKI_TCSBRK 0x5409
445#define VKI_TCXONC 0x540A
446#define VKI_TCFLSH 0x540B
447#define VKI_TIOCSCTTY 0x540E
448#define VKI_TIOCGPGRP 0x540F
449#define VKI_TIOCSPGRP 0x5410
450#define VKI_TIOCOUTQ 0x5411
451#define VKI_TIOCGWINSZ 0x5413
452#define VKI_TIOCSWINSZ 0x5414
453#define VKI_TIOCMBIS 0x5416
454#define VKI_TIOCMBIC 0x5417
455#define VKI_TIOCMSET 0x5418
456#define VKI_FIONREAD 0x541B
457#define VKI_TIOCLINUX 0x541C
458#define VKI_FIONBIO 0x5421
459#define VKI_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
460#define VKI_TIOCGPTN _VKI_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
461#define VKI_TIOCSPTLCK _VKI_IOW('T',0x31, int) /* Lock/unlock Pty */
462
463#define VKI_FIOASYNC 0x5452
464
465//----------------------------------------------------------------------
466// From linux-2.6.9/include/asm-arm/poll.h
467//----------------------------------------------------------------------
468
469#define VKI_POLLIN 0x0001
470
471struct vki_pollfd {
472 int fd;
473 short events;
474 short revents;
475};
476
477//----------------------------------------------------------------------
478// From linux-2.6.9/include/asm-arm/user.h
479//----------------------------------------------------------------------
480
481// XXX: For x86, had here:
482// struct vki_user_i387_struct
483// struct vki_user_fxsr_struct
484// struct vki_user_regs_struct
485
486//----------------------------------------------------------------------
487// From linux-2.6.9/include/asm-arm/ptrace.h
488//----------------------------------------------------------------------
489
490struct vki_pt_regs {
491 long uregs[18];
492};
493
494//----------------------------------------------------------------------
495// From linux-2.6.9/include/asm-arm/elf.h
496//----------------------------------------------------------------------
497
498typedef unsigned long vki_elf_greg_t;
499
500#define VKI_ELF_NGREG (sizeof (struct vki_pt_regs) / sizeof(vki_elf_greg_t))
501typedef vki_elf_greg_t vki_elf_gregset_t[VKI_ELF_NGREG];
502
503//----------------------------------------------------------------------
504// From linux-2.6.9/include/asm-arm/ucontext.h
505//----------------------------------------------------------------------
506
507struct vki_ucontext {
508 unsigned long uc_flags;
509 struct vki_ucontext *uc_link;
510 vki_stack_t uc_stack;
511 struct vki_sigcontext uc_mcontext;
512 vki_sigset_t uc_sigmask; /* mask last for extensibility */
513};
514
515//----------------------------------------------------------------------
516// From linux-2.6.9/include/asm-arm/ipcbuf.h
517//----------------------------------------------------------------------
518
519struct vki_ipc64_perm
520{
521 __vki_kernel_key_t key;
522 __vki_kernel_uid32_t uid;
523 __vki_kernel_gid32_t gid;
524 __vki_kernel_uid32_t cuid;
525 __vki_kernel_gid32_t cgid;
526 __vki_kernel_mode_t mode;
527 unsigned short __pad1;
528 unsigned short seq;
529 unsigned short __pad2;
530 unsigned long __unused1;
531 unsigned long __unused2;
532};
533
534//----------------------------------------------------------------------
535// From linux-2.6.9/include/asm-arm/sembuf.h
536//----------------------------------------------------------------------
537
538struct vki_semid64_ds {
539 struct vki_ipc64_perm sem_perm; /* permissions .. see ipc.h */
540 __vki_kernel_time_t sem_otime; /* last semop time */
541 unsigned long __unused1;
542 __vki_kernel_time_t sem_ctime; /* last change time */
543 unsigned long __unused2;
544 unsigned long sem_nsems; /* no. of semaphores in array */
545 unsigned long __unused3;
546 unsigned long __unused4;
547};
548
549
550//----------------------------------------------------------------------
551// From linux-2.6.9/include/asm-arm/msgbuf.h
552//----------------------------------------------------------------------
553
554struct vki_msqid64_ds {
555 struct vki_ipc64_perm msg_perm;
556 __vki_kernel_time_t msg_stime; /* last msgsnd time */
557 unsigned long __unused1;
558 __vki_kernel_time_t msg_rtime; /* last msgrcv time */
559 unsigned long __unused2;
560 __vki_kernel_time_t msg_ctime; /* last change time */
561 unsigned long __unused3;
562 unsigned long msg_cbytes; /* current number of bytes on queue */
563 unsigned long msg_qnum; /* number of messages in queue */
564 unsigned long msg_qbytes; /* max number of bytes on queue */
565 __vki_kernel_pid_t msg_lspid; /* pid of last msgsnd */
566 __vki_kernel_pid_t msg_lrpid; /* last receive pid */
567 unsigned long __unused4;
568 unsigned long __unused5;
569};
570
571//----------------------------------------------------------------------
572// From linux-2.6.9/include/asm-arm/ipc.h
573//----------------------------------------------------------------------
574
575struct vki_ipc_kludge {
576 struct vki_msgbuf __user *msgp;
577 long msgtyp;
578};
579
580//----------------------------------------------------------------------
581// From linux-2.6.9/include/asm-arm/shmbuf.h
582//----------------------------------------------------------------------
583
584struct vki_shmid64_ds {
585 struct vki_ipc64_perm shm_perm; /* operation perms */
586 vki_size_t shm_segsz; /* size of segment (bytes) */
587 __vki_kernel_time_t shm_atime; /* last attach time */
588 unsigned long __unused1;
589 __vki_kernel_time_t shm_dtime; /* last detach time */
590 unsigned long __unused2;
591 __vki_kernel_time_t shm_ctime; /* last change time */
592 unsigned long __unused3;
593 __vki_kernel_pid_t shm_cpid; /* pid of creator */
594 __vki_kernel_pid_t shm_lpid; /* pid of last operator */
595 unsigned long shm_nattch; /* no. of current attaches */
596 unsigned long __unused4;
597 unsigned long __unused5;
598};
599
600struct vki_shminfo64 {
601 unsigned long shmmax;
602 unsigned long shmmin;
603 unsigned long shmmni;
604 unsigned long shmseg;
605 unsigned long shmall;
606 unsigned long __unused1;
607 unsigned long __unused2;
608 unsigned long __unused3;
609 unsigned long __unused4;
610};
611
612//----------------------------------------------------------------------
613// And that's it!
614//----------------------------------------------------------------------
615
njn14f73652005-05-16 03:36:19 +0000616#endif // __VKI_ARM_LINUX_H
njnca0518d2004-11-26 19:34:36 +0000617
618/*--------------------------------------------------------------------*/
619/*--- end ---*/
620/*--------------------------------------------------------------------*/