Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros
rtllib_endianfree.h File Reference

Go to the source code of this file.

Macros

#define __MACHINE_LITTLE_ENDIAN   1234 /* LSB first: i386, vax */
 
#define __MACHINE_BIG_ENDIAN   4321 /* MSB first: 68000, ibm, net, ppc */
 
#define BYTE_ORDER   __MACHINE_LITTLE_ENDIAN
 
#define EF1Byte(_val)   ((u8)(_val))
 
#define EF2Byte(_val)   ((u16)(_val))
 
#define EF4Byte(_val)   ((u32)(_val))
 
#define ReadEF1Byte(_ptr)   EF1Byte(*((u8 *)(_ptr)))
 
#define ReadEF2Byte(_ptr)   EF2Byte(*((u16 *)(_ptr)))
 
#define ReadEF4Byte(_ptr)   EF4Byte(*((u32 *)(_ptr)))
 
#define WriteEF1Byte(_ptr, _val)   (*((u8 *)(_ptr))) = EF1Byte(_val)
 
#define WriteEF2Byte(_ptr, _val)   (*((u16 *)(_ptr))) = EF2Byte(_val)
 
#define WriteEF4Byte(_ptr, _val)   (*((u32 *)(_ptr))) = EF4Byte(_val)
 
#define H2N1BYTE(_val)   ((u8)(_val))
 
#define H2N2BYTE(_val)
 
#define H2N4BYTE(_val)
 
#define N2H1BYTE(_val)   ((u8)(_val))
 
#define N2H2BYTE(_val)
 
#define N2H4BYTE(_val)
 
#define BIT_LEN_MASK_32(__BitLen)   (0xFFFFFFFF >> (32 - (__BitLen)))
 
#define BIT_OFFSET_LEN_MASK_32(__BitOffset, __BitLen)   (BIT_LEN_MASK_32(__BitLen) << (__BitOffset))
 
#define LE_P4BYTE_TO_HOST_4BYTE(__pStart)   (EF4Byte(*((u32 *)(__pStart))))
 
#define LE_BITS_TO_4BYTE(__pStart, __BitOffset, __BitLen)
 
#define LE_BITS_CLEARED_TO_4BYTE(__pStart, __BitOffset, __BitLen)
 
#define SET_BITS_TO_LE_4BYTE(__pStart, __BitOffset, __BitLen, __Value)
 
#define BIT_LEN_MASK_16(__BitLen)   (0xFFFF >> (16 - (__BitLen)))
 
#define BIT_OFFSET_LEN_MASK_16(__BitOffset, __BitLen)   (BIT_LEN_MASK_16(__BitLen) << (__BitOffset))
 
#define LE_P2BYTE_TO_HOST_2BYTE(__pStart)   (EF2Byte(*((u16 *)(__pStart))))
 
#define LE_BITS_TO_2BYTE(__pStart, __BitOffset, __BitLen)
 
#define LE_BITS_CLEARED_TO_2BYTE(__pStart, __BitOffset, __BitLen)
 
#define SET_BITS_TO_LE_2BYTE(__pStart, __BitOffset, __BitLen, __Value)
 
#define BIT_LEN_MASK_8(__BitLen)   (0xFF >> (8 - (__BitLen)))
 
#define BIT_OFFSET_LEN_MASK_8(__BitOffset, __BitLen)   (BIT_LEN_MASK_8(__BitLen) << (__BitOffset))
 
#define LE_P1BYTE_TO_HOST_1BYTE(__pStart)   (EF1Byte(*((u8 *)(__pStart))))
 
#define LE_BITS_TO_1BYTE(__pStart, __BitOffset, __BitLen)
 
#define LE_BITS_CLEARED_TO_1BYTE(__pStart, __BitOffset, __BitLen)
 
#define SET_BITS_TO_LE_1BYTE(__pStart, __BitOffset, __BitLen, __Value)
 
#define N_BYTE_ALIGMENT(__Value, __Aligment)
 

Macro Definition Documentation

#define __MACHINE_BIG_ENDIAN   4321 /* MSB first: 68000, ibm, net, ppc */

Definition at line 12 of file rtllib_endianfree.h.

#define __MACHINE_LITTLE_ENDIAN   1234 /* LSB first: i386, vax */

Definition at line 11 of file rtllib_endianfree.h.

