17356f661SVladimir Kondratyev /*- 24d846d26SWarner Losh * SPDX-License-Identifier: BSD-2-Clause 37356f661SVladimir Kondratyev * 47356f661SVladimir Kondratyev * Copyright (c) 2021 Vladimir Kondratyev <wulf@FreeBSD.org> 57356f661SVladimir Kondratyev * 67356f661SVladimir Kondratyev * Redistribution and use in source and binary forms, with or without 77356f661SVladimir Kondratyev * modification, are permitted provided that the following conditions 87356f661SVladimir Kondratyev * are met: 97356f661SVladimir Kondratyev * 1. Redistributions of source code must retain the above copyright 107356f661SVladimir Kondratyev * notice unmodified, this list of conditions, and the following 117356f661SVladimir Kondratyev * disclaimer. 127356f661SVladimir Kondratyev * 2. Redistributions in binary form must reproduce the above copyright 137356f661SVladimir Kondratyev * notice, this list of conditions and the following disclaimer in the 147356f661SVladimir Kondratyev * documentation and/or other materials provided with the distribution. 157356f661SVladimir Kondratyev * 167356f661SVladimir Kondratyev * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 177356f661SVladimir Kondratyev * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 187356f661SVladimir Kondratyev * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 197356f661SVladimir Kondratyev * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 207356f661SVladimir Kondratyev * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 217356f661SVladimir Kondratyev * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 227356f661SVladimir Kondratyev * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 237356f661SVladimir Kondratyev * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 247356f661SVladimir Kondratyev * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 257356f661SVladimir Kondratyev * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 267356f661SVladimir Kondratyev */ 277356f661SVladimir Kondratyev 287356f661SVladimir Kondratyev #ifndef _LINUXKPI_LINUX_SORT_H_ 297356f661SVladimir Kondratyev #define _LINUXKPI_LINUX_SORT_H_ 307356f661SVladimir Kondratyev 317356f661SVladimir Kondratyev #include <linux/types.h> 327356f661SVladimir Kondratyev #include <linux/kernel.h> 337356f661SVladimir Kondratyev 347356f661SVladimir Kondratyev #include <sys/libkern.h> 357356f661SVladimir Kondratyev 367356f661SVladimir Kondratyev #define sort(base, num, size, cmp, swap) do { \ 37*f26cb475SSiva Mahadevan BUILD_BUG_ON(swap); \ 387356f661SVladimir Kondratyev qsort(base, num, size, cmp); \ 397356f661SVladimir Kondratyev } while (0) 407356f661SVladimir Kondratyev 417356f661SVladimir Kondratyev #endif /* _LINUXKPI_LINUX_SORT_H_ */ 42