time.h 20 KB

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