GNU libmicrohttpd  1.0.1
sysfdsetsize.c
Go to the documentation of this file.
1 /*
2  This file is part of libmicrohttpd
3  Copyright (C) 2015-2023 Karlson2k (Evgeny Grin)
4 
5  This library is free software; you can redistribute it and/or
6  modify it under the terms of the GNU Lesser General Public
7  License as published by the Free Software Foundation; either
8  version 2.1 of the License, or (at your option) any later version.
9 
10  This library is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public
16  License along with this library; if not, write to the Free Software
17  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19 
27 #include "mhd_options.h"
28 
29 #ifndef MHD_SYS_FD_SETSIZE_
30 
31 #include "sysfdsetsize.h"
32 
33 #ifdef FD_SETSIZE
34 /* FD_SETSIZE was defined before system headers. */
35 /* To get system value of FD_SETSIZE, undefine FD_SETSIZE
36  here. */
37 #undef FD_SETSIZE
38 #endif /* FD_SETSIZE */
39 
40 #ifdef HAVE_STDLIB_H
41 #include <stdlib.h>
42 #endif /* HAVE_STDLIB_H */
43 #if defined(__VXWORKS__) || defined(__vxworks) || defined(OS_VXWORKS)
44 #include <sockLib.h>
45 #endif /* OS_VXWORKS */
46 #ifdef HAVE_SYS_SELECT_H
47 #include <sys/select.h>
48 #endif /* HAVE_SYS_SELECT_H */
49 #ifdef HAVE_SYS_TYPES_H
50 #include <sys/types.h>
51 #endif /* HAVE_SYS_TYPES_H */
52 #ifdef HAVE_SYS_TIME_H
53 #include <sys/time.h>
54 #endif /* HAVE_SYS_TIME_H */
55 #ifdef HAVE_TIME_H
56 #include <time.h>
57 #endif /* HAVE_TIME_H */
58 #ifdef HAVE_UNISTD_H
59 #include <unistd.h>
60 #endif /* HAVE_UNISTD_H */
61 #ifdef HAVE_SYS_SOCKET_H
62 #include <sys/socket.h>
63 #endif /* HAVE_SYS_SOCKET_H */
64 
65 #if defined(_WIN32) && ! defined(__CYGWIN__)
66 #ifndef WIN32_LEAN_AND_MEAN
67 #define WIN32_LEAN_AND_MEAN 1
68 #endif /* !WIN32_LEAN_AND_MEAN */
69 #include <winsock2.h>
70 #endif /* _WIN32 && !__CYGWIN__ */
71 
72 #ifndef FD_SETSIZE
73 #error FD_SETSIZE must be defined in system headers
74 #endif /* !FD_SETSIZE */
75 
76 
81 unsigned int
83 {
84  return (unsigned int) FD_SETSIZE;
85 }
86 
87 
88 #endif /* ! MHD_SYS_FD_SETSIZE_ */
int get_system_fdsetsize_value(void)
Definition: sysfdsetsize.c:77
additional automatic macros for MHD_config.h
Helper for obtaining FD_SETSIZE system default value.