diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2008-02-27 21:32:43 -0500 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2008-02-27 21:32:43 -0500 |
commit | 23220a9c611cd088418d108b3fa6d35aad177175 (patch) | |
tree | e7e459d81a344d958ff7739215f24e17db3324f1 /doc/tutorial/embedded-C.stp | |
parent | ed1f47c32969a60eb074dc246c79ccda456ebf58 (diff) | |
parent | 872a4b73dc80fd865d61f17911b84494e1f820d9 (diff) | |
download | systemtap-steved-23220a9c611cd088418d108b3fa6d35aad177175.tar.gz systemtap-steved-23220a9c611cd088418d108b3fa6d35aad177175.tar.xz systemtap-steved-23220a9c611cd088418d108b3fa6d35aad177175.zip |
Merge branch 'master' of git://sources.redhat.com/git/systemtap
Diffstat (limited to 'doc/tutorial/embedded-C.stp')
-rw-r--r-- | doc/tutorial/embedded-C.stp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/doc/tutorial/embedded-C.stp b/doc/tutorial/embedded-C.stp new file mode 100644 index 00000000..6834d728 --- /dev/null +++ b/doc/tutorial/embedded-C.stp @@ -0,0 +1,25 @@ +%{ +#include <linux/utsname.h> +%} + +function utsname:string (field:long) +%{ + if (down_read_trylock (& uts_sem)) + { + const char *f = + (THIS->field == 0 ? system_utsname.sysname : + THIS->field == 1 ? system_utsname.nodename : + THIS->field == 2 ? system_utsname.release : + THIS->field == 3 ? system_utsname.version : + THIS->field == 4 ? system_utsname.machine : + THIS->field == 5 ? system_utsname.domainname : ""); + strlcpy (THIS->__retvalue, f, MAXSTRINGLEN); + up_read (& uts_sem); + } +%} + +probe begin +{ + printf ("%s %s\n", utsname(0), utsname(2)) + exit () +} |