Changes for new ACC version.
committer: mfx <mfx> 1126029282 +0000
This commit is contained in:
+70
-88
@@ -36,130 +36,109 @@
|
|||||||
|
|
||||||
inline unsigned get_be16(const void *bb)
|
inline unsigned get_be16(const void *bb)
|
||||||
{
|
{
|
||||||
const unsigned char* b = (const unsigned char*) bb;
|
#if defined(ACC_UA_GET_BE16)
|
||||||
unsigned v;
|
return ACC_UA_GET_BE16(bb);
|
||||||
v = (unsigned) b[1] << 0;
|
#else
|
||||||
v |= (unsigned) b[0] << 8;
|
return acc_ua_get_be16(bb);
|
||||||
return v;
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_be16(void *bb, unsigned v)
|
inline void set_be16(void *bb, unsigned v)
|
||||||
{
|
{
|
||||||
unsigned char* b = (unsigned char*) bb;
|
#if defined(ACC_UA_SET_BE16)
|
||||||
b[1] = (unsigned char) (v >> 0);
|
ACC_UA_SET_BE16(bb, v);
|
||||||
b[0] = (unsigned char) (v >> 8);
|
#else
|
||||||
|
acc_ua_set_be16(bb, v);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline unsigned get_be24(const void *bb)
|
inline unsigned get_be24(const void *bb)
|
||||||
{
|
{
|
||||||
const unsigned char* b = (const unsigned char*) bb;
|
#if defined(ACC_UA_GET_BE24)
|
||||||
unsigned v;
|
return ACC_UA_GET_BE24(bb);
|
||||||
v = (unsigned) b[2] << 0;
|
#else
|
||||||
v |= (unsigned) b[1] << 8;
|
return acc_ua_get_be24(bb);
|
||||||
v |= (unsigned) b[0] << 16;
|
#endif
|
||||||
return v;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_be24(void *bb, unsigned v)
|
inline void set_be24(void *bb, unsigned v)
|
||||||
{
|
{
|
||||||
unsigned char* b = (unsigned char*) bb;
|
#if defined(ACC_UA_SET_BE24)
|
||||||
b[2] = (unsigned char) (v >> 0);
|
ACC_UA_SET_BE24(bb, v);
|
||||||
b[1] = (unsigned char) (v >> 8);
|
#else
|
||||||
b[0] = (unsigned char) (v >> 16);
|
acc_ua_set_be24(bb, v);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline unsigned get_be32(const void *bb)
|
inline unsigned get_be32(const void *bb)
|
||||||
{
|
{
|
||||||
const unsigned char* b = (const unsigned char*) bb;
|
#if defined(ACC_UA_GET_BE32)
|
||||||
unsigned v;
|
return ACC_UA_GET_BE32(bb);
|
||||||
v = (unsigned) b[3] << 0;
|
#else
|
||||||
v |= (unsigned) b[2] << 8;
|
return acc_ua_get_be32(bb);
|
||||||
v |= (unsigned) b[1] << 16;
|
#endif
|
||||||
v |= (unsigned) b[0] << 24;
|
|
||||||
return v;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_be32(void *bb, unsigned v)
|
inline void set_be32(void *bb, unsigned v)
|
||||||
{
|
{
|
||||||
unsigned char* b = (unsigned char*) bb;
|
#if defined(ACC_UA_SET_BE32)
|
||||||
b[3] = (unsigned char) (v >> 0);
|
ACC_UA_SET_BE32(bb, v);
|
||||||
b[2] = (unsigned char) (v >> 8);
|
#else
|
||||||
b[1] = (unsigned char) (v >> 16);
|
acc_ua_set_be32(bb, v);
|
||||||
b[0] = (unsigned char) (v >> 24);
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline unsigned get_le16(const void *bb)
|
inline unsigned get_le16(const void *bb)
|
||||||
{
|
{
|
||||||
#if defined(ACC_GET_LE16)
|
#if defined(ACC_UA_GET_LE16)
|
||||||
return ACC_GET_LE16(bb);
|
return ACC_UA_GET_LE16(bb);
|
||||||
#else
|
#else
|
||||||
const unsigned char* b = (const unsigned char*) bb;
|
return acc_ua_get_le16(bb);
|
||||||
unsigned v;
|
|
||||||
v = (unsigned) b[0] << 0;
|
|
||||||
v |= (unsigned) b[1] << 8;
|
|
||||||
return v;
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_le16(void *bb, unsigned v)
|
inline void set_le16(void *bb, unsigned v)
|
||||||
{
|
{
|
||||||
#if defined(ACC_SET_LE16)
|
#if defined(ACC_UA_SET_LE16)
|
||||||
ACC_SET_LE16(bb, v);
|
ACC_UA_SET_LE16(bb, v);
|
||||||
#else
|
#else
|
||||||
unsigned char* b = (unsigned char*) bb;
|
acc_ua_set_le16(bb, v);
|
||||||
b[0] = (unsigned char) (v >> 0);
|
|
||||||
b[1] = (unsigned char) (v >> 8);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline unsigned get_le24(const void *bb)
|
inline unsigned get_le24(const void *bb)
|
||||||
{
|
{
|
||||||
const unsigned char* b = (const unsigned char*) bb;
|
#if defined(ACC_UA_GET_LE24)
|
||||||
unsigned v;
|
return ACC_UA_GET_LE24(bb);
|
||||||
v = (unsigned) b[0] << 0;
|
#else
|
||||||
v |= (unsigned) b[1] << 8;
|
return acc_ua_get_le24(bb);
|
||||||
v |= (unsigned) b[2] << 16;
|
#endif
|
||||||
return v;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_le24(void *bb, unsigned v)
|
inline void set_le24(void *bb, unsigned v)
|
||||||
{
|
{
|
||||||
unsigned char* b = (unsigned char*) bb;
|
#if defined(ACC_UA_SET_LE24)
|
||||||
b[0] = (unsigned char) (v >> 0);
|
ACC_UA_SET_LE24(bb, v);
|
||||||
b[1] = (unsigned char) (v >> 8);
|
#else
|
||||||
b[2] = (unsigned char) (v >> 16);
|
acc_ua_set_le24(bb, v);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline unsigned get_le32(const void *bb)
|
inline unsigned get_le32(const void *bb)
|
||||||
{
|
{
|
||||||
#if defined(ACC_GET_LE32)
|
#if defined(ACC_UA_GET_LE32)
|
||||||
return ACC_GET_LE32(bb);
|
return ACC_UA_GET_LE32(bb);
|
||||||
#else
|
#else
|
||||||
const unsigned char* b = (const unsigned char*) bb;
|
return acc_ua_get_le32(bb);
|
||||||
unsigned v;
|
|
||||||
v = (unsigned) b[0] << 0;
|
|
||||||
v |= (unsigned) b[1] << 8;
|
|
||||||
v |= (unsigned) b[2] << 16;
|
|
||||||
v |= (unsigned) b[3] << 24;
|
|
||||||
return v;
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
inline void set_le32(void *bb, unsigned v)
|
inline void set_le32(void *bb, unsigned v)
|
||||||
{
|
{
|
||||||
#if defined(ACC_SET_LE32)
|
#if defined(ACC_UA_SET_LE32)
|
||||||
ACC_SET_LE32(bb, v);
|
ACC_UA_SET_LE32(bb, v);
|
||||||
#else
|
#else
|
||||||
unsigned char* b = (unsigned char*) bb;
|
acc_ua_set_le32(bb, v);
|
||||||
b[0] = (unsigned char) (v >> 0);
|
|
||||||
b[1] = (unsigned char) (v >> 8);
|
|
||||||
b[2] = (unsigned char) (v >> 16);
|
|
||||||
b[3] = (unsigned char) (v >> 24);
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -227,8 +206,10 @@ struct BE16
|
|||||||
BE16& operator = (unsigned v) { set_be16(d, v); return *this; }
|
BE16& operator = (unsigned v) { set_be16(d, v); return *this; }
|
||||||
BE16& operator += (unsigned v) { set_be16(d, get_be16(d) + v); return *this; }
|
BE16& operator += (unsigned v) { set_be16(d, get_be16(d) + v); return *this; }
|
||||||
BE16& operator -= (unsigned v) { set_be16(d, get_be16(d) - v); return *this; }
|
BE16& operator -= (unsigned v) { set_be16(d, get_be16(d) - v); return *this; }
|
||||||
|
BE16& operator *= (unsigned v) { set_be16(d, get_be16(d) * v); return *this; }
|
||||||
BE16& operator &= (unsigned v) { set_be16(d, get_be16(d) & v); return *this; }
|
BE16& operator &= (unsigned v) { set_be16(d, get_be16(d) & v); return *this; }
|
||||||
BE16& operator |= (unsigned v) { set_be16(d, get_be16(d) | v); return *this; }
|
BE16& operator |= (unsigned v) { set_be16(d, get_be16(d) | v); return *this; }
|
||||||
|
BE16& operator ^= (unsigned v) { set_be16(d, get_be16(d) ^ v); return *this; }
|
||||||
|
|
||||||
operator unsigned () const { return get_be16(d); }
|
operator unsigned () const { return get_be16(d); }
|
||||||
}
|
}
|
||||||
@@ -242,8 +223,10 @@ struct BE32
|
|||||||
BE32& operator = (unsigned v) { set_be32(d, v); return *this; }
|
BE32& operator = (unsigned v) { set_be32(d, v); return *this; }
|
||||||
BE32& operator += (unsigned v) { set_be32(d, get_be32(d) + v); return *this; }
|
BE32& operator += (unsigned v) { set_be32(d, get_be32(d) + v); return *this; }
|
||||||
BE32& operator -= (unsigned v) { set_be32(d, get_be32(d) - v); return *this; }
|
BE32& operator -= (unsigned v) { set_be32(d, get_be32(d) - v); return *this; }
|
||||||
|
BE32& operator *= (unsigned v) { set_be32(d, get_be32(d) * v); return *this; }
|
||||||
BE32& operator &= (unsigned v) { set_be32(d, get_be32(d) & v); return *this; }
|
BE32& operator &= (unsigned v) { set_be32(d, get_be32(d) & v); return *this; }
|
||||||
BE32& operator |= (unsigned v) { set_be32(d, get_be32(d) | v); return *this; }
|
BE32& operator |= (unsigned v) { set_be32(d, get_be32(d) | v); return *this; }
|
||||||
|
BE32& operator ^= (unsigned v) { set_be32(d, get_be32(d) ^ v); return *this; }
|
||||||
|
|
||||||
operator unsigned () const { return get_be32(d); }
|
operator unsigned () const { return get_be32(d); }
|
||||||
}
|
}
|
||||||
@@ -257,8 +240,10 @@ struct LE16
|
|||||||
LE16& operator = (unsigned v) { set_le16(d, v); return *this; }
|
LE16& operator = (unsigned v) { set_le16(d, v); return *this; }
|
||||||
LE16& operator += (unsigned v) { set_le16(d, get_le16(d) + v); return *this; }
|
LE16& operator += (unsigned v) { set_le16(d, get_le16(d) + v); return *this; }
|
||||||
LE16& operator -= (unsigned v) { set_le16(d, get_le16(d) - v); return *this; }
|
LE16& operator -= (unsigned v) { set_le16(d, get_le16(d) - v); return *this; }
|
||||||
|
LE16& operator *= (unsigned v) { set_le16(d, get_le16(d) * v); return *this; }
|
||||||
LE16& operator &= (unsigned v) { set_le16(d, get_le16(d) & v); return *this; }
|
LE16& operator &= (unsigned v) { set_le16(d, get_le16(d) & v); return *this; }
|
||||||
LE16& operator |= (unsigned v) { set_le16(d, get_le16(d) | v); return *this; }
|
LE16& operator |= (unsigned v) { set_le16(d, get_le16(d) | v); return *this; }
|
||||||
|
LE16& operator ^= (unsigned v) { set_le16(d, get_le16(d) ^ v); return *this; }
|
||||||
|
|
||||||
operator unsigned () const { return get_le16(d); }
|
operator unsigned () const { return get_le16(d); }
|
||||||
}
|
}
|
||||||
@@ -272,8 +257,10 @@ struct LE32
|
|||||||
LE32& operator = (unsigned v) { set_le32(d, v); return *this; }
|
LE32& operator = (unsigned v) { set_le32(d, v); return *this; }
|
||||||
LE32& operator += (unsigned v) { set_le32(d, get_le32(d) + v); return *this; }
|
LE32& operator += (unsigned v) { set_le32(d, get_le32(d) + v); return *this; }
|
||||||
LE32& operator -= (unsigned v) { set_le32(d, get_le32(d) - v); return *this; }
|
LE32& operator -= (unsigned v) { set_le32(d, get_le32(d) - v); return *this; }
|
||||||
|
LE32& operator *= (unsigned v) { set_le32(d, get_le32(d) * v); return *this; }
|
||||||
LE32& operator &= (unsigned v) { set_le32(d, get_le32(d) & v); return *this; }
|
LE32& operator &= (unsigned v) { set_le32(d, get_le32(d) & v); return *this; }
|
||||||
LE32& operator |= (unsigned v) { set_le32(d, get_le32(d) | v); return *this; }
|
LE32& operator |= (unsigned v) { set_le32(d, get_le32(d) | v); return *this; }
|
||||||
|
LE32& operator ^= (unsigned v) { set_le32(d, get_le32(d) ^ v); return *this; }
|
||||||
|
|
||||||
operator unsigned () const { return get_le32(d); }
|
operator unsigned () const { return get_le32(d); }
|
||||||
}
|
}
|
||||||
@@ -284,24 +271,17 @@ __attribute_packed;
|
|||||||
// global operators
|
// global operators
|
||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
|
|
||||||
inline bool operator < (const BE16& v1, const BE16& v2)
|
inline bool operator < (const BE16& v1, const BE16& v2) {
|
||||||
{
|
return (unsigned) v1 < (unsigned) v2;
|
||||||
return (unsigned)v1 < (unsigned)v2;
|
|
||||||
}
|
}
|
||||||
|
inline bool operator < (const BE32& v1, const BE32& v2) {
|
||||||
inline bool operator < (const BE32& v1, const BE32& v2)
|
return (unsigned) v1 < (unsigned) v2;
|
||||||
{
|
|
||||||
return (unsigned)v1 < (unsigned)v2;
|
|
||||||
}
|
}
|
||||||
|
inline bool operator < (const LE16& v1, const LE16& v2) {
|
||||||
inline bool operator < (const LE16& v1, const LE16& v2)
|
return (unsigned) v1 < (unsigned) v2;
|
||||||
{
|
|
||||||
return (unsigned)v1 < (unsigned)v2;
|
|
||||||
}
|
}
|
||||||
|
inline bool operator < (const LE32& v1, const LE32& v2) {
|
||||||
inline bool operator < (const LE32& v1, const LE32& v2)
|
return (unsigned) v1 < (unsigned) v2;
|
||||||
{
|
|
||||||
return (unsigned)v1 < (unsigned)v2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -354,6 +334,7 @@ int __acc_cdecl_qsort le32_compare_signed(const void *e1, const void *e2);
|
|||||||
|
|
||||||
|
|
||||||
// just for testing...
|
// just for testing...
|
||||||
|
#if !defined(ACC_CFG_NO_UNALIGNED)
|
||||||
#if 0 && (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_CC_GNUC >= 0x030200)
|
#if 0 && (ACC_ARCH_AMD64 || ACC_ARCH_I386) && (ACC_CC_GNUC >= 0x030200)
|
||||||
typedef acc_uint16e_t LE16_unaligned __attribute__((__aligned__(1)));
|
typedef acc_uint16e_t LE16_unaligned __attribute__((__aligned__(1)));
|
||||||
typedef acc_uint32e_t LE32_unaligned __attribute__((__aligned__(1)));
|
typedef acc_uint32e_t LE32_unaligned __attribute__((__aligned__(1)));
|
||||||
@@ -373,6 +354,7 @@ int __acc_cdecl_qsort le32_compare_signed(const void *e1, const void *e2);
|
|||||||
# define LE32 LE32_unaligned
|
# define LE32 LE32_unaligned
|
||||||
# pragma warning(disable: 4244) // Wx: conversion, possible loss of data
|
# pragma warning(disable: 4244) // Wx: conversion, possible loss of data
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif /* already included */
|
#endif /* already included */
|
||||||
|
|||||||
+2
-1
@@ -36,8 +36,9 @@
|
|||||||
# pragma warning(disable: 4201 4214 4514)
|
# pragma warning(disable: 4201 4214 4514)
|
||||||
#endif
|
#endif
|
||||||
#define ACC_WANT_ACC_INCI_H 1
|
#define ACC_WANT_ACC_INCI_H 1
|
||||||
#define ACC_WANT_ACCLIB_MISC 1
|
|
||||||
#define ACC_WANT_ACCLIB_HSREAD 1
|
#define ACC_WANT_ACCLIB_HSREAD 1
|
||||||
|
#define ACC_WANT_ACCLIB_MISC 1
|
||||||
|
#define ACC_WANT_ACCLIB_UA 1
|
||||||
#define ACC_WANT_ACCLIB_WILDARGV 1
|
#define ACC_WANT_ACCLIB_WILDARGV 1
|
||||||
#include "miniacc.h"
|
#include "miniacc.h"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user