| /* Process record and replay target code for GNU/Linux. |
| |
| Copyright (C) 2008, 2009 Free Software Foundation, Inc. |
| |
| This file is part of GDB. |
| |
| This program is free software; you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation; either version 3 of the License, or |
| (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
| |
| #ifndef _LINUX_RECORD_H_ |
| #define _LINUX_RECORD_H_ |
| |
| struct linux_record_tdep |
| { |
| /* The size of the type that will be used in a system call. */ |
| int size__old_kernel_stat; |
| int size_tms; |
| int size_loff_t; |
| int size_flock; |
| int size_oldold_utsname; |
| int size_ustat; |
| int size_old_sigaction; |
| int size_old_sigset_t; |
| int size_rlimit; |
| int size_rusage; |
| int size_timeval; |
| int size_timezone; |
| int size_old_gid_t; |
| int size_old_uid_t; |
| int size_fd_set; |
| int size_dirent; |
| int size_dirent64; |
| int size_statfs; |
| int size_statfs64; |
| int size_sockaddr; |
| int size_int; |
| int size_long; |
| int size_ulong; |
| int size_msghdr; |
| int size_itimerval; |
| int size_stat; |
| int size_old_utsname; |
| int size_sysinfo; |
| int size_msqid_ds; |
| int size_shmid_ds; |
| int size_new_utsname; |
| int size_timex; |
| int size_mem_dqinfo; |
| int size_if_dqblk; |
| int size_fs_quota_stat; |
| int size_timespec; |
| int size_pollfd; |
| int size_NFS_FHSIZE; |
| int size_knfsd_fh; |
| int size_TASK_COMM_LEN; |
| int size_sigaction; |
| int size_sigset_t; |
| int size_siginfo_t; |
| int size_cap_user_data_t; |
| int size_stack_t; |
| int size_off_t; |
| int size_stat64; |
| int size_gid_t; |
| int size_uid_t; |
| int size_PAGE_SIZE; |
| int size_flock64; |
| int size_user_desc; |
| int size_io_event; |
| int size_iocb; |
| int size_epoll_event; |
| int size_itimerspec; |
| int size_mq_attr; |
| int size_siginfo; |
| |
| int size_termios; |
| int size_termios2; |
| int size_pid_t; |
| int size_winsize; |
| int size_serial_struct; |
| int size_serial_icounter_struct; |
| int size_hayes_esp_config; |
| |
| /* The values of the second argument of system call "sys_ioctl". */ |
| int ioctl_TCGETS; |
| int ioctl_TCSETS; |
| int ioctl_TCSETSW; |
| int ioctl_TCSETSF; |
| int ioctl_TCGETA; |
| int ioctl_TCSETA; |
| int ioctl_TCSETAW; |
| int ioctl_TCSETAF; |
| int ioctl_TCSBRK; |
| int ioctl_TCXONC; |
| int ioctl_TCFLSH; |
| int ioctl_TIOCEXCL; |
| int ioctl_TIOCNXCL; |
| int ioctl_TIOCSCTTY; |
| int ioctl_TIOCGPGRP; |
| int ioctl_TIOCSPGRP; |
| int ioctl_TIOCOUTQ; |
| int ioctl_TIOCSTI; |
| int ioctl_TIOCGWINSZ; |
| int ioctl_TIOCSWINSZ; |
| int ioctl_TIOCMGET; |
| int ioctl_TIOCMBIS; |
| int ioctl_TIOCMBIC; |
| int ioctl_TIOCMSET; |
| int ioctl_TIOCGSOFTCAR; |
| int ioctl_TIOCSSOFTCAR; |
| int ioctl_FIONREAD; |
| int ioctl_TIOCINQ; |
| int ioctl_TIOCLINUX; |
| int ioctl_TIOCCONS; |
| int ioctl_TIOCGSERIAL; |
| int ioctl_TIOCSSERIAL; |
| int ioctl_TIOCPKT; |
| int ioctl_FIONBIO; |
| int ioctl_TIOCNOTTY; |
| int ioctl_TIOCSETD; |
| int ioctl_TIOCGETD; |
| int ioctl_TCSBRKP; |
| int ioctl_TIOCTTYGSTRUCT; |
| int ioctl_TIOCSBRK; |
| int ioctl_TIOCCBRK; |
| int ioctl_TIOCGSID; |
| int ioctl_TCGETS2; |
| int ioctl_TCSETS2; |
| int ioctl_TCSETSW2; |
| int ioctl_TCSETSF2; |
| int ioctl_TIOCGPTN; |
| int ioctl_TIOCSPTLCK; |
| int ioctl_FIONCLEX; |
| int ioctl_FIOCLEX; |
| int ioctl_FIOASYNC; |
| int ioctl_TIOCSERCONFIG; |
| int ioctl_TIOCSERGWILD; |
| int ioctl_TIOCSERSWILD; |
| int ioctl_TIOCGLCKTRMIOS; |
| int ioctl_TIOCSLCKTRMIOS; |
| int ioctl_TIOCSERGSTRUCT; |
| int ioctl_TIOCSERGETLSR; |
| int ioctl_TIOCSERGETMULTI; |
| int ioctl_TIOCSERSETMULTI; |
| int ioctl_TIOCMIWAIT; |
| int ioctl_TIOCGICOUNT; |
| int ioctl_TIOCGHAYESESP; |
| int ioctl_TIOCSHAYESESP; |
| int ioctl_FIOQSIZE; |
| |
| /* The values of the second argument of system call "sys_fcntl" |
| and "sys_fcntl64". */ |
| int fcntl_F_GETLK; |
| int fcntl_F_GETLK64; |
| int fcntl_F_SETLK64; |
| int fcntl_F_SETLKW64; |
| |
| /* The number of the registers that are used as the arguments of |
| a system call. */ |
| int arg1; |
| int arg2; |
| int arg3; |
| int arg4; |
| int arg5; |
| }; |
| |
| extern int record_linux_system_call (int num, struct regcache *regcache, |
| struct linux_record_tdep *tdep); |
| |
| #endif /* _LINUX_RECORD_H_ */ |