summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfche <fche>2005-09-30 17:01:33 +0000
committerfche <fche>2005-09-30 17:01:33 +0000
commit325be37a7bbb513359c77ebe5cee1cfc143ec0c1 (patch)
tree614830026240a4e11be540e85214b100c9e735e5
parente5ec4b02c230ce39f02dd41ab8df591988ad7440 (diff)
downloadsystemtap-steved-325be37a7bbb513359c77ebe5cee1cfc143ec0c1.tar.gz
systemtap-steved-325be37a7bbb513359c77ebe5cee1cfc143ec0c1.tar.xz
systemtap-steved-325be37a7bbb513359c77ebe5cee1cfc143ec0c1.zip
2005-09-30 Frank Ch. Eigler <fche@elastic.org>
* tapset/system_calls.stp (*_str): Simplified boolean test logic throughout, fixed some typos.
-rw-r--r--ChangeLog5
-rw-r--r--tapset/system_calls.stp103
2 files changed, 58 insertions, 50 deletions
diff --git a/ChangeLog b/ChangeLog
index 16bd913a..a08ced87 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2005-09-30 Frank Ch. Eigler <fche@elastic.org>
+
+ * tapset/system_calls.stp (*_str): Simplified boolean test logic
+ throughout, fixed some typos.
+
2005-09-28 Frank Ch. Eigler <fche@elastic.org>
PR 1182.
diff --git a/tapset/system_calls.stp b/tapset/system_calls.stp
index 22dedf9d..4399f0e4 100644
--- a/tapset/system_calls.stp
+++ b/tapset/system_calls.stp
@@ -1,5 +1,6 @@
// syscalls tapset
// Copyright (C) 2005 IBM Corp.
+// Copyright (C) 2005 Red Hat Inc.
//
// This file is part of systemtap, and is free software. You can
// redistribute it and/or modify it under the terms of the GNU General
@@ -3587,51 +3588,54 @@ probe kernel.syscall.rt_sigaction.return =
representation of the f param, based on the function arg.
*/
-function __decf(f,mask){ return ((f-mask)>=0) ? (f-mask) : f }
-
/* `man 2 open` for more information */
function _sys_open_flag_str(f) {
- if((f-8192)>=0 && (f=__decf(f,8192))>=0) bs="O_ASYNC|".bs
- if((f-4096)>=0 && (f=__decf(f,4096))>=0) bs="O_SYNC|".bs
- if((f-2048)>=0 && (f=__decf(f,2048))>=0) bs="O_NONBLOCK|".bs
- if((f-1024)>=0 && (f=__decf(f,1024))>=0) bs="O_APPEND|".bs
- if((f-512)>=0 && (f=__decf(f,512))>=0) bs="O_TRUNC|".bs
- if((f-256)>=0 && (f=__decf(f,256))>=0) bs="O_NDCTTY|".bs
- if((f-128)>=0 && (f=__decf(f,128))>=0) bs="O_EXCL|".bs
- if((f-64)>=0 && (f=__decf(f,64))>=0) bs="O_CREAT|".bs
- if((f-2)>=0 && (f=__decf(f,2))>=0)
- return substr("O_RDWR|".bs,0,strlen("O_RDWR|".bs)-1)
- if((f-1)>=0 && (f=__decf(f,1))>=0)
- return substr("O_WRONLY|".bs,0,strlen("O_WRONLY|".bs)-1)
- return substr("O_RDONLY|".bs,0,strlen("O_RDONLY|".bs)-1)
+ if(f & 8192) bs="O_ASYNC|".bs
+ if(f & 4096) bs="O_SYNC|".bs
+ if(f & 2048) bs="O_NONBLOCK|".bs
+ if(f & 1024) bs="O_APPEND|".bs
+ if(f & 512) bs="O_TRUNC|".bs
+ if(f & 256) bs="O_NDCTTY|".bs
+ if(f & 128) bs="O_EXCL|".bs
+ if(f & 64) bs="O_CREAT|".bs
+ if ((f & 3) == 2) bs="O_RDWR|".bs
+ else if ((f & 3) == 1) bs="O_WRONLY|".bs
+ else if ((f & 3) == 0) bs="O_RDONLY|".bs
+ return substr(bs,0,strlen(bs)-1)
}
/* `man 2 open` for more information */
function _sys_open_mode_str(f) {
- if((f-448)>=0 && (f=__decf(f,448))>=0) bs="S_IRWXU|".bs
- if((f-256)>=0 && (f=__decf(f,256))>=0) bs="S_IRUSR|".bs
- if((f-128)>=0 && (f=__decf(f,128))>=0) bs="S_IWUSR|".bs
- if((f-64)>=0 && (f=__decf(f,64))>=0) bs="S_IXUSR|".bs
- if((f-56)>=0 && (f=__decf(f,56))>=0) bs="S_IRWXG|".bs
- if((f-32)>=0 && (f=__decf(f,32))>=0) bs="S_IRGRP|".bs
- if((f-16)>=0 && (f=__decf(f,16))>=0) bs="S_IWGRP|".bs
- if((f-8)>=0 && (f=__decf(f,8))>=0) bs="S_IXGRP|".bs
- if((f-7)>=0 && (f=__decf(f,7))>=0) bs="S_IRWXO|".bs
- if((f-4)>=0 && (f=__decf(f,4))>=0) bs="S_IROTH|".bs
- if((f-2)>=0 && (f=__decf(f,2))>=0) bs="S_IWOTH|".bs
- if((f-1)>=0 && (f=__decf(f,1))>=0) bs="S_IXOTH|".bs
+ if((f & 448) == 448) bs="S_IRWXU|".bs
+ else {
+ if(f & 256) bs="S_IRUSR|".bs
+ if(f & 128) bs="S_IWUSR|".bs
+ if(f & 64) bs="S_IXUSR|".bs
+ }
+ if((f & 56) == 56) bs="S_IRWXG|".bs
+ else {
+ if(f & 32) bs="S_IRGRP|".bs
+ if(f & 16) bs="S_IWGRP|".bs
+ if(f & 8) bs="S_IXGRP|".bs
+ }
+ if ((f & 7) == 7) bs="S_IRWXO|".bs
+ else {
+ if(f & 4) bs="S_IROTH|".bs
+ if(f & 2) bs="S_IWOTH|".bs
+ if(f & 1) bs="S_IXOTH|".bs
+ }
return substr(bs,0,strlen(bs)-1)
}
/* `man adjtimex` for more information */
function _sys_adjtimex_mode_str(f) {
- if((f-32769)>=0 && (f=__decf(f,32769))>=0) bs="ADJ_OFFSET_SINGLESHOT|".bs
- if((f-16384)>=0 && (f=__decf(f,16384))>=0) bs="ADJ_TICK|".bs
- if((f-32)>=0 && (f=__decf(f,32))>=0) bs="ADJ_TIMECONST|".bs
- if((f-16)>=0 && (f=__decf(f,16))>=0) bs="ADJ_STATUS|".bs
- if((f-8)>=0 && (f=__decf(f,8))>=0) bs="ADJ_ESTERROR|".bs
- if((f-3)>=0 && (f=__decf(f,3))>=0) bs="ADJ_MAXERROR|".bs
- if((f-2)>=0 && (f=__decf(f,2))>=0) bs="ADJ_FREQUENCY|".bs
- if((f-1)>=0 && (f=__decf(f,1))>=0) bs="ADJ_OFFSET|".bs
+ if((f & 32769) == 32769) bs="ADJ_OFFSET_SINGLESHOT|".bs
+ if(f & 16384) bs="ADJ_TICK|".bs
+ if(f & 32) bs="ADJ_TIMECONST|".bs
+ if(f & 16) bs="ADJ_STATUS|".bs
+ if(f & 8) bs="ADJ_ESTERROR|".bs
+ if(f & 4) bs="ADJ_MAXERROR|".bs
+ if(f & 2) bs="ADJ_FREQUENCY|".bs
+ if(f & 1 && ((f & 32769) != 32769)) bs="ADJ_OFFSET|".bs
return substr(bs,0,strlen(bs)-1)
}
@@ -3681,24 +3685,25 @@ function _shutdown_how_str(how) {
}
function _reboot_magic_str(magic) {
- if(magic==-18751827) return "LINUX_REBOOT_MAGIC1"
+ if(magic==0xFEE1DEAD) return "LINUX_REBOOT_MAGIC1"
if(magic==672274793) return "LINUX_REBOOT_MAGIC2"
if(magic==85072278) return "LINUX_REBOOT_MAGIC2A"
if(magic==369367448) return "LINUX_REBOOT_MAGIC2B"
+ if(magic==537993216) return "LINUX_REBOOT_MAGIC2C"
return ""
}
function _reboot_flag_str(flag) {
- if(flag==19088743) return "LINUX_REBOOT_CMD_RESTART"
- if(flag==-839974621) return "LINUX_REBOOT_CMD_HALT"
- if(flag==1126301404) return "LINUX_REBOOT_CMD_POWER_OFF"
- if(flag==-1582119980) return "LINUX_REBOOT_CMD_RESTART2"
- if(flag==-1985229329) return "LINUX_REBOOT_CMD_CAD_ON"
- if(flag==0) return "LINUX_REBOOT_CMD_CAD_OFF"
+ if(flag==0x01234567) return "LINUX_REBOOT_CMD_RESTART"
+ if(flag==0xCDEF0123) return "LINUX_REBOOT_CMD_HALT"
+ if(flag==0x4321FEDC) return "LINUX_REBOOT_CMD_POWER_OFF"
+ if(flag==0xA1B2C3D4) return "LINUX_REBOOT_CMD_RESTART2"
+ if(flag==0x89ABCDEF) return "LINUX_REBOOT_CMD_CAD_ON"
+ if(flag==0x00000000) return "LINUX_REBOOT_CMD_CAD_OFF"
return ""
}
-function _waitid_which_str(which) {
+function _waitid_which_str(flag) {
if(flag==0) return "P_ALL"
if(flag==1) return "P_PID"
if(flag==2) return "P_PGID"
@@ -3706,12 +3711,10 @@ function _waitid_which_str(which) {
}
function _wait4_opt_str(f) {
- if((f-16777216)>=0 && (f=__decf(f,16777216))>=0)
- bs="WNOWAIT|".bs
- if((f-8)>=0 && (f=__decf(f,8))>=0) bs="WCONTINUED|".bs
- if((f-4)>=0 && (f=__decf(f,4))>=0) bs="WEXITED|".bs
- if((f-2)>=0 && (f=__decf(f,2))>=0) bs="WSTOPPED|".bs
- if((f-1)>=0 && (f=__decf(f,1))>=0) bs="WNOHANG|".bs
+ if(f & 0x01000000) bs="WNOWAIT|".bs
+ if(f & 8) bs="WCONTINUED|".bs
+ if(f & 4) bs="WEXITED|".bs
+ if(f & 2) bs="WSTOPPED|".bs
+ if(f & 1) bs="WNOHANG|".bs
return substr(bs,0,strlen(bs)-1)
}
-