aboutsummaryrefslogtreecommitdiff
path: root/src/testzzuf/mhd_debug_funcs.h
blob: 04de097041a5f288ec37a97b81c2cf7f3f323e62 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*
     This file is part of GNU libmicrohttpd
     Copyright (C) 2022 Evgeny Grin (Karlson2k)

     GNU libmicrohttpd is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
     License as published by the Free Software Foundation; either
     version 2.1 of the License, or (at your option) any later version.

     This library is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     Lesser General Public License for more details.

     You should have received a copy of the GNU Lesser General Public
     License along with GNU libmicrohttpd.
     If not, see <http://www.gnu.org/licenses/>.
*/

/**
 * @file testzzuf/mhd_debug_funcs.h
 * @brief  Declarations of MHD private debug functions
 * @author Karlson2k (Evgeny Grin)
 */

#ifndef MHD_DEBUG_FUNCS_H
#define MHD_DEBUG_FUNCS_H 1

struct MHD_Daemon;

/**
 * Checks whether MHD can use accept() syscall and
 * avoid accept4() syscall.
 * @return non-zero if accept() is possible,
 *         zero if accept4() is always used by MHD
 */
int
MHD_is_avoid_accept4_possible_ (void);

/**
 * Switch MHD daemon to use accept() syscalls for new connections.
 * @param daemon the daemon to operate
 */
void
MHD_avoid_accept4_ (struct MHD_Daemon *daemon);

/**
 * Checks whether any know sanitizer is enabled for this build.
 * zzuf does not work together with sanitizers as both are intercepting
 * standard library calls.
 * @return non-zero if any sanitizer is enabled,
 *         zero otherwise
 */
int
MHD_are_sanitizers_enabled_ (void);

#endif /* MHD_DEBUG_FUNCS_H */