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

Go to the source code of this file.

Macros

#define UData(Data)   ((unsigned long) (Data))
 
#define Fld(Size, Shft)   (((Size) << 16) + (Shft))
 
#define FSize(Field)   ((Field) >> 16)
 
#define FShft(Field)   ((Field) & 0x0000FFFF)
 
#define FMsk(Field)   (((UData (1) << FSize (Field)) - 1) << FShft (Field))
 
#define FAlnMsk(Field)   ((UData (1) << FSize (Field)) - 1)
 
#define F1stBit(Field)   (UData (1) << FShft (Field))
 
#define FInsrt(Value, Field)   (UData (Value) << FShft (Field))
 
#define FExtr(Data, Field)   ((UData (Data) >> FShft (Field)) & FAlnMsk (Field))
 

Macro Definition Documentation

#define F1stBit (   Field)    (UData (1) << FShft (Field))

Definition at line 72 of file bitfield.h.

#define FAlnMsk (   Field)    ((UData (1) << FSize (Field)) - 1)

Definition at line 71 of file bitfield.h.

#define FExtr (   Data,
  Field 
)    ((UData (Data) >> FShft (Field)) & FAlnMsk (Field))

Definition at line 109 of file bitfield.h.

#define FInsrt (   Value,
  Field 
)    (UData (Value) << FShft (Field))

Definition at line 90 of file bitfield.h.

#define Fld (   Size,
  Shft 
)    (((Size) << 16) + (Shft))

Definition at line 46 of file bitfield.h.

#define FMsk (   Field)    (((UData (1) << FSize (Field)) - 1) << FShft (Field))

Definition at line 70 of file bitfield.h.

#define FShft (   Field)    ((Field) & 0x0000FFFF)

Definition at line 69 of file bitfield.h.

#define FSize (   Field)    ((Field) >> 16)

Definition at line 68 of file bitfield.h.

#define UData (   Data)    ((unsigned long) (Data))

Definition at line 19 of file bitfield.h.