/src/barebox/lib/bsearch.c
Line | Count | Source |
1 | | // SPDX-License-Identifier: GPL-2.0-only |
2 | | /* |
3 | | * A generic implementation of binary search for the Linux kernel |
4 | | * |
5 | | * Copyright (C) 2008-2009 Ksplice, Inc. |
6 | | * Author: Tim Abbott <tabbott@ksplice.com> |
7 | | */ |
8 | | |
9 | | #include <module.h> |
10 | | #include <linux/bsearch.h> |
11 | | |
12 | | /* |
13 | | * bsearch - binary search an array of elements |
14 | | * @key: pointer to item being searched for |
15 | | * @base: pointer to first element to search |
16 | | * @num: number of elements |
17 | | * @size: size of each element |
18 | | * @cmp: pointer to comparison function |
19 | | * |
20 | | * This function does a binary search on the given array. The |
21 | | * contents of the array should already be in ascending sorted order |
22 | | * under the provided comparison function. |
23 | | * |
24 | | * Note that the key need not have the same type as the elements in |
25 | | * the array, e.g. key could be a string and the comparison function |
26 | | * could compare the string with the struct's name field. However, if |
27 | | * the key and elements in the array are of the same type, you can use |
28 | | * the same comparison function for both sort() and bsearch(). |
29 | | */ |
30 | | void *bsearch(const void *key, const void *base, size_t num, size_t size, cmp_func_t cmp) |
31 | 0 | { |
32 | 0 | return __inline_bsearch(key, base, num, size, cmp); |
33 | 0 | } |
34 | | EXPORT_SYMBOL(bsearch); |