⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sigcontext.h

📁 Linux内核源代码 为压缩文件 是<<Linux内核>>一书中的源代码
💻 H
字号:
/* $Id: sigcontext.h,v 1.12 1999/09/06 08:22:09 jj Exp $ */#ifndef __SPARC64_SIGCONTEXT_H#define __SPARC64_SIGCONTEXT_H#ifdef __KERNEL__#include <asm/ptrace.h>#endif#ifndef __ASSEMBLY__#ifdef __KERNEL__#define __SUNOS_MAXWIN   31/* This is what SunOS does, so shall I unless we use new 32bit signals or rt signals. */struct sigcontext32 {	int sigc_onstack;      /* state to restore */	int sigc_mask;         /* sigmask to restore */	int sigc_sp;           /* stack pointer */	int sigc_pc;           /* program counter */	int sigc_npc;          /* next program counter */	int sigc_psr;          /* for condition codes etc */	int sigc_g1;           /* User uses these two registers */	int sigc_o0;           /* within the trampoline code. */	/* Now comes information regarding the users window set	 * at the time of the signal.	 */	int sigc_oswins;       /* outstanding windows */	/* stack ptrs for each regwin buf */	unsigned sigc_spbuf[__SUNOS_MAXWIN];	/* Windows to restore after signal */	struct reg_window32 sigc_wbuf[__SUNOS_MAXWIN];};#endif#ifdef __KERNEL__/* This is what we use for 32bit new non-rt signals. */typedef struct {	struct {		unsigned int psr;		unsigned int pc;		unsigned int npc;		unsigned int y;		unsigned int u_regs[16]; /* globals and ins */	}			si_regs;	int			si_mask;} __siginfo32_t;#endiftypedef struct {	unsigned   int si_float_regs [64];	unsigned   long si_fsr;	unsigned   long si_gsr;	unsigned   long si_fprs;} __siginfo_fpu_t;/* This is what SunOS doesn't, so we have to write this alone   and do it properly. */struct sigcontext {	/* The size of this array has to match SI_MAX_SIZE from siginfo.h */	char			sigc_info[128];	struct {		unsigned long	u_regs[16]; /* globals and ins */		unsigned long	tstate;		unsigned long	tpc;		unsigned long	tnpc;		unsigned int	y;		unsigned int	fprs;	}			sigc_regs;	__siginfo_fpu_t *	sigc_fpu_save;	struct {		void	*	ss_sp;		int		ss_flags;		unsigned long	ss_size;	}			sigc_stack;	unsigned long		sigc_mask;};#ifdef __KERNEL__/* This magic should be in g_upper[0] for all upper parts   to be valid.  */#define SIGINFO_EXTRA_V8PLUS_MAGIC	0x130e269typedef struct {	unsigned   int g_upper[8];	unsigned   int o_upper[8];} siginfo_extra_v8plus_t;#endif#endif /* !(__ASSEMBLY__) */#endif /* !(__SPARC64_SIGCONTEXT_H) */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -