Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/include/asm-generic/bitops/find.h
10818 views
1
#ifndef _ASM_GENERIC_BITOPS_FIND_H_
2
#define _ASM_GENERIC_BITOPS_FIND_H_
3
4
#ifndef find_next_bit
5
/**
6
* find_next_bit - find the next set bit in a memory region
7
* @addr: The address to base the search on
8
* @offset: The bitnumber to start searching at
9
* @size: The bitmap size in bits
10
*/
11
extern unsigned long find_next_bit(const unsigned long *addr, unsigned long
12
size, unsigned long offset);
13
#endif
14
15
#ifndef find_next_zero_bit
16
/**
17
* find_next_zero_bit - find the next cleared bit in a memory region
18
* @addr: The address to base the search on
19
* @offset: The bitnumber to start searching at
20
* @size: The bitmap size in bits
21
*/
22
extern unsigned long find_next_zero_bit(const unsigned long *addr, unsigned
23
long size, unsigned long offset);
24
#endif
25
26
#ifdef CONFIG_GENERIC_FIND_FIRST_BIT
27
28
/**
29
* find_first_bit - find the first set bit in a memory region
30
* @addr: The address to start the search at
31
* @size: The maximum size to search
32
*
33
* Returns the bit number of the first set bit.
34
*/
35
extern unsigned long find_first_bit(const unsigned long *addr,
36
unsigned long size);
37
38
/**
39
* find_first_zero_bit - find the first cleared bit in a memory region
40
* @addr: The address to start the search at
41
* @size: The maximum size to search
42
*
43
* Returns the bit number of the first cleared bit.
44
*/
45
extern unsigned long find_first_zero_bit(const unsigned long *addr,
46
unsigned long size);
47
#else /* CONFIG_GENERIC_FIND_FIRST_BIT */
48
49
#define find_first_bit(addr, size) find_next_bit((addr), (size), 0)
50
#define find_first_zero_bit(addr, size) find_next_zero_bit((addr), (size), 0)
51
52
#endif /* CONFIG_GENERIC_FIND_FIRST_BIT */
53
54
#endif /*_ASM_GENERIC_BITOPS_FIND_H_ */
55
56