#define BIT_LEN_MASK_16 (   __BitLen)    (0xFFFF >> (16 - (__BitLen)))

Definition at line 96 of file rtllib_endianfree.h.

#define BIT_LEN_MASK_32 (   __BitLen)    (0xFFFFFFFF >> (32 - (__BitLen)))

Definition at line 67 of file rtllib_endianfree.h.

#define BIT_LEN_MASK_8 (   __BitLen)    (0xFF >> (8 - (__BitLen)))

Definition at line 127 of file rtllib_endianfree.h.

#define BIT_OFFSET_LEN_MASK_16 (   __BitOffset,
  __BitLen 
)    (BIT_LEN_MASK_16(__BitLen) << (__BitOffset))

Definition at line 99 of file rtllib_endianfree.h.

#define BIT_OFFSET_LEN_MASK_32 (   __BitOffset,
  __BitLen 
)    (BIT_LEN_MASK_32(__BitLen) << (__BitOffset))

Definition at line 68 of file rtllib_endianfree.h.

#define BIT_OFFSET_LEN_MASK_8 (   __BitOffset,
  __BitLen 
)    (BIT_LEN_MASK_8(__BitLen) << (__BitOffset))

Definition at line 130 of file rtllib_endianfree.h.

#define BYTE_ORDER   __MACHINE_LITTLE_ENDIAN

Definition at line 14 of file rtllib_endianfree.h.

#define EF1Byte (   _val)    ((u8)(_val))

Definition at line 17 of file rtllib_endianfree.h.

#define EF2Byte (   _val)    ((u16)(_val))

Definition at line 18 of file rtllib_endianfree.h.

#define EF4Byte (   _val)    ((u32)(_val))

Definition at line 19 of file rtllib_endianfree.h.

#define H2N1BYTE (   _val)    ((u8)(_val))

Definition at line 40 of file rtllib_endianfree.h.

#define H2N2BYTE (   _val)
Value:
(((((u16)(_val))&0x00ff)<<8)|\
((((u16)(_val))&0xff00)>>8))

Definition at line 41 of file rtllib_endianfree.h.

#define H2N4BYTE (   _val)
Value:
(((((u32)(_val))&0x000000ff)<<24)|\
((((u32)(_val))&0x0000ff00)<<8) |\
((((u32)(_val))&0x00ff0000)>>8) |\
((((u32)(_val))&0xff000000)>>24))

Definition at line 43 of file rtllib_endianfree.h.

#define LE_BITS_CLEARED_TO_1BYTE (   __pStart,
  __BitOffset,
  __BitLen 
)
Value:
( \
LE_P1BYTE_TO_HOST_1BYTE(__pStart) \
& \
(~BIT_OFFSET_LEN_MASK_8(__BitOffset, __BitLen)) \
)

Definition at line 143 of file rtllib_endianfree.h.

#define LE_BITS_CLEARED_TO_2BYTE (   __pStart,
  __BitOffset,
  __BitLen 
)
Value:
( \
LE_P2BYTE_TO_HOST_2BYTE(__pStart) \
& \
(~BIT_OFFSET_LEN_MASK_16(__BitOffset, __BitLen)) \
)

Definition at line 112 of file rtllib_endianfree.h.

#define LE_BITS_CLEARED_TO_4BYTE (   __pStart,
  __BitOffset,
  __BitLen 
)
Value:
( \
LE_P4BYTE_TO_HOST_4BYTE(__pStart) \
& \
(~BIT_OFFSET_LEN_MASK_32(__BitOffset, __BitLen)) \
)

Definition at line 80 of file rtllib_endianfree.h.

#define LE_BITS_TO_1BYTE (   __pStart,
  __BitOffset,
  __BitLen 
)
Value:
( \
(LE_P1BYTE_TO_HOST_1BYTE(__pStart) >> (__BitOffset)) \
& \
BIT_LEN_MASK_8(__BitLen) \
)

Definition at line 136 of file rtllib_endianfree.h.

#define LE_BITS_TO_2BYTE (   __pStart,
  __BitOffset,
  __BitLen 
)
Value:
( \
(LE_P2BYTE_TO_HOST_2BYTE(__pStart) >> (__BitOffset)) \
& \
BIT_LEN_MASK_16(__BitLen) \
)

Definition at line 105 of file rtllib_endianfree.h.

