173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 273b526fb4af0f60634f0078583d92b931d5c0eebnethercote/*--------------------------------------------------------------------*/ 34de47b1c9bfe84ddd76a9e71e486c5085c51e3a8njn/*--- x86/Linux-specific kernel interface. vki-x86-linux.h ---*/ 473b526fb4af0f60634f0078583d92b931d5c0eebnethercote/*--------------------------------------------------------------------*/ 573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 673b526fb4af0f60634f0078583d92b931d5c0eebnethercote/* 7b9c427c63a278cc612ae0ec573be7bb1abaa447fnjn This file is part of Valgrind, a dynamic binary instrumentation 8b9c427c63a278cc612ae0ec573be7bb1abaa447fnjn framework. 973b526fb4af0f60634f0078583d92b931d5c0eebnethercote 10ed39800a83baf5bffbe391f3974eb2af0f415f80Elliott Hughes Copyright (C) 2000-2017 Julian Seward 1173b526fb4af0f60634f0078583d92b931d5c0eebnethercote jseward@acm.org 1273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 1373b526fb4af0f60634f0078583d92b931d5c0eebnethercote This program is free software; you can redistribute it and/or 1473b526fb4af0f60634f0078583d92b931d5c0eebnethercote modify it under the terms of the GNU General Public License as 1573b526fb4af0f60634f0078583d92b931d5c0eebnethercote published by the Free Software Foundation; either version 2 of the 1673b526fb4af0f60634f0078583d92b931d5c0eebnethercote License, or (at your option) any later version. 1773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 1873b526fb4af0f60634f0078583d92b931d5c0eebnethercote This program is distributed in the hope that it will be useful, but 1973b526fb4af0f60634f0078583d92b931d5c0eebnethercote WITHOUT ANY WARRANTY; without even the implied warranty of 2073b526fb4af0f60634f0078583d92b931d5c0eebnethercote MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 2173b526fb4af0f60634f0078583d92b931d5c0eebnethercote General Public License for more details. 2273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 2373b526fb4af0f60634f0078583d92b931d5c0eebnethercote You should have received a copy of the GNU General Public License 2473b526fb4af0f60634f0078583d92b931d5c0eebnethercote along with this program; if not, write to the Free Software 2573b526fb4af0f60634f0078583d92b931d5c0eebnethercote Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 2673b526fb4af0f60634f0078583d92b931d5c0eebnethercote 02111-1307, USA. 2773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 2873b526fb4af0f60634f0078583d92b931d5c0eebnethercote The GNU General Public License is contained in the file COPYING. 2973b526fb4af0f60634f0078583d92b931d5c0eebnethercote*/ 3073b526fb4af0f60634f0078583d92b931d5c0eebnethercote 314de47b1c9bfe84ddd76a9e71e486c5085c51e3a8njn#ifndef __VKI_X86_LINUX_H 324de47b1c9bfe84ddd76a9e71e486c5085c51e3a8njn#define __VKI_X86_LINUX_H 3373b526fb4af0f60634f0078583d92b931d5c0eebnethercote 3473b526fb4af0f60634f0078583d92b931d5c0eebnethercote// x86 is little-endian. 3573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_LITTLE_ENDIAN 1 3673b526fb4af0f60634f0078583d92b931d5c0eebnethercote 3773b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 3873b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/types.h 3973b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 4073b526fb4af0f60634f0078583d92b931d5c0eebnethercote 4173b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef unsigned char __vki_u8; 4273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 4373b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef __signed__ short __vki_s16; 4473b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef unsigned short __vki_u16; 4573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 461aa57373be5343c365ee6b480e205abc16008402tomtypedef __signed__ int __vki_s32; 4773b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef unsigned int __vki_u32; 4873b526fb4af0f60634f0078583d92b931d5c0eebnethercote 4973b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef __signed__ long long __vki_s64; 5073b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef unsigned long long __vki_u64; 5173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 5273b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef unsigned short vki_u16; 5373b526fb4af0f60634f0078583d92b931d5c0eebnethercote 54660e4eefc61fbfa322277ab4afaa6ae4e0104ab7nethercotetypedef unsigned int vki_u32; 55660e4eefc61fbfa322277ab4afaa6ae4e0104ab7nethercote 5673b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 5773b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/page.h 5873b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 5973b526fb4af0f60634f0078583d92b931d5c0eebnethercote 6073b526fb4af0f60634f0078583d92b931d5c0eebnethercote/* PAGE_SHIFT determines the page size */ 6173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_PAGE_SHIFT 12 6273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_PAGE_SIZE (1UL << VKI_PAGE_SHIFT) 63e66f2e09ec1aa9bab7a0fd6b02a6a6150ea85190sewardj#define VKI_MAX_PAGE_SHIFT VKI_PAGE_SHIFT 64e66f2e09ec1aa9bab7a0fd6b02a6a6150ea85190sewardj#define VKI_MAX_PAGE_SIZE VKI_PAGE_SIZE 6573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 6673b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 67a69c2def56fbfa9212f804b265ec2650b6e97c23sewardj// From linux-2.6.35.4/arch/x86/include/asm/shmparam.h 68a69c2def56fbfa9212f804b265ec2650b6e97c23sewardj//---------------------------------------------------------------------- 69a69c2def56fbfa9212f804b265ec2650b6e97c23sewardj 70a69c2def56fbfa9212f804b265ec2650b6e97c23sewardj#define VKI_SHMLBA VKI_PAGE_SIZE 71a69c2def56fbfa9212f804b265ec2650b6e97c23sewardj 72a69c2def56fbfa9212f804b265ec2650b6e97c23sewardj//---------------------------------------------------------------------- 7373b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/signal.h 7473b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 7573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 7673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_MINSIGSTKSZ 2048 7773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 7873b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIG_BLOCK 0 /* for blocking signals */ 7973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIG_UNBLOCK 1 /* for unblocking signals */ 8073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIG_SETMASK 2 /* for setting the signal mask */ 8173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 8273b526fb4af0f60634f0078583d92b931d5c0eebnethercote/* Type of a signal handler. */ 8373b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef void __vki_signalfn_t(int); 8473b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef __vki_signalfn_t __user *__vki_sighandler_t; 8573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 8673b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef void __vki_restorefn_t(void); 8773b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef __vki_restorefn_t __user *__vki_sigrestore_t; 8873b526fb4af0f60634f0078583d92b931d5c0eebnethercote 8973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIG_DFL ((__vki_sighandler_t)0) /* default signal handling */ 9073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIG_IGN ((__vki_sighandler_t)1) /* ignore signal */ 9173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 9273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_NSIG 64 9373b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_NSIG_BPW 32 9473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_NSIG_WORDS (_VKI_NSIG / _VKI_NSIG_BPW) 9573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 9617258dc59ba69b305064bec5338eeb440911e5f6nethercotetypedef unsigned long vki_old_sigset_t; /* at least 32 bits */ 9717258dc59ba69b305064bec5338eeb440911e5f6nethercote 9873b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef struct { 9973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long sig[_VKI_NSIG_WORDS]; 10073b526fb4af0f60634f0078583d92b931d5c0eebnethercote} vki_sigset_t; 10173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 10273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGHUP 1 10373b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGINT 2 10473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGQUIT 3 10573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGILL 4 10673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGTRAP 5 10773b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGABRT 6 10873b526fb4af0f60634f0078583d92b931d5c0eebnethercote//#define VKI_SIGIOT 6 10973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGBUS 7 11073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGFPE 8 11173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGKILL 9 11273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGUSR1 10 11373b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGSEGV 11 11473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGUSR2 12 11573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGPIPE 13 11673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGALRM 14 11773b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGTERM 15 11873b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGSTKFLT 16 11973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGCHLD 17 12073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGCONT 18 12173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGSTOP 19 12273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGTSTP 20 12373b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGTTIN 21 12473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGTTOU 22 12573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGURG 23 12673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGXCPU 24 12773b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGXFSZ 25 12873b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGVTALRM 26 12973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGPROF 27 13073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGWINCH 28 13173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGIO 29 13273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGPWR 30 13373b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGSYS 31 13473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGUNUSED 31 13573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 13673b526fb4af0f60634f0078583d92b931d5c0eebnethercote/* These should not be considered constants from userland. */ 13773b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGRTMIN 32 13873b526fb4af0f60634f0078583d92b931d5c0eebnethercote// [[This was (_NSIG-1) in 2.4.X... not sure if it matters.]] 13973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SIGRTMAX _VKI_NSIG 14073b526fb4af0f60634f0078583d92b931d5c0eebnethercote 14173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SA_NOCLDSTOP 0x00000001u 14273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SA_NOCLDWAIT 0x00000002u 14373b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SA_SIGINFO 0x00000004u 14473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SA_ONSTACK 0x08000000u 14573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SA_RESTART 0x10000000u 14673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SA_NODEFER 0x40000000u 14773b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SA_RESETHAND 0x80000000u 14873b526fb4af0f60634f0078583d92b931d5c0eebnethercote 14973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SA_NOMASK VKI_SA_NODEFER 15073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SA_ONESHOT VKI_SA_RESETHAND 15173b526fb4af0f60634f0078583d92b931d5c0eebnethercote//#define VKI_SA_INTERRUPT 0x20000000 /* dummy -- ignored */ 15273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 15373b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SA_RESTORER 0x04000000 15473b526fb4af0f60634f0078583d92b931d5c0eebnethercote 15573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SS_ONSTACK 1 15673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SS_DISABLE 2 15773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 158cda2f0fbda4c4b2644babc830244be8aed95de1dnjn/* These are 'legacy' sigactions in which the size of sa_mask is fixed 159cda2f0fbda4c4b2644babc830244be8aed95de1dnjn (cannot be expanded at any future point) because it is sandwiched 160cda2f0fbda4c4b2644babc830244be8aed95de1dnjn between two other fields. 161cda2f0fbda4c4b2644babc830244be8aed95de1dnjn (there is identical kludgery in vki-ppc32-linux.h) */ 162686b5db44f043ebb74f3db0fa3b803de3f313b60nethercotestruct vki_old_sigaction { 16373b526fb4af0f60634f0078583d92b931d5c0eebnethercote // [[Nb: a 'k' prefix is added to "sa_handler" because 16473b526fb4af0f60634f0078583d92b931d5c0eebnethercote // bits/sigaction.h (which gets dragged in somehow via signal.h) 16573b526fb4af0f60634f0078583d92b931d5c0eebnethercote // #defines it as something else. Since that is done for glibc's 16673b526fb4af0f60634f0078583d92b931d5c0eebnethercote // purposes, which we don't care about here, we use our own name.]] 167686b5db44f043ebb74f3db0fa3b803de3f313b60nethercote __vki_sighandler_t ksa_handler; 168686b5db44f043ebb74f3db0fa3b803de3f313b60nethercote vki_old_sigset_t sa_mask; 169686b5db44f043ebb74f3db0fa3b803de3f313b60nethercote unsigned long sa_flags; 170686b5db44f043ebb74f3db0fa3b803de3f313b60nethercote __vki_sigrestore_t sa_restorer; 171686b5db44f043ebb74f3db0fa3b803de3f313b60nethercote}; 172686b5db44f043ebb74f3db0fa3b803de3f313b60nethercote 173cda2f0fbda4c4b2644babc830244be8aed95de1dnjnstruct vki_sigaction_base { 174686b5db44f043ebb74f3db0fa3b803de3f313b60nethercote // [[See comment about extra 'k' above]] 17573b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_sighandler_t ksa_handler; 17673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long sa_flags; 17773b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_sigrestore_t sa_restorer; 17873b526fb4af0f60634f0078583d92b931d5c0eebnethercote vki_sigset_t sa_mask; /* mask last for extensibility */ 17973b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 18073b526fb4af0f60634f0078583d92b931d5c0eebnethercote 181cda2f0fbda4c4b2644babc830244be8aed95de1dnjn/* On Linux we use the same type for passing sigactions to 182cda2f0fbda4c4b2644babc830244be8aed95de1dnjn and from the kernel. Hence: */ 183cda2f0fbda4c4b2644babc830244be8aed95de1dnjntypedef struct vki_sigaction_base vki_sigaction_toK_t; 184cda2f0fbda4c4b2644babc830244be8aed95de1dnjntypedef struct vki_sigaction_base vki_sigaction_fromK_t; 185cda2f0fbda4c4b2644babc830244be8aed95de1dnjn 186cda2f0fbda4c4b2644babc830244be8aed95de1dnjn 18773b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef struct vki_sigaltstack { 18873b526fb4af0f60634f0078583d92b931d5c0eebnethercote void __user *ss_sp; 18973b526fb4af0f60634f0078583d92b931d5c0eebnethercote int ss_flags; 19073b526fb4af0f60634f0078583d92b931d5c0eebnethercote vki_size_t ss_size; 19173b526fb4af0f60634f0078583d92b931d5c0eebnethercote} vki_stack_t; 19273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 19373b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 19473b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/sigcontext.h 19573b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 19673b526fb4af0f60634f0078583d92b931d5c0eebnethercote 19773b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct _vki_fpreg { 19873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short significand[4]; 19973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short exponent; 20073b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 20173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 20273b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct _vki_fpxreg { 20373b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short significand[4]; 20473b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short exponent; 20573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short padding[3]; 20673b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 20773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 20873b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct _vki_xmmreg { 20973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long element[4]; 21073b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 21173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 21273b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct _vki_fpstate { 21373b526fb4af0f60634f0078583d92b931d5c0eebnethercote /* Regular FPU environment */ 21473b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long cw; 21573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long sw; 21673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long tag; 21773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long ipoff; 21873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long cssel; 21973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long dataoff; 22073b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long datasel; 22173b526fb4af0f60634f0078583d92b931d5c0eebnethercote struct _vki_fpreg _st[8]; 22273b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short status; 22373b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short magic; /* 0xffff = regular FPU data only */ 22473b526fb4af0f60634f0078583d92b931d5c0eebnethercote 22573b526fb4af0f60634f0078583d92b931d5c0eebnethercote /* FXSR FPU environment */ 22673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long _fxsr_env[6]; /* FXSR FPU env is ignored */ 22773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long mxcsr; 22873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long reserved; 22973b526fb4af0f60634f0078583d92b931d5c0eebnethercote struct _vki_fpxreg _fxsr_st[8]; /* FXSR FPU reg data is ignored */ 23073b526fb4af0f60634f0078583d92b931d5c0eebnethercote struct _vki_xmmreg _xmm[8]; 23173b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long padding[56]; 23273b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 23373b526fb4af0f60634f0078583d92b931d5c0eebnethercote 23473b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_sigcontext { 23573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short gs, __gsh; 23673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short fs, __fsh; 23773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short es, __esh; 23873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short ds, __dsh; 23973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long edi; 24073b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long esi; 24173b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long ebp; 24273b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long esp; 24373b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long ebx; 24473b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long edx; 24573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long ecx; 24673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long eax; 24773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long trapno; 24873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long err; 24973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long eip; 25073b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short cs, __csh; 25173b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long eflags; 25273b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long esp_at_signal; 25373b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short ss, __ssh; 25473b526fb4af0f60634f0078583d92b931d5c0eebnethercote struct _vki_fpstate __user * fpstate; 25573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long oldmask; 25673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long cr2; 25773b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 25873b526fb4af0f60634f0078583d92b931d5c0eebnethercote 25973b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 26073b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/mman.h 26173b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 26273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 263b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj#define VKI_PROT_NONE 0x0 /* No page permissions */ 26473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_PROT_READ 0x1 /* page can be read */ 26573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_PROT_WRITE 0x2 /* page can be written */ 26673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_PROT_EXEC 0x4 /* page can be executed */ 26765505193b8d9c8f36f3df6c5d6a8e1d475bb37cbtom#define VKI_PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to start of growsdown vma */ 26865505193b8d9c8f36f3df6c5d6a8e1d475bb37cbtom#define VKI_PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end of growsup vma */ 26973b526fb4af0f60634f0078583d92b931d5c0eebnethercote 27073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_MAP_SHARED 0x01 /* Share changes */ 27173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_MAP_PRIVATE 0x02 /* Changes are private */ 27273b526fb4af0f60634f0078583d92b931d5c0eebnethercote//#define VKI_MAP_TYPE 0x0f /* Mask for type of mapping */ 27373b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_MAP_FIXED 0x10 /* Interpret addr exactly */ 27473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_MAP_ANONYMOUS 0x20 /* don't use a file */ 275b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj#define VKI_MAP_NORESERVE 0x4000 /* don't check for reservations */ 27673b526fb4af0f60634f0078583d92b931d5c0eebnethercote 27773b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 27873b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/fcntl.h 27973b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 28073b526fb4af0f60634f0078583d92b931d5c0eebnethercote 28191a16b78d3de85e68c5c5e2c13d2bf52d4676f5etom#define VKI_O_ACCMODE 03 28273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_O_RDONLY 00 28373b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_O_WRONLY 01 284b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj#define VKI_O_RDWR 02 28573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_O_CREAT 0100 /* not fcntl */ 28673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_O_EXCL 0200 /* not fcntl */ 28773b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_O_TRUNC 01000 /* not fcntl */ 2888467291c755c4ee291f7ad676b19c3b0392c675fnethercote#define VKI_O_APPEND 02000 28973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_O_NONBLOCK 04000 29028d2e641964eb9342ff012e2314e22b2094606c0njn#define VKI_O_LARGEFILE 0100000 29173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 292c9d66c0debd4d9d7882fd7ba874a37429bbcc170dirk#define VKI_AT_FDCWD -100 293c9d66c0debd4d9d7882fd7ba874a37429bbcc170dirk 29473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_F_DUPFD 0 /* dup */ 295cfb8ad53df2d8d59757bc9477da105fc7fbb1843njn#define VKI_F_GETFD 1 /* get close_on_exec */ 29673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_F_SETFD 2 /* set/clear close_on_exec */ 29773b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_F_GETFL 3 /* get file->f_flags */ 29873b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_F_SETFL 4 /* set file->f_flags */ 299cfb8ad53df2d8d59757bc9477da105fc7fbb1843njn#define VKI_F_GETLK 5 300cfb8ad53df2d8d59757bc9477da105fc7fbb1843njn#define VKI_F_SETLK 6 30173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_F_SETLKW 7 30273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 303cfb8ad53df2d8d59757bc9477da105fc7fbb1843njn#define VKI_F_SETOWN 8 /* for sockets. */ 304cfb8ad53df2d8d59757bc9477da105fc7fbb1843njn#define VKI_F_GETOWN 9 /* for sockets. */ 305cfb8ad53df2d8d59757bc9477da105fc7fbb1843njn#define VKI_F_SETSIG 10 /* for sockets. */ 306cfb8ad53df2d8d59757bc9477da105fc7fbb1843njn#define VKI_F_GETSIG 11 /* for sockets. */ 307cfb8ad53df2d8d59757bc9477da105fc7fbb1843njn 308cfb8ad53df2d8d59757bc9477da105fc7fbb1843njn#define VKI_F_GETLK64 12 /* using 'struct flock64' */ 309cfb8ad53df2d8d59757bc9477da105fc7fbb1843njn#define VKI_F_SETLK64 13 31073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_F_SETLKW64 14 31173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 312835a714e35b6ce920b1abbd338547fa0b4a7601etom#define VKI_F_SETOWN_EX 15 313835a714e35b6ce920b1abbd338547fa0b4a7601etom#define VKI_F_GETOWN_EX 16 314835a714e35b6ce920b1abbd338547fa0b4a7601etom 315f77df946e65783c2bc727807e508fa1af04f0da8tom#define VKI_F_OFD_GETLK 36 316f77df946e65783c2bc727807e508fa1af04f0da8tom#define VKI_F_OFD_SETLK 37 317f77df946e65783c2bc727807e508fa1af04f0da8tom#define VKI_F_OFD_SETLKW 38 318f77df946e65783c2bc727807e508fa1af04f0da8tom 319835a714e35b6ce920b1abbd338547fa0b4a7601etom#define VKI_F_OWNER_TID 0 320835a714e35b6ce920b1abbd338547fa0b4a7601etom#define VKI_F_OWNER_PID 1 321835a714e35b6ce920b1abbd338547fa0b4a7601etom#define VKI_F_OWNER_PGRP 2 322835a714e35b6ce920b1abbd338547fa0b4a7601etom 323835a714e35b6ce920b1abbd338547fa0b4a7601etomstruct vki_f_owner_ex { 324835a714e35b6ce920b1abbd338547fa0b4a7601etom int type; 325835a714e35b6ce920b1abbd338547fa0b4a7601etom __vki_kernel_pid_t pid; 326835a714e35b6ce920b1abbd338547fa0b4a7601etom}; 327835a714e35b6ce920b1abbd338547fa0b4a7601etom 32873b526fb4af0f60634f0078583d92b931d5c0eebnethercote/* for F_[GET|SET]FL */ 32973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_FD_CLOEXEC 1 /* actually anything with low bit set goes */ 33073b526fb4af0f60634f0078583d92b931d5c0eebnethercote 331cfb8ad53df2d8d59757bc9477da105fc7fbb1843njn#define VKI_F_LINUX_SPECIFIC_BASE 1024 33273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 33373b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 33473b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/resource.h 33573b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 33673b526fb4af0f60634f0078583d92b931d5c0eebnethercote 33773b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_RLIMIT_DATA 2 /* max data size */ 33873b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_RLIMIT_STACK 3 /* max stack size */ 33973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_RLIMIT_CORE 4 /* max core file size */ 34073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_RLIMIT_NOFILE 7 /* max number of open files */ 34173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 34273b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 34373b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/socket.h 34473b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 34573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 34673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SOL_SOCKET 1 34773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 34873b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_SO_TYPE 3 34973b526fb4af0f60634f0078583d92b931d5c0eebnethercote 3508f420f1a5d392c461def7e5578d84fc39029dbc6tom#define VKI_SO_ATTACH_FILTER 26 3518f420f1a5d392c461def7e5578d84fc39029dbc6tom 35273b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 35373b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/sockios.h 35473b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 35573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 356a2ec4f53cfbf020c69aa8faae53a1435b29a55f2tom#define VKI_SIOCSPGRP 0x8902 357a2ec4f53cfbf020c69aa8faae53a1435b29a55f2tom#define VKI_SIOCGPGRP 0x8904 3584f17e600c7f0a697a964eb7083627b6d759401b6tom#define VKI_SIOCATMARK 0x8905 359a2ec4f53cfbf020c69aa8faae53a1435b29a55f2tom#define VKI_SIOCGSTAMP 0x8906 /* Get stamp (timeval) */ 360a2ec4f53cfbf020c69aa8faae53a1435b29a55f2tom#define VKI_SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */ 36173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 36273b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 36373b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/stat.h 36473b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 36573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 36673b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_stat { 36773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_dev; 36873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_ino; 36973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short st_mode; 37073b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short st_nlink; 37173b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short st_uid; 37273b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short st_gid; 37373b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_rdev; 37473b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_size; 37573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_blksize; 37673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_blocks; 37773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_atime; 37873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_atime_nsec; 37973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_mtime; 38073b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_mtime_nsec; 38173b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_ctime; 38273b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_ctime_nsec; 38373b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused4; 38473b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused5; 38573b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 38673b526fb4af0f60634f0078583d92b931d5c0eebnethercote 38773b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_stat64 { 38873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long long st_dev; 38973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned char __pad0[4]; 39073b526fb4af0f60634f0078583d92b931d5c0eebnethercote 39173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define STAT64_HAS_BROKEN_ST_INO 1 39273b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __st_ino; 39373b526fb4af0f60634f0078583d92b931d5c0eebnethercote 39473b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned int st_mode; 39573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned int st_nlink; 39673b526fb4af0f60634f0078583d92b931d5c0eebnethercote 39773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_uid; 39873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_gid; 39973b526fb4af0f60634f0078583d92b931d5c0eebnethercote 40073b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long long st_rdev; 40173b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned char __pad3[4]; 40273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 40373b526fb4af0f60634f0078583d92b931d5c0eebnethercote long long st_size; 40473b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_blksize; 40573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 40673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_blocks; /* Number 512-byte blocks allocated. */ 40773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __pad4; /* future possible st_blocks high bits */ 40873b526fb4af0f60634f0078583d92b931d5c0eebnethercote 40973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_atime; 41073b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_atime_nsec; 41173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 41273b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_mtime; 41373b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned int st_mtime_nsec; 41473b526fb4af0f60634f0078583d92b931d5c0eebnethercote 41573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_ctime; 41673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long st_ctime_nsec; 41773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 41873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long long st_ino; 41973b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 42073b526fb4af0f60634f0078583d92b931d5c0eebnethercote 42173b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 42273b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/statfs.h 42373b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 42473b526fb4af0f60634f0078583d92b931d5c0eebnethercote 425ca0518df66f8c3375a860f1a55a51f18e2a16c44njn// [[Nb: asm-i386/statfs.h just #include asm-generic/statfs.h directly]] 42673b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_statfs { 42773b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_u32 f_type; 42873b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_u32 f_bsize; 42973b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_u32 f_blocks; 43073b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_u32 f_bfree; 43173b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_u32 f_bavail; 43273b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_u32 f_files; 43373b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_u32 f_ffree; 43473b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_fsid_t f_fsid; 43573b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_u32 f_namelen; 43673b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_u32 f_frsize; 43773b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_u32 f_spare[5]; 43873b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 43973b526fb4af0f60634f0078583d92b931d5c0eebnethercote 44073b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 44173b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/termios.h 44273b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 44373b526fb4af0f60634f0078583d92b931d5c0eebnethercote 44473b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_winsize { 44573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short ws_row; 44673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short ws_col; 44773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short ws_xpixel; 44873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short ws_ypixel; 44973b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 45073b526fb4af0f60634f0078583d92b931d5c0eebnethercote 45173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_NCC 8 45273b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_termio { 45373b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short c_iflag; /* input mode flags */ 45473b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short c_oflag; /* output mode flags */ 45573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short c_cflag; /* control mode flags */ 45673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short c_lflag; /* local mode flags */ 45773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned char c_line; /* line discipline */ 45873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned char c_cc[VKI_NCC]; /* control characters */ 45973b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 46073b526fb4af0f60634f0078583d92b931d5c0eebnethercote 46173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 46273b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 46373b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/termbits.h 46473b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 46573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 466017e5833f60c5e41d1c0a61a8953fc7a23977efenethercotetypedef unsigned char vki_cc_t; 467017e5833f60c5e41d1c0a61a8953fc7a23977efenethercotetypedef unsigned int vki_tcflag_t; 468017e5833f60c5e41d1c0a61a8953fc7a23977efenethercote 469017e5833f60c5e41d1c0a61a8953fc7a23977efenethercote#define VKI_NCCS 19 470017e5833f60c5e41d1c0a61a8953fc7a23977efenethercotestruct vki_termios { 471017e5833f60c5e41d1c0a61a8953fc7a23977efenethercote vki_tcflag_t c_iflag; /* input mode flags */ 472017e5833f60c5e41d1c0a61a8953fc7a23977efenethercote vki_tcflag_t c_oflag; /* output mode flags */ 473017e5833f60c5e41d1c0a61a8953fc7a23977efenethercote vki_tcflag_t c_cflag; /* control mode flags */ 474017e5833f60c5e41d1c0a61a8953fc7a23977efenethercote vki_tcflag_t c_lflag; /* local mode flags */ 475017e5833f60c5e41d1c0a61a8953fc7a23977efenethercote vki_cc_t c_line; /* line discipline */ 476017e5833f60c5e41d1c0a61a8953fc7a23977efenethercote vki_cc_t c_cc[VKI_NCCS]; /* control characters */ 477017e5833f60c5e41d1c0a61a8953fc7a23977efenethercote}; 47873b526fb4af0f60634f0078583d92b931d5c0eebnethercote 47973b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 48073b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/ioctl.h 48173b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 48273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 483c616819253fcf211745060b2be26076174b1df19njn#define _VKI_IOC_NRBITS 8 48473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_TYPEBITS 8 48573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_SIZEBITS 14 48673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_DIRBITS 2 48773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 488b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj#define _VKI_IOC_NRMASK ((1 << _VKI_IOC_NRBITS)-1) 489b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj#define _VKI_IOC_TYPEMASK ((1 << _VKI_IOC_TYPEBITS)-1) 49073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_SIZEMASK ((1 << _VKI_IOC_SIZEBITS)-1) 49173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_DIRMASK ((1 << _VKI_IOC_DIRBITS)-1) 49273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 49373b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_NRSHIFT 0 49473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_TYPESHIFT (_VKI_IOC_NRSHIFT+_VKI_IOC_NRBITS) 49573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_SIZESHIFT (_VKI_IOC_TYPESHIFT+_VKI_IOC_TYPEBITS) 49673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_DIRSHIFT (_VKI_IOC_SIZESHIFT+_VKI_IOC_SIZEBITS) 49773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 49873b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_NONE 0U 49973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_WRITE 1U 50073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_READ 2U 50173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 50273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC(dir,type,nr,size) \ 50373b526fb4af0f60634f0078583d92b931d5c0eebnethercote (((dir) << _VKI_IOC_DIRSHIFT) | \ 50473b526fb4af0f60634f0078583d92b931d5c0eebnethercote ((type) << _VKI_IOC_TYPESHIFT) | \ 50573b526fb4af0f60634f0078583d92b931d5c0eebnethercote ((nr) << _VKI_IOC_NRSHIFT) | \ 50673b526fb4af0f60634f0078583d92b931d5c0eebnethercote ((size) << _VKI_IOC_SIZESHIFT)) 50773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 50873b526fb4af0f60634f0078583d92b931d5c0eebnethercote/* used to create numbers */ 50973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IO(type,nr) _VKI_IOC(_VKI_IOC_NONE,(type),(nr),0) 51073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOR(type,nr,size) _VKI_IOC(_VKI_IOC_READ,(type),(nr),(_VKI_IOC_TYPECHECK(size))) 51173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOW(type,nr,size) _VKI_IOC(_VKI_IOC_WRITE,(type),(nr),(_VKI_IOC_TYPECHECK(size))) 51273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOWR(type,nr,size) _VKI_IOC(_VKI_IOC_READ|_VKI_IOC_WRITE,(type),(nr),(_VKI_IOC_TYPECHECK(size))) 51373b526fb4af0f60634f0078583d92b931d5c0eebnethercote 51473b526fb4af0f60634f0078583d92b931d5c0eebnethercote/* used to decode ioctl numbers.. */ 51573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_DIR(nr) (((nr) >> _VKI_IOC_DIRSHIFT) & _VKI_IOC_DIRMASK) 516b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj#define _VKI_IOC_TYPE(nr) (((nr) >> _VKI_IOC_TYPESHIFT) & _VKI_IOC_TYPEMASK) 517b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj#define _VKI_IOC_NR(nr) (((nr) >> _VKI_IOC_NRSHIFT) & _VKI_IOC_NRMASK) 51873b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define _VKI_IOC_SIZE(nr) (((nr) >> _VKI_IOC_SIZESHIFT) & _VKI_IOC_SIZEMASK) 51973b526fb4af0f60634f0078583d92b931d5c0eebnethercote 52073b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 52173b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/ioctls.h 52273b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 52373b526fb4af0f60634f0078583d92b931d5c0eebnethercote 52473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TCGETS 0x5401 52573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TCSETS 0x5402 /* Clashes with SNDCTL_TMR_START sound ioctl */ 52673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TCSETSW 0x5403 52773b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TCSETSF 0x5404 52873b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TCGETA 0x5405 52973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TCSETA 0x5406 53073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TCSETAW 0x5407 53173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TCSETAF 0x5408 53273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TCSBRK 0x5409 53373b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TCXONC 0x540A 53473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TCFLSH 0x540B 53573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TIOCSCTTY 0x540E 53673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TIOCGPGRP 0x540F 53773b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TIOCSPGRP 0x5410 53873b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TIOCOUTQ 0x5411 53973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TIOCGWINSZ 0x5413 54073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TIOCSWINSZ 0x5414 54162ba758224e7e1289b0f9be52bcbcf73e36630a4tom#define VKI_TIOCMGET 0x5415 54273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TIOCMBIS 0x5416 54373b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TIOCMBIC 0x5417 54473b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TIOCMSET 0x5418 54573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_FIONREAD 0x541B 54673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TIOCLINUX 0x541C 54773b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_FIONBIO 0x5421 5484efdae1b2143692687d1e062ac336255898e7359tom#define VKI_TIOCNOTTY 0x5422 54973b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */ 55073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TIOCGPTN _VKI_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ 55173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_TIOCSPTLCK _VKI_IOW('T',0x31, int) /* Lock/unlock Pty */ 55273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 553a52c83526a1bb0a4e3223e56ddb096258fc5e422tom#define VKI_FIONCLEX 0x5450 554a52c83526a1bb0a4e3223e56ddb096258fc5e422tom#define VKI_FIOCLEX 0x5451 55573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_FIOASYNC 0x5452 5565d2af674214d1f7b9abda9b178775c69dc4f7c7dtom#define VKI_TIOCSERGETLSR 0x5459 /* Get line status register */ 5575d2af674214d1f7b9abda9b178775c69dc4f7c7dtom 5585d2af674214d1f7b9abda9b178775c69dc4f7c7dtom#define VKI_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */ 55973b526fb4af0f60634f0078583d92b931d5c0eebnethercote 56073b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 56173b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/poll.h 56273b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 56373b526fb4af0f60634f0078583d92b931d5c0eebnethercote 56473b526fb4af0f60634f0078583d92b931d5c0eebnethercote/* These are specified by iBCS2 */ 56573b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_POLLIN 0x0001 56673b526fb4af0f60634f0078583d92b931d5c0eebnethercote 56773b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_pollfd { 56873b526fb4af0f60634f0078583d92b931d5c0eebnethercote int fd; 56973b526fb4af0f60634f0078583d92b931d5c0eebnethercote short events; 57073b526fb4af0f60634f0078583d92b931d5c0eebnethercote short revents; 57173b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 57273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 57373b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 57473b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/user.h 57573b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 57673b526fb4af0f60634f0078583d92b931d5c0eebnethercote 57773b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_user_i387_struct { 57873b526fb4af0f60634f0078583d92b931d5c0eebnethercote long cwd; 57973b526fb4af0f60634f0078583d92b931d5c0eebnethercote long swd; 58073b526fb4af0f60634f0078583d92b931d5c0eebnethercote long twd; 58173b526fb4af0f60634f0078583d92b931d5c0eebnethercote long fip; 58273b526fb4af0f60634f0078583d92b931d5c0eebnethercote long fcs; 58373b526fb4af0f60634f0078583d92b931d5c0eebnethercote long foo; 58473b526fb4af0f60634f0078583d92b931d5c0eebnethercote long fos; 58573b526fb4af0f60634f0078583d92b931d5c0eebnethercote long st_space[20]; /* 8*10 bytes for each FP-reg = 80 bytes */ 58673b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 58773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 58873b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_user_fxsr_struct { 58973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short cwd; 59073b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short swd; 59173b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short twd; 59273b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short fop; 59373b526fb4af0f60634f0078583d92b931d5c0eebnethercote long fip; 59473b526fb4af0f60634f0078583d92b931d5c0eebnethercote long fcs; 59573b526fb4af0f60634f0078583d92b931d5c0eebnethercote long foo; 59673b526fb4af0f60634f0078583d92b931d5c0eebnethercote long fos; 59773b526fb4af0f60634f0078583d92b931d5c0eebnethercote long mxcsr; 59873b526fb4af0f60634f0078583d92b931d5c0eebnethercote long reserved; 59973b526fb4af0f60634f0078583d92b931d5c0eebnethercote long st_space[32]; /* 8*16 bytes for each FP-reg = 128 bytes */ 60073b526fb4af0f60634f0078583d92b931d5c0eebnethercote long xmm_space[32]; /* 8*16 bytes for each XMM-reg = 128 bytes */ 60173b526fb4af0f60634f0078583d92b931d5c0eebnethercote long padding[56]; 60273b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 60373b526fb4af0f60634f0078583d92b931d5c0eebnethercote 60473b526fb4af0f60634f0078583d92b931d5c0eebnethercote/* 60573b526fb4af0f60634f0078583d92b931d5c0eebnethercote * This is the old layout of "struct pt_regs", and 60673b526fb4af0f60634f0078583d92b931d5c0eebnethercote * is still the layout used by user mode (the new 60773b526fb4af0f60634f0078583d92b931d5c0eebnethercote * pt_regs doesn't have all registers as the kernel 60873b526fb4af0f60634f0078583d92b931d5c0eebnethercote * doesn't use the extra segment registers) 60973b526fb4af0f60634f0078583d92b931d5c0eebnethercote */ 61073b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_user_regs_struct { 61173b526fb4af0f60634f0078583d92b931d5c0eebnethercote long ebx, ecx, edx, esi, edi, ebp, eax; 61273b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short ds, __ds, es, __es; 61373b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short fs, __fs, gs, __gs; 61473b526fb4af0f60634f0078583d92b931d5c0eebnethercote long orig_eax, eip; 61573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short cs, __cs; 61673b526fb4af0f60634f0078583d92b931d5c0eebnethercote long eflags, esp; 61773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short ss, __ss; 61873b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 61973b526fb4af0f60634f0078583d92b931d5c0eebnethercote 62073b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 62173b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/elf.h 62273b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 62373b526fb4af0f60634f0078583d92b931d5c0eebnethercote 62473b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef unsigned long vki_elf_greg_t; 62573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 62673b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_ELF_NGREG (sizeof (struct vki_user_regs_struct) / sizeof(vki_elf_greg_t)) 62773b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef vki_elf_greg_t vki_elf_gregset_t[VKI_ELF_NGREG]; 62873b526fb4af0f60634f0078583d92b931d5c0eebnethercote 62973b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef struct vki_user_i387_struct vki_elf_fpregset_t; 63073b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef struct vki_user_fxsr_struct vki_elf_fpxregset_t; 63173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 63273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_AT_SYSINFO 32 63373b526fb4af0f60634f0078583d92b931d5c0eebnethercote 63473b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 63573b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/ucontext.h 63673b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 63773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 63873b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_ucontext { 63973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long uc_flags; 64073b526fb4af0f60634f0078583d92b931d5c0eebnethercote struct vki_ucontext *uc_link; 64173b526fb4af0f60634f0078583d92b931d5c0eebnethercote vki_stack_t uc_stack; 64273b526fb4af0f60634f0078583d92b931d5c0eebnethercote struct vki_sigcontext uc_mcontext; 64373b526fb4af0f60634f0078583d92b931d5c0eebnethercote vki_sigset_t uc_sigmask; /* mask last for extensibility */ 64473b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 64573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 64673b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 64773b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/segment.h 64873b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 64973b526fb4af0f60634f0078583d92b931d5c0eebnethercote 65073b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_GDT_ENTRY_TLS_ENTRIES 3 65173b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_GDT_ENTRY_TLS_MIN 6 65273b526fb4af0f60634f0078583d92b931d5c0eebnethercote#define VKI_GDT_ENTRY_TLS_MAX (VKI_GDT_ENTRY_TLS_MIN + VKI_GDT_ENTRY_TLS_ENTRIES - 1) 65373b526fb4af0f60634f0078583d92b931d5c0eebnethercote 65473b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 65573b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/ldt.h 65673b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 65773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 65873b526fb4af0f60634f0078583d92b931d5c0eebnethercote/* [[Nb: This is the structure passed to the modify_ldt syscall. Just so as 65973b526fb4af0f60634f0078583d92b931d5c0eebnethercote to confuse and annoy everyone, this is _not_ the same as an 66073b526fb4af0f60634f0078583d92b931d5c0eebnethercote VgLdtEntry and has to be translated into such. The logic for doing 66173b526fb4af0f60634f0078583d92b931d5c0eebnethercote so, in vg_ldt.c, is copied from the kernel sources.]] */ 66273b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_user_desc { 66373b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned int entry_number; 66473b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long base_addr; 66573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned int limit; 66673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned int seg_32bit:1; 66773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned int contents:2; 66873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned int read_exec_only:1; 66973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned int limit_in_pages:1; 67073b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned int seg_not_present:1; 67173b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned int useable:1; 67273b526fb4af0f60634f0078583d92b931d5c0eebnethercote // [[Nb: this field is not in the kernel sources, but it has always 67373b526fb4af0f60634f0078583d92b931d5c0eebnethercote // been in the Valgrind sources so I will keep it there in case it's 67473b526fb4af0f60634f0078583d92b931d5c0eebnethercote // important... this is an x86-defined data structure so who 67573b526fb4af0f60634f0078583d92b931d5c0eebnethercote // knows; maybe it's important to set this field to zero at some 67673b526fb4af0f60634f0078583d92b931d5c0eebnethercote // point. --njn]] 67773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned int reserved:25; 67873b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 67973b526fb4af0f60634f0078583d92b931d5c0eebnethercote 68073b526fb4af0f60634f0078583d92b931d5c0eebnethercote// [[Nb: for our convenience within Valgrind, use a more specific name]] 68173b526fb4af0f60634f0078583d92b931d5c0eebnethercotetypedef struct vki_user_desc vki_modify_ldt_t; 68273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 68373b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 68473b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/ipcbuf.h 68573b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 68673b526fb4af0f60634f0078583d92b931d5c0eebnethercote 68773b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_ipc64_perm 68873b526fb4af0f60634f0078583d92b931d5c0eebnethercote{ 68973b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_key_t key; 69073b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_uid32_t uid; 69173b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_gid32_t gid; 69273b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_uid32_t cuid; 69373b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_gid32_t cgid; 69473b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_mode_t mode; 69573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short __pad1; 69673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short seq; 69773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned short __pad2; 69873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused1; 69973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused2; 70073b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 70173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 70273b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 70373b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/sembuf.h 70473b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 70573b526fb4af0f60634f0078583d92b931d5c0eebnethercote 70673b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_semid64_ds { 70773b526fb4af0f60634f0078583d92b931d5c0eebnethercote struct vki_ipc64_perm sem_perm; /* permissions .. see ipc.h */ 70873b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_time_t sem_otime; /* last semop time */ 70973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused1; 71073b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_time_t sem_ctime; /* last change time */ 71173b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused2; 71273b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long sem_nsems; /* no. of semaphores in array */ 71373b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused3; 71473b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused4; 71573b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 71673b526fb4af0f60634f0078583d92b931d5c0eebnethercote 71773b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 71873b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/msgbuf.h 71973b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 72073b526fb4af0f60634f0078583d92b931d5c0eebnethercote 72173b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_msqid64_ds { 72273b526fb4af0f60634f0078583d92b931d5c0eebnethercote struct vki_ipc64_perm msg_perm; 72373b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_time_t msg_stime; /* last msgsnd time */ 72473b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused1; 72573b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_time_t msg_rtime; /* last msgrcv time */ 72673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused2; 72773b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_time_t msg_ctime; /* last change time */ 72873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused3; 72973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long msg_cbytes; /* current number of bytes on queue */ 73073b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long msg_qnum; /* number of messages in queue */ 73173b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long msg_qbytes; /* max number of bytes on queue */ 73273b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_pid_t msg_lspid; /* pid of last msgsnd */ 73373b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_pid_t msg_lrpid; /* last receive pid */ 73473b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused4; 73573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused5; 73673b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 73773b526fb4af0f60634f0078583d92b931d5c0eebnethercote 73873b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 73973b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/ipc.h 74073b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 74173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 74273b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_ipc_kludge { 74373b526fb4af0f60634f0078583d92b931d5c0eebnethercote struct vki_msgbuf __user *msgp; 74473b526fb4af0f60634f0078583d92b931d5c0eebnethercote long msgtyp; 74573b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 74673b526fb4af0f60634f0078583d92b931d5c0eebnethercote 747c616819253fcf211745060b2be26076174b1df19njn#define VKI_SEMOP 1 748c616819253fcf211745060b2be26076174b1df19njn#define VKI_SEMGET 2 749c616819253fcf211745060b2be26076174b1df19njn#define VKI_SEMCTL 3 750c616819253fcf211745060b2be26076174b1df19njn#define VKI_SEMTIMEDOP 4 751c616819253fcf211745060b2be26076174b1df19njn#define VKI_MSGSND 11 752c616819253fcf211745060b2be26076174b1df19njn#define VKI_MSGRCV 12 753c616819253fcf211745060b2be26076174b1df19njn#define VKI_MSGGET 13 754c616819253fcf211745060b2be26076174b1df19njn#define VKI_MSGCTL 14 755c616819253fcf211745060b2be26076174b1df19njn#define VKI_SHMAT 21 756c616819253fcf211745060b2be26076174b1df19njn#define VKI_SHMDT 22 757c616819253fcf211745060b2be26076174b1df19njn#define VKI_SHMGET 23 758c616819253fcf211745060b2be26076174b1df19njn#define VKI_SHMCTL 24 759c616819253fcf211745060b2be26076174b1df19njn 760c616819253fcf211745060b2be26076174b1df19njn 76173b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 76273b526fb4af0f60634f0078583d92b931d5c0eebnethercote// From linux-2.6.8.1/include/asm-i386/shmbuf.h 76373b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 76473b526fb4af0f60634f0078583d92b931d5c0eebnethercote 76573b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_shmid64_ds { 76673b526fb4af0f60634f0078583d92b931d5c0eebnethercote struct vki_ipc64_perm shm_perm; /* operation perms */ 76773b526fb4af0f60634f0078583d92b931d5c0eebnethercote vki_size_t shm_segsz; /* size of segment (bytes) */ 76873b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_time_t shm_atime; /* last attach time */ 76973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused1; 77073b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_time_t shm_dtime; /* last detach time */ 77173b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused2; 77273b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_time_t shm_ctime; /* last change time */ 77373b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused3; 77473b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_pid_t shm_cpid; /* pid of creator */ 77573b526fb4af0f60634f0078583d92b931d5c0eebnethercote __vki_kernel_pid_t shm_lpid; /* pid of last operator */ 77673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long shm_nattch; /* no. of current attaches */ 77773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused4; 77873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused5; 77973b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 78073b526fb4af0f60634f0078583d92b931d5c0eebnethercote 78173b526fb4af0f60634f0078583d92b931d5c0eebnethercotestruct vki_shminfo64 { 78273b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long shmmax; 78373b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long shmmin; 78473b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long shmmni; 78573b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long shmseg; 78673b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long shmall; 78773b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused1; 78873b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused2; 78973b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused3; 79073b526fb4af0f60634f0078583d92b931d5c0eebnethercote unsigned long __unused4; 79173b526fb4af0f60634f0078583d92b931d5c0eebnethercote}; 79273b526fb4af0f60634f0078583d92b931d5c0eebnethercote 79373b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 794b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj// DRM ioctls 795b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj//---------------------------------------------------------------------- 796b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj 797b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj// jrs 20050207: where did all this stuff come from? Is it really 798b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj// i386 specific, or should it go into the linux-generic category? 799b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj//struct vki_drm_buf_pub { 800b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj// Int idx; /**< Index into the master buffer list */ 801b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj// Int total; /**< Buffer size */ 802b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj// Int used; /**< Amount of buffer in use (for DMA) */ 803b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj// void __user *address; /**< Address of buffer */ 804b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj//}; 805b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj// 806b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj//struct vki_drm_buf_map { 807b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj// Int count; /**< Length of the buffer list */ 808b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj// void __user *virtual; /**< Mmap'd area in user-virtual */ 809b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj// struct vki_drm_buf_pub __user *list; /**< Buffer information */ 810b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj//}; 811b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj// 812b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj///* We need to pay attention to this, because it mmaps memory */ 813b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj//#define VKI_DRM_IOCTL_MAP_BUFS _VKI_IOWR('d', 0x19, struct vki_drm_buf_map) 814b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj 815b5f6f51ebcac183818061bf53427a3e7808ef10dsewardj//---------------------------------------------------------------------- 816c616819253fcf211745060b2be26076174b1df19njn// From linux-2.6.9/include/asm-i386/ptrace.h 817ca0518df66f8c3375a860f1a55a51f18e2a16c44njn//---------------------------------------------------------------------- 818ca0518df66f8c3375a860f1a55a51f18e2a16c44njn 819ca0518df66f8c3375a860f1a55a51f18e2a16c44njn#define VKI_PTRACE_GETREGS 12 820ca0518df66f8c3375a860f1a55a51f18e2a16c44njn#define VKI_PTRACE_SETREGS 13 821ca0518df66f8c3375a860f1a55a51f18e2a16c44njn#define VKI_PTRACE_GETFPREGS 14 822ca0518df66f8c3375a860f1a55a51f18e2a16c44njn#define VKI_PTRACE_SETFPREGS 15 823ca0518df66f8c3375a860f1a55a51f18e2a16c44njn#define VKI_PTRACE_GETFPXREGS 18 824ca0518df66f8c3375a860f1a55a51f18e2a16c44njn#define VKI_PTRACE_SETFPXREGS 19 825f666d20249ff381dfc9bf5a621c544560527af40mjw#define VKI_PTRACE_GET_THREAD_AREA 25 826f666d20249ff381dfc9bf5a621c544560527af40mjw#define VKI_PTRACE_SET_THREAD_AREA 26 827ca0518df66f8c3375a860f1a55a51f18e2a16c44njn 828ca0518df66f8c3375a860f1a55a51f18e2a16c44njn//---------------------------------------------------------------------- 829c1369aa0930694618c641c5d73ef20ec18b64102tom// From linux-2.6.15.4/include/asm-i386/vm86.h 830c1369aa0930694618c641c5d73ef20ec18b64102tom//---------------------------------------------------------------------- 831c1369aa0930694618c641c5d73ef20ec18b64102tom 832c1369aa0930694618c641c5d73ef20ec18b64102tom#define VKI_VM86_PLUS_INSTALL_CHECK 0 833c1369aa0930694618c641c5d73ef20ec18b64102tom#define VKI_VM86_ENTER 1 834c1369aa0930694618c641c5d73ef20ec18b64102tom#define VKI_VM86_ENTER_NO_BYPASS 2 835c1369aa0930694618c641c5d73ef20ec18b64102tom#define VKI_VM86_REQUEST_IRQ 3 836c1369aa0930694618c641c5d73ef20ec18b64102tom#define VKI_VM86_FREE_IRQ 4 837c1369aa0930694618c641c5d73ef20ec18b64102tom#define VKI_VM86_GET_IRQ_BITS 5 838c1369aa0930694618c641c5d73ef20ec18b64102tom#define VKI_VM86_GET_AND_RESET_IRQ 6 839c1369aa0930694618c641c5d73ef20ec18b64102tom 840c1369aa0930694618c641c5d73ef20ec18b64102tomstruct vki_vm86_regs { 841c1369aa0930694618c641c5d73ef20ec18b64102tom/* 842c1369aa0930694618c641c5d73ef20ec18b64102tom * normal regs, with special meaning for the segment descriptors.. 843c1369aa0930694618c641c5d73ef20ec18b64102tom */ 844c1369aa0930694618c641c5d73ef20ec18b64102tom long ebx; 845c1369aa0930694618c641c5d73ef20ec18b64102tom long ecx; 846c1369aa0930694618c641c5d73ef20ec18b64102tom long edx; 847c1369aa0930694618c641c5d73ef20ec18b64102tom long esi; 848c1369aa0930694618c641c5d73ef20ec18b64102tom long edi; 849c1369aa0930694618c641c5d73ef20ec18b64102tom long ebp; 850c1369aa0930694618c641c5d73ef20ec18b64102tom long eax; 851c1369aa0930694618c641c5d73ef20ec18b64102tom long __null_ds; 852c1369aa0930694618c641c5d73ef20ec18b64102tom long __null_es; 853c1369aa0930694618c641c5d73ef20ec18b64102tom long __null_fs; 854c1369aa0930694618c641c5d73ef20ec18b64102tom long __null_gs; 855c1369aa0930694618c641c5d73ef20ec18b64102tom long orig_eax; 856c1369aa0930694618c641c5d73ef20ec18b64102tom long eip; 857c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned short cs, __csh; 858c1369aa0930694618c641c5d73ef20ec18b64102tom long eflags; 859c1369aa0930694618c641c5d73ef20ec18b64102tom long esp; 860c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned short ss, __ssh; 861c1369aa0930694618c641c5d73ef20ec18b64102tom/* 862c1369aa0930694618c641c5d73ef20ec18b64102tom * these are specific to v86 mode: 863c1369aa0930694618c641c5d73ef20ec18b64102tom */ 864c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned short es, __esh; 865c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned short ds, __dsh; 866c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned short fs, __fsh; 867c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned short gs, __gsh; 868c1369aa0930694618c641c5d73ef20ec18b64102tom}; 869c1369aa0930694618c641c5d73ef20ec18b64102tom 870c1369aa0930694618c641c5d73ef20ec18b64102tomstruct vki_revectored_struct { 871c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned long __map[8]; /* 256 bits */ 872c1369aa0930694618c641c5d73ef20ec18b64102tom}; 873c1369aa0930694618c641c5d73ef20ec18b64102tom 874c1369aa0930694618c641c5d73ef20ec18b64102tomstruct vki_vm86_struct { 875c1369aa0930694618c641c5d73ef20ec18b64102tom struct vki_vm86_regs regs; 876c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned long flags; 877c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned long screen_bitmap; 878c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned long cpu_type; 879c1369aa0930694618c641c5d73ef20ec18b64102tom struct vki_revectored_struct int_revectored; 880c1369aa0930694618c641c5d73ef20ec18b64102tom struct vki_revectored_struct int21_revectored; 881c1369aa0930694618c641c5d73ef20ec18b64102tom}; 882c1369aa0930694618c641c5d73ef20ec18b64102tom 883c1369aa0930694618c641c5d73ef20ec18b64102tomstruct vki_vm86plus_info_struct { 884c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned long force_return_for_pic:1; 885c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned long vm86dbg_active:1; /* for debugger */ 886c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned long vm86dbg_TFpendig:1; /* for debugger */ 887c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned long unused:28; 888c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned long is_vm86pus:1; /* for vm86 internal use */ 889c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned char vm86dbg_intxxtab[32]; /* for debugger */ 890c1369aa0930694618c641c5d73ef20ec18b64102tom}; 891c1369aa0930694618c641c5d73ef20ec18b64102tom 892c1369aa0930694618c641c5d73ef20ec18b64102tomstruct vki_vm86plus_struct { 893c1369aa0930694618c641c5d73ef20ec18b64102tom struct vki_vm86_regs regs; 894c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned long flags; 895c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned long screen_bitmap; 896c1369aa0930694618c641c5d73ef20ec18b64102tom unsigned long cpu_type; 897c1369aa0930694618c641c5d73ef20ec18b64102tom struct vki_revectored_struct int_revectored; 898c1369aa0930694618c641c5d73ef20ec18b64102tom struct vki_revectored_struct int21_revectored; 899c1369aa0930694618c641c5d73ef20ec18b64102tom struct vki_vm86plus_info_struct vm86plus; 900c1369aa0930694618c641c5d73ef20ec18b64102tom}; 901c1369aa0930694618c641c5d73ef20ec18b64102tom 902c1369aa0930694618c641c5d73ef20ec18b64102tom//---------------------------------------------------------------------- 9030c0793c2f74526a0fd8e25db28149a5eb94fd62adejanj// From linux-2.6.8.1/include/asm-generic/errno.h 9040c0793c2f74526a0fd8e25db28149a5eb94fd62adejanj//---------------------------------------------------------------------- 9050c0793c2f74526a0fd8e25db28149a5eb94fd62adejanj 9060c0793c2f74526a0fd8e25db28149a5eb94fd62adejanj#define VKI_ENOSYS 38 /* Function not implemented */ 9070c0793c2f74526a0fd8e25db28149a5eb94fd62adejanj#define VKI_EOVERFLOW 75 /* Value too large for defined data type */ 9080c0793c2f74526a0fd8e25db28149a5eb94fd62adejanj 9090c0793c2f74526a0fd8e25db28149a5eb94fd62adejanj//---------------------------------------------------------------------- 91055895379b090d4db5d39013e1a9859714ac3e0d8sewardj// From linux-3.19.0/include/uapi/asm-generic/ioctls.h 91155895379b090d4db5d39013e1a9859714ac3e0d8sewardj//---------------------------------------------------------------------- 91255895379b090d4db5d39013e1a9859714ac3e0d8sewardj 91355895379b090d4db5d39013e1a9859714ac3e0d8sewardj#define VKI_TIOCGSERIAL 0x541E 91455895379b090d4db5d39013e1a9859714ac3e0d8sewardj#define VKI_TIOCSSERIAL 0x541F 91555895379b090d4db5d39013e1a9859714ac3e0d8sewardj 91655895379b090d4db5d39013e1a9859714ac3e0d8sewardj//---------------------------------------------------------------------- 91773b526fb4af0f60634f0078583d92b931d5c0eebnethercote// And that's it! 91873b526fb4af0f60634f0078583d92b931d5c0eebnethercote//---------------------------------------------------------------------- 91973b526fb4af0f60634f0078583d92b931d5c0eebnethercote 9204de47b1c9bfe84ddd76a9e71e486c5085c51e3a8njn#endif // __VKI_X86_LINUX_H 92173b526fb4af0f60634f0078583d92b931d5c0eebnethercote 92273b526fb4af0f60634f0078583d92b931d5c0eebnethercote/*--------------------------------------------------------------------*/ 92373b526fb4af0f60634f0078583d92b931d5c0eebnethercote/*--- end ---*/ 92473b526fb4af0f60634f0078583d92b931d5c0eebnethercote/*--------------------------------------------------------------------*/ 925