diff options
Diffstat (limited to 'tapset/endian.stp')
-rw-r--r-- | tapset/endian.stp | 44 |
1 files changed, 14 insertions, 30 deletions
diff --git a/tapset/endian.stp b/tapset/endian.stp index 26b3a05a..ddcc2546 100644 --- a/tapset/endian.stp +++ b/tapset/endian.stp @@ -1,47 +1,31 @@ +# set the default endianess for binary printf +# val: 0 - native (default) +# 1 - little endian +# 2 - big endian +function set_endian:long (val:long) %{ + _stp_endian = THIS->val; +%} + function big_endian2:long (val:long) %{ -#ifdef __LITTLE_ENDIAN - THIS->__retvalue = swab16(THIS->val); -#else - THIS->__retvalue = THIS->val & 0xffff; -#endif + THIS->__retvalue = cpu_to_be16(THIS->val); %} function big_endian4:long (val:long) %{ -#ifdef __LITTLE_ENDIAN - THIS->__retvalue = swab32(THIS->val); -#else - THIS->__retvalue = THIS->val & 0xffffffff; -#endif + THIS->__retvalue = cpu_to_be32(THIS->val); %} function big_endian8:long (val:long) %{ -#ifdef __LITTLE_ENDIAN - THIS->__retvalue = swab64(THIS->val); -#else - THIS->__retvalue = THIS->val; -#endif + THIS->__retvalue = cpu_to_be64(THIS->val); %} function little_endian2:long (val:long) %{ -#ifndef __LITTLE_ENDIAN - THIS->__retvalue = swab16(THIS->val); -#else - THIS->__retvalue = THIS->val & 0xffff; -#endif + THIS->__retvalue = cpu_to_le16(THIS->val); %} function little_endian4:long (val:long) %{ -#ifndef __LITTLE_ENDIAN - THIS->__retvalue = swab32(THIS->val); -#else - THIS->__retvalue = THIS->val & 0xffffffff; -#endif + THIS->__retvalue = cpu_to_le32(THIS->val); %} function little_endian8:long (val:long) %{ -#ifndef __LITTLE_ENDIAN - THIS->__retvalue = swab64(THIS->val); -#else - THIS->__retvalue = THIS->val; -#endif + THIS->__retvalue = cpu_to_le64(THIS->val); %} |