aboutsummaryrefslogtreecommitdiff
path: root/usr.bin/truss/syscall.h
diff options
context:
space:
mode:
authorDavid Malone <dwmalone@FreeBSD.org>2004-03-23 12:37:02 +0000
committerDavid Malone <dwmalone@FreeBSD.org>2004-03-23 12:37:02 +0000
commite45a5a0d0888d5b04dfb5beb6c1d42015a363d54 (patch)
tree5a3620407026492023ff30b21f61e9e830597fa3 /usr.bin/truss/syscall.h
parentb637237cba240f810b0292cae9fd7baa37d6088b (diff)
downloadsrc-e45a5a0d0888d5b04dfb5beb6c1d42015a363d54.tar.gz
src-e45a5a0d0888d5b04dfb5beb6c1d42015a363d54.zip
Add support for decoding Timespec, Timeval, Itimerval, Pollfd,
Fd_set and Sigaction structures. Use these for printing the arguments to sigaction(), nanosleep(), select(), poll(), gettimeofday(), clock_gettime(), recvfrom(), getitimer() and setitimer(). This is based on Dan's patch from the PR but I've hacked it for style and some other issues. While Dan has checked this patch, any goofs are probably my fault. (The PR also contains support for the dual return values of pipe(). These will follow once I've ported that support to platforms other than i386.) PR: 52190 Submitted by: Dan Nelson <dnelson@allantgroup.com>
Notes
Notes: svn path=/head/; revision=127332
Diffstat (limited to 'usr.bin/truss/syscall.h')
-rw-r--r--usr.bin/truss/syscall.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/usr.bin/truss/syscall.h b/usr.bin/truss/syscall.h
index 8546cc3986ab..a6cdbec8d8a2 100644
--- a/usr.bin/truss/syscall.h
+++ b/usr.bin/truss/syscall.h
@@ -9,9 +9,18 @@
* write() arguments as such, even though they may *not* be
* printable data.
* Ptr -- pointer to some specific structure. Just print as hex for now.
- * Quad -- a double-word value. e.g., lseek(int, offset_t, int)
* Stat -- a pointer to a stat buffer. Currently unused.
* Ioctl -- an ioctl command. Woefully limited.
+ * Quad -- a double-word value. e.g., lseek(int, offset_t, int)
+ * Signal -- a signal number. Prints the signal name (SIGxxx)
+ * Sockaddr -- a pointer to a struct sockaddr. Prints symbolic AF, and IP:Port
+ * StringArray -- a pointer to an array of string pointers.
+ * Timespec -- a pointer to a struct timespec. Prints both elements.
+ * Timeval -- a pointer to a struct timeval. Prints both elements.
+ * Itimerval -- a pointer to a struct itimerval. Prints all elements.
+ * Pollfd -- a pointer to an array of struct pollfd. Prints .fd and .events.
+ * Fd_set -- a pointer to an array of fd_set. Prints the fds that are set.
+ * Sigaction -- a pointer to a struct sigaction. Prints all elements.
*
* In addition, the pointer types (String, Ptr) may have OUT masked in --
* this means that the data is set on *return* from the system call -- or
@@ -22,7 +31,8 @@
*/
enum Argtype { None = 1, Hex, Octal, Int, String, Ptr, Stat, Ioctl, Quad,
- Signal, Sockaddr, StringArray, Fcntl, Mprot, Mmapflags };
+ Signal, Sockaddr, StringArray, Timespec, Timeval, Itimerval, Pollfd,
+ Fd_set, Sigaction, Fcntl, Mprot, Mmapflags };
#define ARG_MASK 0xff
#define OUT 0x100