#ifndef NAVIT_DATA_H
#define NAVIT_DATA_H
+#include "config.h"
+
+#ifdef WORDS_BIGENDIAN
+#include <byteswap.h>
+#endif
+
static inline unsigned char
get_u8(unsigned char **p)
{
unsigned short ret;
ret=*((unsigned short *)*p);
*p+=sizeof(unsigned short);
+#ifdef WORDS_BIGENDIAN
+ return __bswap_16(ret);
+#else
return ret;
+#endif
}
static inline unsigned short
static inline unsigned int
+get_u24_unal(unsigned char **p) {
+ unsigned long ret;
+ ret=get_u16_unal(p);
+ ret|=*((*p)++) << 16;
+ return ret;
+}
+
+
+static inline unsigned int
get_u32(unsigned char **p) {
unsigned long ret;
ret=*((unsigned int *)*p);
*p+=sizeof(unsigned int);
+#ifdef WORDS_BIGENDIAN
+ return __bswap_32(ret);
+#else
return ret;
+#endif
}
static inline unsigned int