#include "types.h"
+__uint128_t le128_to_cpu(__u8 *data)
+{
+ int i;
+ __uint128_t result = 0;
+
+ for (i = 0; i < 16; i++) {
+ result *= 256;
+ result += data[15 - i];
+ }
+ return result;
+}
+
long double int128_to_double(__u8 *data)
{
int i;
return result;
}
+char str_uint128[40];
+char *uint128_t_to_string(__uint128_t val)
+{
+ char str_rev[40]; /* __uint128_t maximum string length is 39 */
+ int i, j;
+
+ for (i = 0; val > 0; i++) {
+ str_rev[i] = (val % 10) + 48;
+ val /= 10;
+ }
+
+ for (j = 0; i >= 0;) {
+ str_uint128[j++] = str_rev[--i];
+ }
+ str_uint128[j] = '\0';
+
+ return str_uint128;
+}
+
const char *util_uuid_to_string(uuid_t uuid)
{
/* large enough to hold uuid str (37) + null-termination byte */
return t + ABSOLUTE_ZERO_CELSIUS;
}
+__uint128_t le128_to_cpu(__u8 *data);
long double int128_to_double(__u8 *data);
uint64_t int48_to_long(__u8 *data);
+char *uint128_t_to_string(__uint128_t val);
const char *util_uuid_to_string(uuid_t uuid);
const char *util_fw_to_string(char *c);