PageRenderTime 27ms CodeModel.GetById 17ms app.highlight 6ms RepoModel.GetById 0ms app.codeStats 0ms

/tools/perf/util/include/linux/bitops.h

https://bitbucket.org/abioy/linux
C Header | 29 lines | 21 code | 8 blank | 0 comment | 1 complexity | 361c20bf736f5e1be449d6e07700ea53 MD5 | raw file
Possible License(s): CC-BY-SA-3.0, GPL-2.0, LGPL-2.0, AGPL-1.0
 1#ifndef _PERF_LINUX_BITOPS_H_
 2#define _PERF_LINUX_BITOPS_H_
 3
 4#define __KERNEL__
 5
 6#define CONFIG_GENERIC_FIND_NEXT_BIT
 7#define CONFIG_GENERIC_FIND_FIRST_BIT
 8#include "../../../../include/linux/bitops.h"
 9
10#undef __KERNEL__
11
12static inline void set_bit(int nr, unsigned long *addr)
13{
14	addr[nr / BITS_PER_LONG] |= 1UL << (nr % BITS_PER_LONG);
15}
16
17static __always_inline int test_bit(unsigned int nr, const unsigned long *addr)
18{
19	return ((1UL << (nr % BITS_PER_LONG)) &
20		(((unsigned long *)addr)[nr / BITS_PER_LONG])) != 0;
21}
22
23unsigned long generic_find_next_zero_le_bit(const unsigned long *addr, unsigned
24		long size, unsigned long offset);
25
26unsigned long generic_find_next_le_bit(const unsigned long *addr, unsigned
27		long size, unsigned long offset);
28
29#endif