bendian_bitfield.h

Go to the documentation of this file.
00001 #ifndef BENDIAN_BITFIELD_H
00002 #define BENDIAN_BITFIELD_H
00003 
00004 #include <ByteOrder.h>
00005 
00006 #if B_HOST_IS_LENDIAN
00007 
00008 #define  BBITFIELD8_2(b1,b2)                    uint8 b2,b1
00009 #define  BBITFIELD8_3(b1,b2,b3)                 uint8 b3,b2,b1
00010 #define  BBITFIELD8_4(b1,b2,b3,b4)              uint8 b4,b3,b2,b1
00011 #define  BBITFIELD8_5(b1,b2,b3,b4,b5)           uint8 b5,b4,b3,b2,b1
00012 #define  BBITFIELD8_6(b1,b2,b3,b4,b5,b6)        uint8 b6,b5,b4,b3,b2,b1
00013 #define  BBITFIELD8_7(b1,b2,b3,b4,b5,b6,b7)     uint8 b7,b6,b5,b4,b3,b2,b1
00014 #define  BBITFIELD8_8(b1,b2,b3,b4,b5,b6,b7,b8)  uint8 b8,b7,b6,b5,b4,b3,b2,b1
00015 
00016 
00017 #define  BBITFIELD16_2(b1,b2)                                                   uint16 b2,b1
00018 #define  BBITFIELD16_3(b1,b2,b3)                                                uint16 b3,b2,b1
00019 #define  BBITFIELD16_4(b1,b2,b3,b4)                                             uint16 b4,b3,b2,b1
00020 #define  BBITFIELD16_5(b1,b2,b3,b4,b5)                                          uint16 b5,b4,b3,b2,b1
00021 #define  BBITFIELD16_6(b1,b2,b3,b4,b5,b6)                                       uint16 b6,b5,b4,b3,b2,b1
00022 #define  BBITFIELD16_7(b1,b2,b3,b4,b5,b6,b7)                                    uint16 b7,b6,b5,b4,b3,b2,b1
00023 #define  BBITFIELD16_8(b1,b2,b3,b4,b5,b6,b7,b8)                                 uint16 b8,b7,b6,b5,b4,b3,b2,b1
00024 #define  BBITFIELD16_9(b1,b2,b3,b4,b5,b6,b7,b8,b9)                              uint16 b9,b8,b7,b6,b5,b4,b3,b2,b1
00025 #define BBITFIELD16_10(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10)                          uint16 b10,b9,b8,b7,b6,b5,b4,b3,b2,b1
00026 #define BBITFIELD16_11(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11)                      uint16 b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1
00027 #define BBITFIELD16_12(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12)                  uint16 b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1
00028 #define BBITFIELD16_13(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13)              uint16 b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1
00029 #define BBITFIELD16_14(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14)          uint16 b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1
00030 #define BBITFIELD16_15(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15)      uint16 b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1
00031 #define BBITFIELD16_16(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16)  uint16 b16,b15,b14,b13,b12,b11,b10,b9,b8,b7,b6,b5,b4,b3,b2,b1
00032 #elif B_HOST_IS_BENDIAN
00033 
00034 #define  BBITFIELD8_2(b1,b2)                    uint8 b1,b2
00035 #define  BBITFIELD8_3(b1,b2,b3)                 uint8 b1,b2,b3
00036 #define  BBITFIELD8_4(b1,b2,b3,b4)              uint8 b1,b2,b3,b4
00037 #define  BBITFIELD8_5(b1,b2,b3,b4,b5)           uint8 b1,b2,b3,b4,b5
00038 #define  BBITFIELD8_6(b1,b2,b3,b4,b5,b6)        uint8 b1,b2,b3,b4,b5,b6
00039 #define  BBITFIELD8_7(b1,b2,b3,b4,b5,b6,b7)     uint8 b1,b2,b3,b4,b5,b6,b7
00040 #define  BBITFIELD8_8(b1,b2,b3,b4,b5,b6,b7,b8)  uint8 b1,b2,b3,b4,b5,b6,b7,b8
00041 
00042 #define  BBITFIELD16_2(b1,b2)                                                   uint16 b1,b2
00043 #define  BBITFIELD16_3(b1,b2,b3)                                                uint16 b1,b2,b3
00044 #define  BBITFIELD16_4(b1,b2,b3,b4)                                             uint16 b1,b2,b3,b4
00045 #define  BBITFIELD16_5(b1,b2,b3,b4,b5)                                          uint16 b1,b2,b3,b4,b5
00046 #define  BBITFIELD16_6(b1,b2,b3,b4,b5,b6)                                       uint16 b1,b2,b3,b4,b5,b6
00047 #define  BBITFIELD16_7(b1,b2,b3,b4,b5,b6,b7)                                    uint16 b1,b2,b3,b4,b5,b6,b7
00048 #define  BBITFIELD16_8(b1,b2,b3,b4,b5,b6,b7,b8)                                 uint16 b1,b2,b3,b4,b5,b6,b7,b8
00049 #define  BBITFIELD16_9(b1,b2,b3,b4,b5,b6,b7,b8,b9)                              uint16 b1,b2,b3,b4,b5,b6,b7,b8,b9
00050 #define BBITFIELD16_10(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10)                          uint16 b1,b2,b3,b4,b5,b6,b7,b8,b9,b10
00051 #define BBITFIELD16_11(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11)                      uint16 b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11
00052 #define BBITFIELD16_12(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12)                  uint16 b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12
00053 #define BBITFIELD16_13(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13)              uint16 b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13
00054 #define BBITFIELD16_14(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14)          uint16 b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14
00055 #define BBITFIELD16_15(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15)      uint16 b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15
00056 #define BBITFIELD16_16(b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16)  uint16 b1,b2,b3,b4,b5,b6,b7,b8,b9,b10,b11,b12,b13,b14,b15,b16
00057 
00058 #else
00059 #error "Unknown host endianness"
00060 #endif
00061 
00062 #endif /* BENDIAN_BITFIELD_H */

Copyright 2005 by yellowTAB GmbH, Be Inc., Palm Source Inc. and their respective legal successors
All rights reserved.