* i386-linux-tdep.c (I386_LINUX_RECORD_SIZE_*,
[deliverable/binutils-gdb.git] / gdb / linux-record.h
1 /* Process record and replay target code for GNU/Linux.
2
3 Copyright (C) 2008, 2009 Free Software Foundation, Inc.
4
5 This file is part of GDB.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 #ifndef _LINUX_RECORD_H_
21 #define _LINUX_RECORD_H_
22
23 struct linux_record_tdep
24 {
25 /* The size of the type that will be used in a system call. */
26 int size__old_kernel_stat;
27 int size_tms;
28 int size_loff_t;
29 int size_flock;
30 int size_oldold_utsname;
31 int size_ustat;
32 int size_old_sigaction;
33 int size_old_sigset_t;
34 int size_rlimit;
35 int size_rusage;
36 int size_timeval;
37 int size_timezone;
38 int size_old_gid_t;
39 int size_old_uid_t;
40 int size_fd_set;
41 int size_dirent;
42 int size_dirent64;
43 int size_statfs;
44 int size_statfs64;
45 int size_sockaddr;
46 int size_int;
47 int size_long;
48 int size_ulong;
49 int size_msghdr;
50 int size_itimerval;
51 int size_stat;
52 int size_old_utsname;
53 int size_sysinfo;
54 int size_msqid_ds;
55 int size_shmid_ds;
56 int size_new_utsname;
57 int size_timex;
58 int size_mem_dqinfo;
59 int size_if_dqblk;
60 int size_fs_quota_stat;
61 int size_timespec;
62 int size_pollfd;
63 int size_NFS_FHSIZE;
64 int size_knfsd_fh;
65 int size_TASK_COMM_LEN;
66 int size_sigaction;
67 int size_sigset_t;
68 int size_siginfo_t;
69 int size_cap_user_data_t;
70 int size_stack_t;
71 int size_off_t;
72 int size_stat64;
73 int size_gid_t;
74 int size_uid_t;
75 int size_PAGE_SIZE;
76 int size_flock64;
77 int size_user_desc;
78 int size_io_event;
79 int size_iocb;
80 int size_epoll_event;
81 int size_itimerspec;
82 int size_mq_attr;
83 int size_siginfo;
84
85 int size_termios;
86 int size_termios2;
87 int size_pid_t;
88 int size_winsize;
89 int size_serial_struct;
90 int size_serial_icounter_struct;
91 int size_hayes_esp_config;
92
93 /* The values of the second argument of system call "sys_ioctl". */
94 int ioctl_TCGETS;
95 int ioctl_TCSETS;
96 int ioctl_TCSETSW;
97 int ioctl_TCSETSF;
98 int ioctl_TCGETA;
99 int ioctl_TCSETA;
100 int ioctl_TCSETAW;
101 int ioctl_TCSETAF;
102 int ioctl_TCSBRK;
103 int ioctl_TCXONC;
104 int ioctl_TCFLSH;
105 int ioctl_TIOCEXCL;
106 int ioctl_TIOCNXCL;
107 int ioctl_TIOCSCTTY;
108 int ioctl_TIOCGPGRP;
109 int ioctl_TIOCSPGRP;
110 int ioctl_TIOCOUTQ;
111 int ioctl_TIOCSTI;
112 int ioctl_TIOCGWINSZ;
113 int ioctl_TIOCSWINSZ;
114 int ioctl_TIOCMGET;
115 int ioctl_TIOCMBIS;
116 int ioctl_TIOCMBIC;
117 int ioctl_TIOCMSET;
118 int ioctl_TIOCGSOFTCAR;
119 int ioctl_TIOCSSOFTCAR;
120 int ioctl_FIONREAD;
121 int ioctl_TIOCINQ;
122 int ioctl_TIOCLINUX;
123 int ioctl_TIOCCONS;
124 int ioctl_TIOCGSERIAL;
125 int ioctl_TIOCSSERIAL;
126 int ioctl_TIOCPKT;
127 int ioctl_FIONBIO;
128 int ioctl_TIOCNOTTY;
129 int ioctl_TIOCSETD;
130 int ioctl_TIOCGETD;
131 int ioctl_TCSBRKP;
132 int ioctl_TIOCTTYGSTRUCT;
133 int ioctl_TIOCSBRK;
134 int ioctl_TIOCCBRK;
135 int ioctl_TIOCGSID;
136 int ioctl_TCGETS2;
137 int ioctl_TCSETS2;
138 int ioctl_TCSETSW2;
139 int ioctl_TCSETSF2;
140 int ioctl_TIOCGPTN;
141 int ioctl_TIOCSPTLCK;
142 int ioctl_FIONCLEX;
143 int ioctl_FIOCLEX;
144 int ioctl_FIOASYNC;
145 int ioctl_TIOCSERCONFIG;
146 int ioctl_TIOCSERGWILD;
147 int ioctl_TIOCSERSWILD;
148 int ioctl_TIOCGLCKTRMIOS;
149 int ioctl_TIOCSLCKTRMIOS;
150 int ioctl_TIOCSERGSTRUCT;
151 int ioctl_TIOCSERGETLSR;
152 int ioctl_TIOCSERGETMULTI;
153 int ioctl_TIOCSERSETMULTI;
154 int ioctl_TIOCMIWAIT;
155 int ioctl_TIOCGICOUNT;
156 int ioctl_TIOCGHAYESESP;
157 int ioctl_TIOCSHAYESESP;
158 int ioctl_FIOQSIZE;
159
160 /* The values of the second argument of system call "sys_fcntl"
161 and "sys_fcntl64". */
162 int fcntl_F_GETLK;
163 int fcntl_F_GETLK64;
164 int fcntl_F_SETLK64;
165 int fcntl_F_SETLKW64;
166
167 /* The number of the registers that are used as the arguments of
168 a system call. */
169 int arg1;
170 int arg2;
171 int arg3;
172 int arg4;
173 int arg5;
174 };
175
176 extern int record_linux_system_call (int num, struct regcache *regcache,
177 struct linux_record_tdep *tdep);
178
179 #endif /* _LINUX_RECORD_H_ */
This page took 0.034572 seconds and 5 git commands to generate.