initial commit
[surgeon.git] / ptrace_utils.h
blob541efa7e7e870b7126e5b603a106ed2d4019150b
1 /*
2 * Copyright (C) 2010 gonzoj
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 #ifndef PTRACE_UTILS_H_
19 #define PTRACE_UTILS_H_
21 #include <asm-i486/user.h>
22 #include <string.h>
23 #include <unistd.h>
25 #include "types.h"
27 extern pid_t pid;
29 #define ALIGN_SIZE(size) ((size) + (sizeof(long) - (((size) % sizeof(long)) ? ((size) % sizeof(long)) : sizeof(long))))
31 long *
32 ptrace_read(vaddr_t, size_t);
34 int
35 ptrace_write(vaddr_t, void *, size_t);
37 void *
38 ptrace_call(vaddr_t, struct user_regs_struct *);
40 #endif /* PTRACE_UTILS_H_ */