#define LE_BITS_TO_4BYTE (   __pStart,
  __BitOffset,
  __BitLen 
)
Value:
( \
(LE_P4BYTE_TO_HOST_4BYTE(__pStart) >> (__BitOffset)) \
& \
BIT_LEN_MASK_32(__BitLen) \
)

Definition at line 73 of file rtllib_endianfree.h.

#define LE_P1BYTE_TO_HOST_1BYTE (   __pStart)    (EF1Byte(*((u8 *)(__pStart))))

Definition at line 133 of file rtllib_endianfree.h.

#define LE_P2BYTE_TO_HOST_2BYTE (   __pStart)    (EF2Byte(*((u16 *)(__pStart))))

Definition at line 102 of file rtllib_endianfree.h.

#define LE_P4BYTE_TO_HOST_4BYTE (   __pStart)    (EF4Byte(*((u32 *)(__pStart))))

Definition at line 71 of file rtllib_endianfree.h.

#define N2H1BYTE (   _val)    ((u8)(_val))

Definition at line 54 of file rtllib_endianfree.h.

#define N2H2BYTE (   _val)
Value:
(((((u16)(_val))&0x00ff)<<8)|\
((((u16)(_val))&0xff00)>>8))

Definition at line 55 of file rtllib_endianfree.h.

#define N2H4BYTE (   _val)
Value:
(((((u32)(_val))&0x000000ff)<<24)|\
((((u32)(_val))&0x0000ff00)<<8) |\
((((u32)(_val))&0x00ff0000)>>8) |\
((((u32)(_val))&0xff000000)>>24))

Definition at line 57 of file rtllib_endianfree.h.

#define N_BYTE_ALIGMENT (   __Value,
  __Aligment 
)
Value:
((__Aligment == 1) ? (__Value) : (((__Value + __Aligment - 1) / \
__Aligment) * __Aligment))

Definition at line 157 of file rtllib_endianfree.h.

#define ReadEF1Byte (   _ptr)    EF1Byte(*((u8 *)(_ptr)))

Definition at line 32 of file rtllib_endianfree.h.

#define ReadEF2Byte (   _ptr)    EF2Byte(*((u16 *)(_ptr)))

Definition at line 33 of file rtllib_endianfree.h.

#define ReadEF4Byte (   _ptr)    EF4Byte(*((u32 *)(_ptr)))

Definition at line 34 of file rtllib_endianfree.h.

#define SET_BITS_TO_LE_1BYTE (   __pStart,
  __BitOffset,
  __BitLen,
  __Value 
)
Value:
*((u8 *)(__pStart)) = EF1Byte( \
LE_BITS_CLEARED_TO_1BYTE(__pStart, __BitOffset, __BitLen) \
| ((((u8)__Value) & BIT_LEN_MASK_8(__BitLen)) << \
(__BitOffset)) \
);

Definition at line 150 of file rtllib_endianfree.h.

#define SET_BITS_TO_LE_2BYTE (   __pStart,
  __BitOffset,
  __BitLen,
  __Value 
)
Value:
*((u16 *)(__pStart)) = \
LE_BITS_CLEARED_TO_2BYTE(__pStart, __BitOffset, __BitLen) \
| ((((u16)__Value) & BIT_LEN_MASK_16(__BitLen)) << \
(__BitOffset)) \
);

Definition at line 119 of file rtllib_endianfree.h.

#define SET_BITS_TO_LE_4BYTE (   __pStart,
  __BitOffset,
  __BitLen,
  __Value 
)
Value:
*((u32 *)(__pStart)) = \
LE_BITS_CLEARED_TO_4BYTE(__pStart, __BitOffset, __BitLen) \
| \
((((u32)__Value) & BIT_LEN_MASK_32(__BitLen)) << (__BitOffset)) \
);

Definition at line 87 of file rtllib_endianfree.h.

#define WriteEF1Byte (   _ptr,
  _val 
)    (*((u8 *)(_ptr))) = EF1Byte(_val)

Definition at line 36 of file rtllib_endianfree.h.

#define WriteEF2Byte (   _ptr,
  _val 
)    (*((u16 *)(_ptr))) = EF2Byte(_val)

Definition at line 37 of file rtllib_endianfree.h.

#define WriteEF4Byte (   _ptr,
  _val 
)    (*((u32 *)(_ptr))) = EF4Byte(_val)

Definition at line 38 of file rtllib_endianfree.h.