ptrace_user.c

来自「底层驱动开发」· C语言 代码 · 共 52 行

C
52
字号
/* * Copyright 2003 PathScale, Inc. * * Licensed under the GPL */#include <stddef.h>#include <errno.h>#include "ptrace_user.h"#include "user.h"#include "kern_constants.h"int ptrace_getregs(long pid, unsigned long *regs_out){	if(ptrace(PTRACE_GETREGS, pid, 0, regs_out) < 0)		return(-errno);	return(0);}int ptrace_setregs(long pid, unsigned long *regs){	if(ptrace(PTRACE_SETREGS, pid, 0, regs) < 0)		return(-errno);	return(0);}void ptrace_pokeuser(unsigned long addr, unsigned long data){	panic("ptrace_pokeuser");}#define DS 184#define ES 192#define __USER_DS     0x2bvoid arch_enter_kernel(void *task, int pid){}void arch_leave_kernel(void *task, int pid){#ifdef UM_USER_CS        if(ptrace(PTRACE_POKEUSR, pid, CS, UM_USER_CS) < 0)                printk("POKEUSR CS failed");#endif        if(ptrace(PTRACE_POKEUSR, pid, DS, __USER_DS) < 0)                printk("POKEUSR DS failed");        if(ptrace(PTRACE_POKEUSR, pid, ES, __USER_DS) < 0)                printk("POKEUSR ES failed");}

⌨️ 快捷键说明

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