1 ////////////////////////////////////////////////////////////////////////
2 //
3 // Copyright (C) 2012-2021 The Octave Project Developers
4 //
5 // See the file COPYRIGHT.md in the top-level directory of this
6 // distribution or <https://octave.org/copyright/>.
7 //
8 // This file is part of Octave.
9 //
10 // Octave is free software: you can redistribute it and/or modify it
11 // under the terms of the GNU General Public License as published by
12 // the Free Software Foundation, either version 3 of the License, or
13 // (at your option) any later version.
14 //
15 // Octave is distributed in the hope that it will be useful, but
16 // WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 // GNU General Public License for more details.
19 //
20 // You should have received a copy of the GNU General Public License
21 // along with Octave; see the file COPYING.  If not, see
22 // <https://www.gnu.org/licenses/>.
23 //
24 ////////////////////////////////////////////////////////////////////////
25 
26 #if ! defined (octave_lo_cutils_h)
27 #define octave_lo_cutils_h 1
28 
29 #include "octave-config.h"
30 
31 #if defined (__cplusplus)
32 #include <cstddef>
33 using std::size_t;
34 extern "C" {
35 #else
36 #include <stddef.h>
37 #endif
38 
39 OCTAVE_API void
40 octave_qsort (void *base, size_t n, size_t size,
41               int (*cmp) (const void *, const void *));
42 
43 OCTAVE_API int
44 octave_strcasecmp (const char *s1, const char *s2);
45 
46 OCTAVE_API int
47 octave_strncasecmp (const char *s1, const char *s2, size_t n);
48 
49 #if defined (__cplusplus)
50 }
51 #endif
52 
53 #endif
54