VSF Documented
bitfield.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_BITFIELD_H__
2#define __VSF_LINUX_BITFIELD_H__
3
4#include "hal/arch/vsf_arch.h"
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#define __bf_shf(__mask) vsf_ffs32(__mask)
11
12#define FIELD_GET(__MASK, __VAL) (((__VAL) & (__MASK)) >> __bf_shf(__MASK))
13#define FIELD_PREP(__MASK, __VAL) (((__VAL) << __bf_shf(__MASK)) & (__MASK))
14#define FIELD_FIT(__MASK, __VAL) !(((__VAL) << __bf_shf(__MASK)) & ~(__MASK))
15
16#ifdef __cplusplus
17}
18#endif
19
20#endif