X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=lib%2Funaligned.h;h=a3908b0a9e31747ddfa197aee0aaff9b05accfe7;hb=23552983305e667eeb772406d1745ab7b865855e;hp=2d4541a77cd111d9d0947534b6d61f7d4fea3635;hpb=caf277ba697f9c7004127d40a952345455aaae85;p=libucw.git diff --git a/lib/unaligned.h b/lib/unaligned.h index 2d4541a7..a3908b0a 100644 --- a/lib/unaligned.h +++ b/lib/unaligned.h @@ -21,18 +21,18 @@ #ifdef CPU_BIG_ENDIAN #define GET_U16(p) (((p)[0] << 8) | (p)[1]) #define GET_U32(p) (((p)[0] << 24) | ((p)[1] << 16) | ((p)[2] << 8) | (p)[3]) -#define GET_U32_16(p) (((p)[0] << 16) | (p)[1]) #define PUT_U16(p,x) (void)(((p)[0] = ((x) >> 8)), (((p)[1]) = (x))) #define PUT_U32(p,x) (void)(((p)[0] = ((x) >> 24)), (((p)[1]) = ((x) >> 16)), (((p)[2]) = ((x) >> 8)), (((p)[3]) = (x))) #else #define GET_U16(p) (((p)[1] << 8) | (p)[0]) #define GET_U32(p) (((p)[3] << 24) | ((p)[2] << 16) | ((p)[1] << 8) | (p)[0]) -#define GET_U32_16(p) (((p)[1] << 16) | (p)[0]) #define PUT_U16(p,x) (void)(((p)[1] = ((x) >> 8)), (((p)[0]) = (x))) #define PUT_U32(p,x) (void)(((p)[3] = ((x) >> 24)), (((p)[2]) = ((x) >> 16)), (((p)[1]) = ((x) >> 8)), (((p)[0]) = (x))) #endif #endif +#define GET_U32_BE16(p) (((p)[0] << 16) | (p)[1]) + #ifdef CPU_BIG_ENDIAN #define GET_U40(p) (((u64) (p)[0] << 32) | GET_U32((p)+1)) #define PUT_U40(p,x) do { (p)[0] = ((x) >> 32); PUT_U32(((p)+1), x); } while(0)