dhcpd-pools  2.28
ISC dhcpd lease usage analyser
time.h
Go to the documentation of this file.
1 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */
2 /* Provide a more complete sys/time.h.
3 
4  Copyright (C) 2007-2015 Free Software Foundation, Inc.
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 3, or (at your option)
9  any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program; if not, see <http://www.gnu.org/licenses/>. */
18 
19 /* Written by Paul Eggert. */
20 
21 #ifndef _GL_SYS_TIME_H
22 
23 #if __GNUC__ >= 3
24 #pragma GCC system_header
25 #endif
26 
27 
28 /* On Cygwin and on many BSDish systems, <sys/time.h> includes itself
29  recursively via <sys/select.h>.
30  Simply delegate to the system's header in this case; it is a no-op.
31  Without this extra ifdef, the C++ gettimeofday declaration below
32  would be a forward declaration in gnulib's nested <sys/time.h>. */
33 #if defined _CYGWIN_SYS_TIME_H || defined _SYS_TIME_H || defined _SYS_TIME_H_
34 # include_next <sys/time.h>
35 #else
36 
37 /* The include_next requires a split double-inclusion guard. */
38 #if 1
39 # include_next <sys/time.h>
40 #endif
41 
42 #ifndef _GL_SYS_TIME_H
43 #define _GL_SYS_TIME_H
44 
45 #if ! 1
46 # include <time.h>
47 #endif
48 
49 /* On native Windows with MSVC, get the 'struct timeval' type.
50  Also, on native Windows with a 64-bit time_t, where we are overriding the
51  'struct timeval' type, get all declarations of system functions whose
52  signature contains 'struct timeval'. */
53 #if (defined _MSC_VER || 0) && 0 && !defined _GL_INCLUDING_WINSOCK2_H
54 # define _GL_INCLUDING_WINSOCK2_H
55 # include <winsock2.h>
56 # undef _GL_INCLUDING_WINSOCK2_H
57 #endif
58 
59 /* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
60 #ifndef _GL_CXXDEFS_H
61 #define _GL_CXXDEFS_H
62 
63 /* The three most frequent use cases of these macros are:
64 
65  * For providing a substitute for a function that is missing on some
66  platforms, but is declared and works fine on the platforms on which
67  it exists:
68 
69  #if @GNULIB_FOO@
70  # if !@HAVE_FOO@
71  _GL_FUNCDECL_SYS (foo, ...);
72  # endif
73  _GL_CXXALIAS_SYS (foo, ...);
74  _GL_CXXALIASWARN (foo);
75  #elif defined GNULIB_POSIXCHECK
76  ...
77  #endif
78 
79  * For providing a replacement for a function that exists on all platforms,
80  but is broken/insufficient and needs to be replaced on some platforms:
81 
82  #if @GNULIB_FOO@
83  # if @REPLACE_FOO@
84  # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
85  # undef foo
86  # define foo rpl_foo
87  # endif
88  _GL_FUNCDECL_RPL (foo, ...);
89  _GL_CXXALIAS_RPL (foo, ...);
90  # else
91  _GL_CXXALIAS_SYS (foo, ...);
92  # endif
93  _GL_CXXALIASWARN (foo);
94  #elif defined GNULIB_POSIXCHECK
95  ...
96  #endif
97 
98  * For providing a replacement for a function that exists on some platforms
99  but is broken/insufficient and needs to be replaced on some of them and
100  is additionally either missing or undeclared on some other platforms:
101 
102  #if @GNULIB_FOO@
103  # if @REPLACE_FOO@
104  # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
105  # undef foo
106  # define foo rpl_foo
107  # endif
108  _GL_FUNCDECL_RPL (foo, ...);
109  _GL_CXXALIAS_RPL (foo, ...);
110  # else
111  # if !@HAVE_FOO@ or if !@HAVE_DECL_FOO@
112  _GL_FUNCDECL_SYS (foo, ...);
113  # endif
114  _GL_CXXALIAS_SYS (foo, ...);
115  # endif
116  _GL_CXXALIASWARN (foo);
117  #elif defined GNULIB_POSIXCHECK
118  ...
119  #endif
120 */
121 
122 /* _GL_EXTERN_C declaration;
123  performs the declaration with C linkage. */
124 #if defined __cplusplus
125 # define _GL_EXTERN_C extern "C"
126 #else
127 # define _GL_EXTERN_C extern
128 #endif
129 
130 /* _GL_FUNCDECL_RPL (func, rettype, parameters_and_attributes);
131  declares a replacement function, named rpl_func, with the given prototype,
132  consisting of return type, parameters, and attributes.
133  Example:
134  _GL_FUNCDECL_RPL (open, int, (const char *filename, int flags, ...)
135  _GL_ARG_NONNULL ((1)));
136  */
137 #define _GL_FUNCDECL_RPL(func,rettype,parameters_and_attributes) \
138  _GL_FUNCDECL_RPL_1 (rpl_##func, rettype, parameters_and_attributes)
139 #define _GL_FUNCDECL_RPL_1(rpl_func,rettype,parameters_and_attributes) \
140  _GL_EXTERN_C rettype rpl_func parameters_and_attributes
141 
142 /* _GL_FUNCDECL_SYS (func, rettype, parameters_and_attributes);
143  declares the system function, named func, with the given prototype,
144  consisting of return type, parameters, and attributes.
145  Example:
146  _GL_FUNCDECL_SYS (open, int, (const char *filename, int flags, ...)
147  _GL_ARG_NONNULL ((1)));
148  */
149 #define _GL_FUNCDECL_SYS(func,rettype,parameters_and_attributes) \
150  _GL_EXTERN_C rettype func parameters_and_attributes
151 
152 /* _GL_CXXALIAS_RPL (func, rettype, parameters);
153  declares a C++ alias called GNULIB_NAMESPACE::func
154  that redirects to rpl_func, if GNULIB_NAMESPACE is defined.
155  Example:
156  _GL_CXXALIAS_RPL (open, int, (const char *filename, int flags, ...));
157  */
158 #define _GL_CXXALIAS_RPL(func,rettype,parameters) \
159  _GL_CXXALIAS_RPL_1 (func, rpl_##func, rettype, parameters)
160 #if defined __cplusplus && defined GNULIB_NAMESPACE
161 # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
162  namespace GNULIB_NAMESPACE \
163  { \
164  rettype (*const func) parameters = ::rpl_func; \
165  } \
166  _GL_EXTERN_C int _gl_cxxalias_dummy
167 #else
168 # define _GL_CXXALIAS_RPL_1(func,rpl_func,rettype,parameters) \
169  _GL_EXTERN_C int _gl_cxxalias_dummy
170 #endif
171 
172 /* _GL_CXXALIAS_RPL_CAST_1 (func, rpl_func, rettype, parameters);
173  is like _GL_CXXALIAS_RPL_1 (func, rpl_func, rettype, parameters);
174  except that the C function rpl_func may have a slightly different
175  declaration. A cast is used to silence the "invalid conversion" error
176  that would otherwise occur. */
177 #if defined __cplusplus && defined GNULIB_NAMESPACE
178 # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
179  namespace GNULIB_NAMESPACE \
180  { \
181  rettype (*const func) parameters = \
182  reinterpret_cast<rettype(*)parameters>(::rpl_func); \
183  } \
184  _GL_EXTERN_C int _gl_cxxalias_dummy
185 #else
186 # define _GL_CXXALIAS_RPL_CAST_1(func,rpl_func,rettype,parameters) \
187  _GL_EXTERN_C int _gl_cxxalias_dummy
188 #endif
189 
190 /* _GL_CXXALIAS_SYS (func, rettype, parameters);
191  declares a C++ alias called GNULIB_NAMESPACE::func
192  that redirects to the system provided function func, if GNULIB_NAMESPACE
193  is defined.
194  Example:
195  _GL_CXXALIAS_SYS (open, int, (const char *filename, int flags, ...));
196  */
197 #if defined __cplusplus && defined GNULIB_NAMESPACE
198  /* If we were to write
199  rettype (*const func) parameters = ::func;
200  like above in _GL_CXXALIAS_RPL_1, the compiler could optimize calls
201  better (remove an indirection through a 'static' pointer variable),
202  but then the _GL_CXXALIASWARN macro below would cause a warning not only
203  for uses of ::func but also for uses of GNULIB_NAMESPACE::func. */
204 # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
205  namespace GNULIB_NAMESPACE \
206  { \
207  static rettype (*func) parameters = ::func; \
208  } \
209  _GL_EXTERN_C int _gl_cxxalias_dummy
210 #else
211 # define _GL_CXXALIAS_SYS(func,rettype,parameters) \
212  _GL_EXTERN_C int _gl_cxxalias_dummy
213 #endif
214 
215 /* _GL_CXXALIAS_SYS_CAST (func, rettype, parameters);
216  is like _GL_CXXALIAS_SYS (func, rettype, parameters);
217  except that the C function func may have a slightly different declaration.
218  A cast is used to silence the "invalid conversion" error that would
219  otherwise occur. */
220 #if defined __cplusplus && defined GNULIB_NAMESPACE
221 # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
222  namespace GNULIB_NAMESPACE \
223  { \
224  static rettype (*func) parameters = \
225  reinterpret_cast<rettype(*)parameters>(::func); \
226  } \
227  _GL_EXTERN_C int _gl_cxxalias_dummy
228 #else
229 # define _GL_CXXALIAS_SYS_CAST(func,rettype,parameters) \
230  _GL_EXTERN_C int _gl_cxxalias_dummy
231 #endif
232 
233 /* _GL_CXXALIAS_SYS_CAST2 (func, rettype, parameters, rettype2, parameters2);
234  is like _GL_CXXALIAS_SYS (func, rettype, parameters);
235  except that the C function is picked among a set of overloaded functions,
236  namely the one with rettype2 and parameters2. Two consecutive casts
237  are used to silence the "cannot find a match" and "invalid conversion"
238  errors that would otherwise occur. */
239 #if defined __cplusplus && defined GNULIB_NAMESPACE
240  /* The outer cast must be a reinterpret_cast.
241  The inner cast: When the function is defined as a set of overloaded
242  functions, it works as a static_cast<>, choosing the designated variant.
243  When the function is defined as a single variant, it works as a
244  reinterpret_cast<>. The parenthesized cast syntax works both ways. */
245 # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
246  namespace GNULIB_NAMESPACE \
247  { \
248  static rettype (*func) parameters = \
249  reinterpret_cast<rettype(*)parameters>( \
250  (rettype2(*)parameters2)(::func)); \
251  } \
252  _GL_EXTERN_C int _gl_cxxalias_dummy
253 #else
254 # define _GL_CXXALIAS_SYS_CAST2(func,rettype,parameters,rettype2,parameters2) \
255  _GL_EXTERN_C int _gl_cxxalias_dummy
256 #endif
257 
258 /* _GL_CXXALIASWARN (func);
259  causes a warning to be emitted when ::func is used but not when
260  GNULIB_NAMESPACE::func is used. func must be defined without overloaded
261  variants. */
262 #if defined __cplusplus && defined GNULIB_NAMESPACE
263 # define _GL_CXXALIASWARN(func) \
264  _GL_CXXALIASWARN_1 (func, GNULIB_NAMESPACE)
265 # define _GL_CXXALIASWARN_1(func,namespace) \
266  _GL_CXXALIASWARN_2 (func, namespace)
267 /* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
268  we enable the warning only when not optimizing. */
269 # if !__OPTIMIZE__
270 # define _GL_CXXALIASWARN_2(func,namespace) \
271  _GL_WARN_ON_USE (func, \
272  "The symbol ::" #func " refers to the system function. " \
273  "Use " #namespace "::" #func " instead.")
274 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
275 # define _GL_CXXALIASWARN_2(func,namespace) \
276  extern __typeof__ (func) func
277 # else
278 # define _GL_CXXALIASWARN_2(func,namespace) \
279  _GL_EXTERN_C int _gl_cxxalias_dummy
280 # endif
281 #else
282 # define _GL_CXXALIASWARN(func) \
283  _GL_EXTERN_C int _gl_cxxalias_dummy
284 #endif
285 
286 /* _GL_CXXALIASWARN1 (func, rettype, parameters_and_attributes);
287  causes a warning to be emitted when the given overloaded variant of ::func
288  is used but not when GNULIB_NAMESPACE::func is used. */
289 #if defined __cplusplus && defined GNULIB_NAMESPACE
290 # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
291  _GL_CXXALIASWARN1_1 (func, rettype, parameters_and_attributes, \
292  GNULIB_NAMESPACE)
293 # define _GL_CXXALIASWARN1_1(func,rettype,parameters_and_attributes,namespace) \
294  _GL_CXXALIASWARN1_2 (func, rettype, parameters_and_attributes, namespace)
295 /* To work around GCC bug <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43881>,
296  we enable the warning only when not optimizing. */
297 # if !__OPTIMIZE__
298 # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
299  _GL_WARN_ON_USE_CXX (func, rettype, parameters_and_attributes, \
300  "The symbol ::" #func " refers to the system function. " \
301  "Use " #namespace "::" #func " instead.")
302 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
303 # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
304  extern __typeof__ (func) func
305 # else
306 # define _GL_CXXALIASWARN1_2(func,rettype,parameters_and_attributes,namespace) \
307  _GL_EXTERN_C int _gl_cxxalias_dummy
308 # endif
309 #else
310 # define _GL_CXXALIASWARN1(func,rettype,parameters_and_attributes) \
311  _GL_EXTERN_C int _gl_cxxalias_dummy
312 #endif
313 
314 #endif /* _GL_CXXDEFS_H */
315 
316 /* The definition of _GL_ARG_NONNULL is copied here. */
317 /* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
318  that the values passed as arguments n, ..., m must be non-NULL pointers.
319  n = 1 stands for the first argument, n = 2 for the second argument etc. */
320 #ifndef _GL_ARG_NONNULL
321 # if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
322 # define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
323 # else
324 # define _GL_ARG_NONNULL(params)
325 # endif
326 #endif
327 
328 /* The definition of _GL_WARN_ON_USE is copied here. */
329 #ifndef _GL_WARN_ON_USE
330 
331 # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
332 /* A compiler attribute is available in gcc versions 4.3.0 and later. */
333 # define _GL_WARN_ON_USE(function, message) \
334 extern __typeof__ (function) function __attribute__ ((__warning__ (message)))
335 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
336 /* Verify the existence of the function. */
337 # define _GL_WARN_ON_USE(function, message) \
338 extern __typeof__ (function) function
339 # else /* Unsupported. */
340 # define _GL_WARN_ON_USE(function, message) \
341 _GL_WARN_EXTERN_C int _gl_warn_on_use
342 # endif
343 #endif
344 
345 /* _GL_WARN_ON_USE_CXX (function, rettype, parameters_and_attributes, "string")
346  is like _GL_WARN_ON_USE (function, "string"), except that the function is
347  declared with the given prototype, consisting of return type, parameters,
348  and attributes.
349  This variant is useful for overloaded functions in C++. _GL_WARN_ON_USE does
350  not work in this case. */
351 #ifndef _GL_WARN_ON_USE_CXX
352 # if 4 < __GNUC__ || (__GNUC__ == 4 && 3 <= __GNUC_MINOR__)
353 # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
354 extern rettype function parameters_and_attributes \
355  __attribute__ ((__warning__ (msg)))
356 # elif __GNUC__ >= 3 && GNULIB_STRICT_CHECKING
357 /* Verify the existence of the function. */
358 # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
359 extern rettype function parameters_and_attributes
360 # else /* Unsupported. */
361 # define _GL_WARN_ON_USE_CXX(function,rettype,parameters_and_attributes,msg) \
362 _GL_WARN_EXTERN_C int _gl_warn_on_use
363 # endif
364 #endif
365 
366 /* _GL_WARN_EXTERN_C declaration;
367  performs the declaration with C linkage. */
368 #ifndef _GL_WARN_EXTERN_C
369 # if defined __cplusplus
370 # define _GL_WARN_EXTERN_C extern "C"
371 # else
372 # define _GL_WARN_EXTERN_C extern
373 # endif
374 #endif
375 
376 #ifdef __cplusplus
377 extern "C" {
378 #endif
379 
380 #if !1 || 0
381 
382 # if 0
383 # define timeval rpl_timeval
384 # endif
385 
386 # if !GNULIB_defined_struct_timeval
387 struct timeval
388 {
389  time_t tv_sec;
390  long int tv_usec;
391 };
392 # define GNULIB_defined_struct_timeval 1
393 # endif
394 
395 #endif
396 
397 #ifdef __cplusplus
398 }
399 #endif
400 
401 #if 1
402 # if 0
403 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
404 # undef gettimeofday
405 # define gettimeofday rpl_gettimeofday
406 # endif
408  (struct timeval *restrict, void *restrict)
409  _GL_ARG_NONNULL ((1)));
411  (struct timeval *restrict, void *restrict));
412 # else
413 # if !1
415  (struct timeval *restrict, void *restrict)
416  _GL_ARG_NONNULL ((1)));
417 # endif
418 /* Need to cast, because on glibc systems, by default, the second argument is
419  struct timezone *. */
421  (struct timeval *restrict, void *restrict));
422 # endif
424 #elif defined GNULIB_POSIXCHECK
425 # undef gettimeofday
426 # if HAVE_RAW_DECL_GETTIMEOFDAY
427 _GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - "
428  "use gnulib module gettimeofday for portability");
429 # endif
430 #endif
431 
432 /* Hide some function declarations from <winsock2.h>. */
433 
434 #if defined _MSC_VER && 0
435 # if !defined _GL_UNISTD_H
436 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
437 # undef close
438 # define close close_used_without_including_unistd_h
439 # else
440  _GL_WARN_ON_USE (close,
441  "close() used without including <unistd.h>");
442 # endif
443 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
444 # undef gethostname
445 # define gethostname gethostname_used_without_including_unistd_h
446 # else
447  _GL_WARN_ON_USE (gethostname,
448  "gethostname() used without including <unistd.h>");
449 # endif
450 # endif
451 # if !defined _GL_SYS_SOCKET_H
452 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
453 # undef socket
454 # define socket socket_used_without_including_sys_socket_h
455 # undef connect
456 # define connect connect_used_without_including_sys_socket_h
457 # undef accept
458 # define accept accept_used_without_including_sys_socket_h
459 # undef bind
460 # define bind bind_used_without_including_sys_socket_h
461 # undef getpeername
462 # define getpeername getpeername_used_without_including_sys_socket_h
463 # undef getsockname
464 # define getsockname getsockname_used_without_including_sys_socket_h
465 # undef getsockopt
466 # define getsockopt getsockopt_used_without_including_sys_socket_h
467 # undef listen
468 # define listen listen_used_without_including_sys_socket_h
469 # undef recv
470 # define recv recv_used_without_including_sys_socket_h
471 # undef send
472 # define send send_used_without_including_sys_socket_h
473 # undef recvfrom
474 # define recvfrom recvfrom_used_without_including_sys_socket_h
475 # undef sendto
476 # define sendto sendto_used_without_including_sys_socket_h
477 # undef setsockopt
478 # define setsockopt setsockopt_used_without_including_sys_socket_h
479 # undef shutdown
480 # define shutdown shutdown_used_without_including_sys_socket_h
481 # else
482  _GL_WARN_ON_USE (socket,
483  "socket() used without including <sys/socket.h>");
484  _GL_WARN_ON_USE (connect,
485  "connect() used without including <sys/socket.h>");
486  _GL_WARN_ON_USE (accept,
487  "accept() used without including <sys/socket.h>");
488  _GL_WARN_ON_USE (bind,
489  "bind() used without including <sys/socket.h>");
490  _GL_WARN_ON_USE (getpeername,
491  "getpeername() used without including <sys/socket.h>");
492  _GL_WARN_ON_USE (getsockname,
493  "getsockname() used without including <sys/socket.h>");
494  _GL_WARN_ON_USE (getsockopt,
495  "getsockopt() used without including <sys/socket.h>");
496  _GL_WARN_ON_USE (listen,
497  "listen() used without including <sys/socket.h>");
498  _GL_WARN_ON_USE (recv,
499  "recv() used without including <sys/socket.h>");
500  _GL_WARN_ON_USE (send,
501  "send() used without including <sys/socket.h>");
502  _GL_WARN_ON_USE (recvfrom,
503  "recvfrom() used without including <sys/socket.h>");
504  _GL_WARN_ON_USE (sendto,
505  "sendto() used without including <sys/socket.h>");
506  _GL_WARN_ON_USE (setsockopt,
507  "setsockopt() used without including <sys/socket.h>");
508  _GL_WARN_ON_USE (shutdown,
509  "shutdown() used without including <sys/socket.h>");
510 # endif
511 # endif
512 # if !defined _GL_SYS_SELECT_H
513 # if !(defined __cplusplus && defined GNULIB_NAMESPACE)
514 # undef select
515 # define select select_used_without_including_sys_select_h
516 # else
517  _GL_WARN_ON_USE (select,
518  "select() used without including <sys/select.h>");
519 # endif
520 # endif
521 #endif
522 
523 #endif /* _GL_SYS_TIME_H */
524 #endif /* _CYGWIN_SYS_TIME_H */
525 #endif /* _GL_SYS_TIME_H */
#define _GL_FUNCDECL_RPL(func, rettype, parameters_and_attributes)
Definition: time.h:137
#define _GL_CXXALIAS_SYS_CAST(func, rettype, parameters)
Definition: time.h:229
int gettimeofday(struct timeval *restrict tv, void *restrict tz)
Definition: gettimeofday.c:102
time_t tv_sec
Definition: sys_time.in.h:77
#define _GL_CXXALIASWARN(func)
Definition: time.h:282
long int tv_usec
Definition: sys_time.in.h:78
Definition: sys_time.in.h:75
#define _GL_FUNCDECL_SYS(func, rettype, parameters_and_attributes)
Definition: time.h:149
#define _GL_WARN_ON_USE(function, message)
Definition: time.h:340
#define _GL_CXXALIAS_RPL(func, rettype, parameters)
Definition: time.h:158
#define restrict
Definition: config.h:1761
#define _GL_ARG_NONNULL(params)
Definition: time.h:324