summaryrefslogtreecommitdiffstats
path: root/tapset/endian.stp
diff options
context:
space:
mode:
authorhunt <hunt>2006-04-11 09:39:47 +0000
committerhunt <hunt>2006-04-11 09:39:47 +0000
commita7fbfd4725aab6919e087162e8ff14ea5ef33673 (patch)
tree2eeec1578424a2146d3de3fc0dc1d6d889f1ce52 /tapset/endian.stp
parentbfeaee8388e7f23779563bd31f1a478680d498d0 (diff)
downloadsystemtap-steved-a7fbfd4725aab6919e087162e8ff14ea5ef33673.tar.gz
systemtap-steved-a7fbfd4725aab6919e087162e8ff14ea5ef33673.tar.xz
systemtap-steved-a7fbfd4725aab6919e087162e8ff14ea5ef33673.zip
New file.
Diffstat (limited to 'tapset/endian.stp')
-rw-r--r--tapset/endian.stp47
1 files changed, 47 insertions, 0 deletions
diff --git a/tapset/endian.stp b/tapset/endian.stp
new file mode 100644
index 00000000..26b3a05a
--- /dev/null
+++ b/tapset/endian.stp
@@ -0,0 +1,47 @@
+function big_endian2:long (val:long) %{
+#ifdef __LITTLE_ENDIAN
+ THIS->__retvalue = swab16(THIS->val);
+#else
+ THIS->__retvalue = THIS->val & 0xffff;
+#endif
+%}
+
+function big_endian4:long (val:long) %{
+#ifdef __LITTLE_ENDIAN
+ THIS->__retvalue = swab32(THIS->val);
+#else
+ THIS->__retvalue = THIS->val & 0xffffffff;
+#endif
+%}
+
+function big_endian8:long (val:long) %{
+#ifdef __LITTLE_ENDIAN
+ THIS->__retvalue = swab64(THIS->val);
+#else
+ THIS->__retvalue = THIS->val;
+#endif
+%}
+
+function little_endian2:long (val:long) %{
+#ifndef __LITTLE_ENDIAN
+ THIS->__retvalue = swab16(THIS->val);
+#else
+ THIS->__retvalue = THIS->val & 0xffff;
+#endif
+%}
+
+function little_endian4:long (val:long) %{
+#ifndef __LITTLE_ENDIAN
+ THIS->__retvalue = swab32(THIS->val);
+#else
+ THIS->__retvalue = THIS->val & 0xffffffff;
+#endif
+%}
+
+function little_endian8:long (val:long) %{
+#ifndef __LITTLE_ENDIAN
+ THIS->__retvalue = swab64(THIS->val);
+#else
+ THIS->__retvalue = THIS->val;
+#endif
+%}