ia32.h
来自「Linux Kernel 2.6.9 for OMAP1710」· C头文件 代码 · 共 175 行
H
175 行
#ifndef _ASM_X86_64_IA32_H#define _ASM_X86_64_IA32_H#include <linux/config.h>#ifdef CONFIG_IA32_EMULATION#include <linux/compat.h>/* * 32 bit structures for IA32 support. */#include <asm/sigcontext32.h>/* signal.h */struct sigaction32 { unsigned int sa_handler; /* Really a pointer, but need to deal with 32 bits */ unsigned int sa_flags; unsigned int sa_restorer; /* Another 32 bit pointer */ compat_sigset_t sa_mask; /* A 32 bit mask */};struct old_sigaction32 { unsigned int sa_handler; /* Really a pointer, but need to deal with 32 bits */ compat_old_sigset_t sa_mask; /* A 32 bit mask */ unsigned int sa_flags; unsigned int sa_restorer; /* Another 32 bit pointer */};typedef struct sigaltstack_ia32 { unsigned int ss_sp; int ss_flags; unsigned int ss_size;} stack_ia32_t;struct ucontext_ia32 { unsigned int uc_flags; unsigned int uc_link; stack_ia32_t uc_stack; struct sigcontext_ia32 uc_mcontext; compat_sigset_t uc_sigmask; /* mask last for extensibility */};/* This matches struct stat64 in glibc2.2, hence the absolutely * insane amounts of padding around dev_t's. */struct stat64 { unsigned long long st_dev; unsigned char __pad0[4];#define STAT64_HAS_BROKEN_ST_INO 1 unsigned int __st_ino; unsigned int st_mode; unsigned int st_nlink; unsigned int st_uid; unsigned int st_gid; unsigned long long st_rdev; unsigned char __pad3[4]; long long st_size; unsigned int st_blksize; long long st_blocks;/* Number 512-byte blocks allocated. */ unsigned st_atime; unsigned st_atime_nsec; unsigned st_mtime; unsigned st_mtime_nsec; unsigned st_ctime; unsigned st_ctime_nsec; unsigned long long st_ino;} __attribute__((packed));typedef struct siginfo32 { int si_signo; int si_errno; int si_code; union { int _pad[((128/sizeof(int)) - 3)]; /* kill() */ struct { unsigned int _pid; /* sender's pid */ unsigned int _uid; /* sender's uid */ } _kill; /* POSIX.1b timers */ struct { int _tid; /* timer id */ int _overrun; /* overrun count */ compat_sigval_t _sigval; /* same as below */ int _sys_private; /* not to be passed to user */ int _overrun_incr; /* amount to add to overrun */ } _timer; /* POSIX.1b signals */ struct { unsigned int _pid; /* sender's pid */ unsigned int _uid; /* sender's uid */ compat_sigval_t _sigval; } _rt; /* SIGCHLD */ struct { unsigned int _pid; /* which child */ unsigned int _uid; /* sender's uid */ int _status; /* exit code */ compat_clock_t _utime; compat_clock_t _stime; } _sigchld; /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ struct { unsigned int _addr; /* faulting insn/memory ref. */ } _sigfault; /* SIGPOLL */ struct { int _band; /* POLL_IN, POLL_OUT, POLL_MSG */ int _fd; } _sigpoll; } _sifields;} siginfo_t32;struct sigframe32{ u32 pretcode; int sig; struct sigcontext_ia32 sc; struct _fpstate_ia32 fpstate; unsigned int extramask[_COMPAT_NSIG_WORDS-1];};struct rt_sigframe32{ u32 pretcode; int sig; u32 pinfo; u32 puc; struct siginfo32 info; struct ucontext_ia32 uc; struct _fpstate_ia32 fpstate;};struct ustat32 { __u32 f_tfree; compat_ino_t f_tinode; char f_fname[6]; char f_fpack[6];};#define IA32_STACK_TOP IA32_PAGE_OFFSET#ifdef __KERNEL__struct user_desc;struct siginfo_t;int do_get_thread_area(struct thread_struct *t, struct user_desc __user *info);int do_set_thread_area(struct thread_struct *t, struct user_desc __user *info);int ia32_child_tls(struct task_struct *p, struct pt_regs *childregs);int ia32_copy_siginfo_from_user(siginfo_t *to, siginfo_t32 __user *from);int ia32_copy_siginfo_to_user(siginfo_t32 __user *to, siginfo_t *from);#endif#endif /* !CONFIG_IA32_SUPPORT */ #endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?