aura  0.1
 All Data Structures Functions Variables Modules Pages
utils.c
1 #include <aura/aura.h>
2 
9 enum aura_endianness aura_get_host_endianness() {
10  union {
11  uint32_t i;
12  char c[4];
13  } e = { 0x01000000 };
14 
15  if (e.c[0])
16  return AURA_ENDIAN_BIG;
17  else
18  return AURA_ENDIAN_LITTLE;
19 }
20 
27 const char *aura_get_version()
28 {
29  return AURA_VERSION " " AURA_VERSION_GIT;
30 }
31 
37 unsigned int aura_get_version_code()
38 {
39  int a,b,c;
40  sscanf(AURA_VERSION, "%d.%d.%d", &a, &b, &c);
41  return a * 100000 + b * 1000 + c;
42 }
43 
44 
52 void aura_hexdump (char *desc, void *addr, int len) {
53  int i;
54  unsigned char buff[17];
55  unsigned char *pc = (unsigned char*)addr;
56 
57  if (desc != NULL)
58  printf ("%s:\n", desc);
59 
60  for (i = 0; i < len; i++) {
61  if ((i % 16) == 0) {
62  if (i != 0)
63  printf (" %s\n", buff);
64  printf (" %04x ", i);
65  }
66 
67  printf (" %02x", pc[i]);
68  if ((pc[i] < 0x20) || (pc[i] > 0x7e))
69  buff[i % 16] = '.';
70  else
71  buff[i % 16] = pc[i];
72  buff[(i % 16) + 1] = '\0';
73  }
74 
75  while ((i % 16) != 0) {
76  printf (" ");
77  i++;
78  }
79 
80  printf (" %s\n", buff);
81 }