1//===-- Implementation header for qsort_r -----------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef LLVM_LIBC_SRC_STDLIB_QSORT_R_H
10#define LLVM_LIBC_SRC_STDLIB_QSORT_R_H
11
12#include <stdlib.h>
13
14namespace LIBC_NAMESPACE {
15
16// This qsort_r uses the glibc argument ordering instead of the BSD argument
17// ordering (which puts arg before the function pointer). Putting arg after the
18// function pointer more closely matches the ordering for qsort_s, which is the
19// standardized equivalent of qsort_r.
20
21void qsort_r(void *array, size_t array_size, size_t elem_size,
22 int (*compare)(const void *, const void *, void *), void *arg);
23
24} // namespace LIBC_NAMESPACE
25
26#endif // LLVM_LIBC_SRC_STDLIB_QSORT_R_H
27

source code of libc/src/stdlib/qsort_r.h