cse passes a lookup procedure to the effects analyzer
[bpt/guile.git] / lib / sys_time.in.h
CommitLineData
49114fd4
LC
1/* Provide a more complete sys/time.h.
2
f0007cad 3 Copyright (C) 2007-2012 Free Software Foundation, Inc.
49114fd4
LC
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU Lesser General Public License as published by
7 the Free Software Foundation; either version 2, or (at your option)
8 any later version.
9
10 This program 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
13 GNU Lesser General Public License for more details.
14
15 You should have received a copy of the GNU Lesser General Public License
16 along with this program; if not, write to the Free Software Foundation,
17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
18
19/* Written by Paul Eggert. */
20
21#if __GNUC__ >= 3
22@PRAGMA_SYSTEM_HEADER@
23#endif
24@PRAGMA_COLUMNS@
25
3d458a81 26#if defined _@GUARD_PREFIX@_SYS_TIME_H
49114fd4
LC
27
28/* Simply delegate to the system's header, without adding anything. */
29# if @HAVE_SYS_TIME_H@
30# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
31# endif
32
33#else
34
3d458a81 35# define _@GUARD_PREFIX@_SYS_TIME_H
49114fd4
LC
36
37# if @HAVE_SYS_TIME_H@
38# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
39# else
40# include <time.h>
41# endif
42
35428fb6
LC
43/* On native Windows with MSVC:
44 Get the 'struct timeval' type. */
45# if defined _MSC_VER && @HAVE_WINSOCK2_H@ && !defined _GL_INCLUDING_WINSOCK2_H
46# define _GL_INCLUDING_WINSOCK2_H
47# include <winsock2.h>
48# undef _GL_INCLUDING_WINSOCK2_H
49# endif
50
49114fd4
LC
51/* The definitions of _GL_FUNCDECL_RPL etc. are copied here. */
52
53/* The definition of _GL_ARG_NONNULL is copied here. */
54
55/* The definition of _GL_WARN_ON_USE is copied here. */
56
57# ifdef __cplusplus
58extern "C" {
59# endif
60
61# if ! @HAVE_STRUCT_TIMEVAL@
62
63# if !GNULIB_defined_struct_timeval
64struct timeval
65{
66 time_t tv_sec;
67 long int tv_usec;
68};
69# define GNULIB_defined_struct_timeval 1
70# endif
71
72# endif
73
74# ifdef __cplusplus
75}
76# endif
77
78# if @GNULIB_GETTIMEOFDAY@
79# if @REPLACE_GETTIMEOFDAY@
80# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
81# undef gettimeofday
82# define gettimeofday rpl_gettimeofday
83# endif
84_GL_FUNCDECL_RPL (gettimeofday, int,
85 (struct timeval *restrict, void *restrict)
86 _GL_ARG_NONNULL ((1)));
87_GL_CXXALIAS_RPL (gettimeofday, int,
88 (struct timeval *restrict, void *restrict));
89# else
90# if !@HAVE_GETTIMEOFDAY@
91_GL_FUNCDECL_SYS (gettimeofday, int,
92 (struct timeval *restrict, void *restrict)
93 _GL_ARG_NONNULL ((1)));
94# endif
95/* Need to cast, because on glibc systems, by default, the second argument is
96 struct timezone *. */
97_GL_CXXALIAS_SYS_CAST (gettimeofday, int,
98 (struct timeval *restrict, void *restrict));
99# endif
100_GL_CXXALIASWARN (gettimeofday);
101# elif defined GNULIB_POSIXCHECK
102# undef gettimeofday
103# if HAVE_RAW_DECL_GETTIMEOFDAY
104_GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - "
105 "use gnulib module gettimeofday for portability");
106# endif
107# endif
108
35428fb6
LC
109/* Hide some function declarations from <winsock2.h>. */
110
111# if defined _MSC_VER && @HAVE_WINSOCK2_H@
112# if !defined _@GUARD_PREFIX@_UNISTD_H
113# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
114# undef close
115# define close close_used_without_including_unistd_h
116# else
117 _GL_WARN_ON_USE (close,
118 "close() used without including <unistd.h>");
119# endif
120# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
121# undef gethostname
122# define gethostname gethostname_used_without_including_unistd_h
123# else
124 _GL_WARN_ON_USE (gethostname,
125 "gethostname() used without including <unistd.h>");
126# endif
127# endif
128# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H
129# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
130# undef socket
131# define socket socket_used_without_including_sys_socket_h
132# undef connect
133# define connect connect_used_without_including_sys_socket_h
134# undef accept
135# define accept accept_used_without_including_sys_socket_h
136# undef bind
137# define bind bind_used_without_including_sys_socket_h
138# undef getpeername
139# define getpeername getpeername_used_without_including_sys_socket_h
140# undef getsockname
141# define getsockname getsockname_used_without_including_sys_socket_h
142# undef getsockopt
143# define getsockopt getsockopt_used_without_including_sys_socket_h
144# undef listen
145# define listen listen_used_without_including_sys_socket_h
146# undef recv
147# define recv recv_used_without_including_sys_socket_h
148# undef send
149# define send send_used_without_including_sys_socket_h
150# undef recvfrom
151# define recvfrom recvfrom_used_without_including_sys_socket_h
152# undef sendto
153# define sendto sendto_used_without_including_sys_socket_h
154# undef setsockopt
155# define setsockopt setsockopt_used_without_including_sys_socket_h
156# undef shutdown
157# define shutdown shutdown_used_without_including_sys_socket_h
158# else
159 _GL_WARN_ON_USE (socket,
160 "socket() used without including <sys/socket.h>");
161 _GL_WARN_ON_USE (connect,
162 "connect() used without including <sys/socket.h>");
163 _GL_WARN_ON_USE (accept,
164 "accept() used without including <sys/socket.h>");
165 _GL_WARN_ON_USE (bind,
166 "bind() used without including <sys/socket.h>");
167 _GL_WARN_ON_USE (getpeername,
168 "getpeername() used without including <sys/socket.h>");
169 _GL_WARN_ON_USE (getsockname,
170 "getsockname() used without including <sys/socket.h>");
171 _GL_WARN_ON_USE (getsockopt,
172 "getsockopt() used without including <sys/socket.h>");
173 _GL_WARN_ON_USE (listen,
174 "listen() used without including <sys/socket.h>");
175 _GL_WARN_ON_USE (recv,
176 "recv() used without including <sys/socket.h>");
177 _GL_WARN_ON_USE (send,
178 "send() used without including <sys/socket.h>");
179 _GL_WARN_ON_USE (recvfrom,
180 "recvfrom() used without including <sys/socket.h>");
181 _GL_WARN_ON_USE (sendto,
182 "sendto() used without including <sys/socket.h>");
183 _GL_WARN_ON_USE (setsockopt,
184 "setsockopt() used without including <sys/socket.h>");
185 _GL_WARN_ON_USE (shutdown,
186 "shutdown() used without including <sys/socket.h>");
187# endif
188# endif
189# if !defined _@GUARD_PREFIX@_SYS_SELECT_H
190# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
191# undef select
192# define select select_used_without_including_sys_select_h
193# else
194 _GL_WARN_ON_USE (select,
195 "select() used without including <sys/select.h>");
196# endif
197# endif
198# endif
199
3d458a81 200#endif /* _@GUARD_PREFIX@_SYS_TIME_H */