diff options
Diffstat (limited to 'bin/systrace/intercept.h')
-rw-r--r-- | bin/systrace/intercept.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/bin/systrace/intercept.h b/bin/systrace/intercept.h index d371dfb9e31..9a2f23b50ed 100644 --- a/bin/systrace/intercept.h +++ b/bin/systrace/intercept.h @@ -1,4 +1,4 @@ -/* $OpenBSD: intercept.h,v 1.24 2006/07/02 12:34:15 sturm Exp $ */ +/* $OpenBSD: intercept.h,v 1.25 2011/09/18 23:24:14 matthew Exp $ */ /* * Copyright 2002 Niels Provos <provos@citi.umich.edu> * All rights reserved. @@ -47,7 +47,7 @@ struct intercept_system { int (*report)(int, pid_t); int (*read)(int); int (*getsyscallnumber)(const char *, const char *); - int (*setcwd)(int, pid_t); + int (*setcwd)(int, pid_t, int); int (*restcwd)(int); int (*io)(int, pid_t, int, void *, u_char *, size_t); int (*getarg)(int, void *, int, void **); @@ -118,10 +118,12 @@ struct intercept_translate { int (*translate)(struct intercept_translate *, int, pid_t, void *); int (*print)(char *, size_t, struct intercept_translate *); int off2; + int offend; int off; u_char trans_valid; void *trans_addr; void *trans_addr2; + void *trans_addrend; void *trans_data; size_t trans_size; char *trans_print; @@ -184,6 +186,10 @@ extern struct intercept_translate ic_translate_string; extern struct intercept_translate ic_translate_filename; extern struct intercept_translate ic_translate_linkname; extern struct intercept_translate ic_translate_unlinkname; +extern struct intercept_translate ic_translate_filenameat; +extern struct intercept_translate ic_translate_unlinknameat; +extern struct intercept_translate ic_translate_filenameatflag; +extern struct intercept_translate ic_translate_unlinknameatflag; extern struct intercept_translate ic_translate_connect; extern struct intercept_translate ic_translate_sendmsg; @@ -194,7 +200,9 @@ int intercept_existpids(void); char *intercept_get_string(int, pid_t, void *); char *normalize_filename(int, pid_t, char *, int); +char *normalize_filenameat(int, pid_t, int, char *, int); char *intercept_filename(int, pid_t, void *, int, char *); +char *intercept_filenameat(int, pid_t, int, void *, int, char *); void intercept_syscall(int, pid_t, u_int16_t, int, const char *, int, const char *, void *, int); void intercept_syscall_result(int, pid_t, u_int16_t, int, const char *, int, |