blob: c83db8d5cac2c182b1188dae6a13178da89df62a [file] [log] [blame]
sewardjde4a1d02002-03-22 01:27:54 +00001
2/*--------------------------------------------------------------------*/
3/*--- A header file for making sense of syscalls. Unsafe in the ---*/
4/*--- sense that we don't call any functions mentioned herein. ---*/
5/*--- vg_unsafe.h ---*/
6/*--------------------------------------------------------------------*/
7
8/*
9 This file is part of Valgrind, an x86 protected-mode emulator
10 designed for debugging and profiling binaries on x86-Unixes.
11
12 Copyright (C) 2000-2002 Julian Seward
13 jseward@acm.org
sewardjde4a1d02002-03-22 01:27:54 +000014
15 This program is free software; you can redistribute it and/or
16 modify it under the terms of the GNU General Public License as
17 published by the Free Software Foundation; either version 2 of the
18 License, or (at your option) any later version.
19
20 This program is distributed in the hope that it will be useful, but
21 WITHOUT ANY WARRANTY; without even the implied warranty of
22 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 General Public License for more details.
24
25 You should have received a copy of the GNU General Public License
26 along with this program; if not, write to the Free Software
27 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
28 02111-1307, USA.
29
30 The GNU General Public License is contained in the file LICENSE.
31*/
32
33
34/* These includes are only used for making sense of the args for
35 system calls. */
36#include <asm/unistd.h> /* for system call numbers */
37#include <sys/mman.h> /* for PROT_* */
38#include <sys/utsname.h> /* for uname */
39#include <sys/time.h> /* for struct timeval & struct timezone */
40#include <linux/net.h> /* for the SYS_* constants */
41#include <sys/resource.h> /* for struct rlimit */
42#include <linux/shm.h> /* for struct shmid_ds & struct ipc_perm */
43#include <sys/socket.h> /* for struct msghdr */
44#include <sys/un.h> /* for sockaddr_un */
45#include <net/if.h> /* for struct ifreq et al */
46#include <net/if_arp.h> /* for struct arpreq */
47#include <net/route.h> /* for struct rtentry */
sewardj5b9e3502002-03-29 04:35:08 +000048#include <asm/ipc.h> /* for struct ipc_kludge */
49#include <linux/msg.h> /* for struct msgbuf */
50#include <linux/sem.h> /* for struct sembuf */
sewardjde4a1d02002-03-22 01:27:54 +000051
52#include <linux/isdn.h> /* for ISDN ioctls */
53#include <linux/module.h> /* for struct module */
54#include <scsi/sg.h> /* for the SG_* ioctls */
55#include <sched.h> /* for struct sched_param */
56#include <linux/sysctl.h> /* for struct __sysctl_args */
57
58
59#define __USE_LARGEFILE64
60#include <sys/stat.h> /* for struct stat */
61#undef __USE_LARGEFILE64
62
63#include <asm/ioctls.h> /* for stuff for dealing with ioctl :( */
64#include <sys/soundcard.h> /* for various soundcard ioctl constants :( */
65
66#include <termios.h>
67#include <pty.h>
68
69/* 2.2 stuff ... */
70#include <sys/uio.h>
71
72/* Both */
73#include <utime.h>
74#include <sys/times.h> /* for struct tms */
75
76/* 2.0 at least, for gid_t and loff_t */
77#include <sys/types.h>
78
79#include <sys/statfs.h>
80
81#include <sys/sysinfo.h>
82
83#include <sys/poll.h>
84
85
86/*--------------------------------------------------------------------*/
87/*--- end vg_unsafe.h ---*/
88/*--------------------------------------------------------------------*/