summaryrefslogtreecommitdiffstats
path: root/tapset/dev.stp
diff options
context:
space:
mode:
authorWilliam Cohen <wcohen@redhat.com>2008-06-20 14:42:25 -0400
committerWilliam Cohen <wcohen@redhat.com>2008-06-20 14:42:25 -0400
commite3cbdeffc01c18d5aee8a8d43fbd277316a18f87 (patch)
treeb2c79ae541cc6f670de23716b75cdd8bd1100729 /tapset/dev.stp
parent133c7b1dabc43a4f17106a9198196310e5ea3a4b (diff)
downloadsystemtap-steved-e3cbdeffc01c18d5aee8a8d43fbd277316a18f87.tar.gz
systemtap-steved-e3cbdeffc01c18d5aee8a8d43fbd277316a18f87.tar.xz
systemtap-steved-e3cbdeffc01c18d5aee8a8d43fbd277316a18f87.zip
Functions for kdev_t information: MAJOR, MINOR, MKDEV, and usrdev2kerndev.
Diffstat (limited to 'tapset/dev.stp')
-rw-r--r--tapset/dev.stp33
1 files changed, 33 insertions, 0 deletions
diff --git a/tapset/dev.stp b/tapset/dev.stp
new file mode 100644
index 00000000..80449324
--- /dev/null
+++ b/tapset/dev.stp
@@ -0,0 +1,33 @@
+// Device numbering tapset
+// Copyright (C) 2008 Red Hat Corp.
+//
+// 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
+// Public License (GPL); either version 2, or (at your option) any
+// later version.
+
+%{
+#include <linux/kdev_t.h>
+%}
+
+function MAJOR:long(dev:long)
+%{ /* pure */
+ THIS->__retvalue = MAJOR(THIS->dev);
+%}
+
+
+function MINOR:long(dev:long)
+%{ /* pure */
+ THIS->__retvalue = MINOR(THIS->dev);
+%}
+
+
+function MKDEV:long(major:long, minor:long)
+%{ /* pure */
+ THIS->__retvalue = MKDEV(THIS->major,THIS->minor);
+%}
+
+function usrdev2kerndev:long(dev:long)
+%{ /* pure */
+ THIS->__retvalue = new_decode_dev(THIS->dev);
+%}