Blame lib/sys_time.in.h

Packit Service a2489d
/* Provide a more complete sys/time.h.
Packit Service a2489d
Packit Service a2489d
   Copyright (C) 2007-2018 Free Software Foundation, Inc.
Packit Service a2489d
Packit Service a2489d
   This program is free software; you can redistribute it and/or modify
Packit Service a2489d
   it under the terms of the GNU General Public License as published by
Packit Service a2489d
   the Free Software Foundation; either version 3, or (at your option)
Packit Service a2489d
   any later version.
Packit Service a2489d
Packit Service a2489d
   This program is distributed in the hope that it will be useful,
Packit Service a2489d
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service a2489d
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service a2489d
   GNU General Public License for more details.
Packit Service a2489d
Packit Service a2489d
   You should have received a copy of the GNU General Public License
Packit Service a2489d
   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
Packit Service a2489d
Packit Service a2489d
/* Written by Paul Eggert.  */
Packit Service a2489d
Packit Service a2489d
#ifndef _@GUARD_PREFIX@_SYS_TIME_H
Packit Service a2489d
Packit Service a2489d
#if __GNUC__ >= 3
Packit Service a2489d
@PRAGMA_SYSTEM_HEADER@
Packit Service a2489d
#endif
Packit Service a2489d
@PRAGMA_COLUMNS@
Packit Service a2489d
Packit Service a2489d
/* On Cygwin and on many BSDish systems, <sys/time.h> includes itself
Packit Service a2489d
   recursively via <sys/select.h>.
Packit Service a2489d
   Simply delegate to the system's header in this case; it is a no-op.
Packit Service a2489d
   Without this extra ifdef, the C++ gettimeofday declaration below
Packit Service a2489d
   would be a forward declaration in gnulib's nested <sys/time.h>.  */
Packit Service a2489d
#if defined _CYGWIN_SYS_TIME_H || defined _SYS_TIME_H || defined _SYS_TIME_H_
Packit Service a2489d
# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
Packit Service a2489d
#else
Packit Service a2489d
Packit Service a2489d
/* The include_next requires a split double-inclusion guard.  */
Packit Service a2489d
#if @HAVE_SYS_TIME_H@
Packit Service a2489d
# @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
#ifndef _@GUARD_PREFIX@_SYS_TIME_H
Packit Service a2489d
#define _@GUARD_PREFIX@_SYS_TIME_H
Packit Service a2489d
Packit Service a2489d
#if ! @HAVE_SYS_TIME_H@
Packit Service a2489d
# include <time.h>
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
/* On native Windows with MSVC, get the 'struct timeval' type.
Packit Service a2489d
   Also, on native Windows with a 64-bit time_t, where we are overriding the
Packit Service a2489d
   'struct timeval' type, get all declarations of system functions whose
Packit Service a2489d
   signature contains 'struct timeval'.  */
Packit Service a2489d
#if (defined _MSC_VER || @REPLACE_STRUCT_TIMEVAL@) && @HAVE_WINSOCK2_H@ && !defined _GL_INCLUDING_WINSOCK2_H
Packit Service a2489d
# define _GL_INCLUDING_WINSOCK2_H
Packit Service a2489d
# include <winsock2.h>
Packit Service a2489d
# undef _GL_INCLUDING_WINSOCK2_H
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
Packit Service a2489d
Packit Service a2489d
/* The definition of _GL_ARG_NONNULL is copied here.  */
Packit Service a2489d
Packit Service a2489d
/* The definition of _GL_WARN_ON_USE is copied here.  */
Packit Service a2489d
Packit Service a2489d
#ifdef __cplusplus
Packit Service a2489d
extern "C" {
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
#if !@HAVE_STRUCT_TIMEVAL@ || @REPLACE_STRUCT_TIMEVAL@
Packit Service a2489d
Packit Service a2489d
# if @REPLACE_STRUCT_TIMEVAL@
Packit Service a2489d
#  define timeval rpl_timeval
Packit Service a2489d
# endif
Packit Service a2489d
Packit Service a2489d
# if !GNULIB_defined_struct_timeval
Packit Service a2489d
struct timeval
Packit Service a2489d
{
Packit Service a2489d
  time_t tv_sec;
Packit Service a2489d
  long int tv_usec;
Packit Service a2489d
};
Packit Service a2489d
#  define GNULIB_defined_struct_timeval 1
Packit Service a2489d
# endif
Packit Service a2489d
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
#ifdef __cplusplus
Packit Service a2489d
}
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
#if @GNULIB_GETTIMEOFDAY@
Packit Service a2489d
# if @REPLACE_GETTIMEOFDAY@
Packit Service a2489d
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service a2489d
#   undef gettimeofday
Packit Service a2489d
#   define gettimeofday rpl_gettimeofday
Packit Service a2489d
#  endif
Packit Service a2489d
_GL_FUNCDECL_RPL (gettimeofday, int,
Packit Service a2489d
                  (struct timeval *restrict, void *restrict)
Packit Service a2489d
                  _GL_ARG_NONNULL ((1)));
Packit Service a2489d
_GL_CXXALIAS_RPL (gettimeofday, int,
Packit Service a2489d
                  (struct timeval *restrict, void *restrict));
Packit Service a2489d
# else
Packit Service a2489d
#  if !@HAVE_GETTIMEOFDAY@
Packit Service a2489d
_GL_FUNCDECL_SYS (gettimeofday, int,
Packit Service a2489d
                  (struct timeval *restrict, void *restrict)
Packit Service a2489d
                  _GL_ARG_NONNULL ((1)));
Packit Service a2489d
#  endif
Packit Service a2489d
/* Need to cast, because on glibc systems, by default, the second argument is
Packit Service a2489d
                                                  struct timezone *.  */
Packit Service a2489d
_GL_CXXALIAS_SYS_CAST (gettimeofday, int,
Packit Service a2489d
                       (struct timeval *restrict, void *restrict));
Packit Service a2489d
# endif
Packit Service a2489d
_GL_CXXALIASWARN (gettimeofday);
Packit Service a2489d
# if defined __cplusplus && defined GNULIB_NAMESPACE
Packit Service a2489d
namespace GNULIB_NAMESPACE {
Packit Service a2489d
  typedef ::timeval
Packit Service a2489d
#undef timeval
Packit Service a2489d
    timeval;
Packit Service a2489d
}
Packit Service a2489d
# endif
Packit Service a2489d
#elif defined GNULIB_POSIXCHECK
Packit Service a2489d
# undef gettimeofday
Packit Service a2489d
# if HAVE_RAW_DECL_GETTIMEOFDAY
Packit Service a2489d
_GL_WARN_ON_USE (gettimeofday, "gettimeofday is unportable - "
Packit Service a2489d
                 "use gnulib module gettimeofday for portability");
Packit Service a2489d
# endif
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
/* Hide some function declarations from <winsock2.h>.  */
Packit Service a2489d
Packit Service a2489d
#if defined _MSC_VER && @HAVE_WINSOCK2_H@
Packit Service a2489d
# if !defined _@GUARD_PREFIX@_UNISTD_H
Packit Service a2489d
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service a2489d
#   undef close
Packit Service a2489d
#   define close close_used_without_including_unistd_h
Packit Service a2489d
#  else
Packit Service a2489d
     _GL_WARN_ON_USE (close,
Packit Service a2489d
                      "close() used without including <unistd.h>");
Packit Service a2489d
#  endif
Packit Service a2489d
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service a2489d
#   undef gethostname
Packit Service a2489d
#   define gethostname gethostname_used_without_including_unistd_h
Packit Service a2489d
#  else
Packit Service a2489d
     _GL_WARN_ON_USE (gethostname,
Packit Service a2489d
                      "gethostname() used without including <unistd.h>");
Packit Service a2489d
#  endif
Packit Service a2489d
# endif
Packit Service a2489d
# if !defined _@GUARD_PREFIX@_SYS_SOCKET_H
Packit Service a2489d
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service a2489d
#   undef socket
Packit Service a2489d
#   define socket              socket_used_without_including_sys_socket_h
Packit Service a2489d
#   undef connect
Packit Service a2489d
#   define connect             connect_used_without_including_sys_socket_h
Packit Service a2489d
#   undef accept
Packit Service a2489d
#   define accept              accept_used_without_including_sys_socket_h
Packit Service a2489d
#   undef bind
Packit Service a2489d
#   define bind                bind_used_without_including_sys_socket_h
Packit Service a2489d
#   undef getpeername
Packit Service a2489d
#   define getpeername         getpeername_used_without_including_sys_socket_h
Packit Service a2489d
#   undef getsockname
Packit Service a2489d
#   define getsockname         getsockname_used_without_including_sys_socket_h
Packit Service a2489d
#   undef getsockopt
Packit Service a2489d
#   define getsockopt          getsockopt_used_without_including_sys_socket_h
Packit Service a2489d
#   undef listen
Packit Service a2489d
#   define listen              listen_used_without_including_sys_socket_h
Packit Service a2489d
#   undef recv
Packit Service a2489d
#   define recv                recv_used_without_including_sys_socket_h
Packit Service a2489d
#   undef send
Packit Service a2489d
#   define send                send_used_without_including_sys_socket_h
Packit Service a2489d
#   undef recvfrom
Packit Service a2489d
#   define recvfrom            recvfrom_used_without_including_sys_socket_h
Packit Service a2489d
#   undef sendto
Packit Service a2489d
#   define sendto              sendto_used_without_including_sys_socket_h
Packit Service a2489d
#   undef setsockopt
Packit Service a2489d
#   define setsockopt          setsockopt_used_without_including_sys_socket_h
Packit Service a2489d
#   undef shutdown
Packit Service a2489d
#   define shutdown            shutdown_used_without_including_sys_socket_h
Packit Service a2489d
#  else
Packit Service a2489d
     _GL_WARN_ON_USE (socket,
Packit Service a2489d
                      "socket() used without including <sys/socket.h>");
Packit Service a2489d
     _GL_WARN_ON_USE (connect,
Packit Service a2489d
                      "connect() used without including <sys/socket.h>");
Packit Service a2489d
     _GL_WARN_ON_USE (accept,
Packit Service a2489d
                      "accept() used without including <sys/socket.h>");
Packit Service a2489d
     _GL_WARN_ON_USE (bind,
Packit Service a2489d
                      "bind() used without including <sys/socket.h>");
Packit Service a2489d
     _GL_WARN_ON_USE (getpeername,
Packit Service a2489d
                      "getpeername() used without including <sys/socket.h>");
Packit Service a2489d
     _GL_WARN_ON_USE (getsockname,
Packit Service a2489d
                      "getsockname() used without including <sys/socket.h>");
Packit Service a2489d
     _GL_WARN_ON_USE (getsockopt,
Packit Service a2489d
                      "getsockopt() used without including <sys/socket.h>");
Packit Service a2489d
     _GL_WARN_ON_USE (listen,
Packit Service a2489d
                      "listen() used without including <sys/socket.h>");
Packit Service a2489d
     _GL_WARN_ON_USE (recv,
Packit Service a2489d
                      "recv() used without including <sys/socket.h>");
Packit Service a2489d
     _GL_WARN_ON_USE (send,
Packit Service a2489d
                      "send() used without including <sys/socket.h>");
Packit Service a2489d
     _GL_WARN_ON_USE (recvfrom,
Packit Service a2489d
                      "recvfrom() used without including <sys/socket.h>");
Packit Service a2489d
     _GL_WARN_ON_USE (sendto,
Packit Service a2489d
                      "sendto() used without including <sys/socket.h>");
Packit Service a2489d
     _GL_WARN_ON_USE (setsockopt,
Packit Service a2489d
                      "setsockopt() used without including <sys/socket.h>");
Packit Service a2489d
     _GL_WARN_ON_USE (shutdown,
Packit Service a2489d
                      "shutdown() used without including <sys/socket.h>");
Packit Service a2489d
#  endif
Packit Service a2489d
# endif
Packit Service a2489d
# if !defined _@GUARD_PREFIX@_SYS_SELECT_H
Packit Service a2489d
#  if !(defined __cplusplus && defined GNULIB_NAMESPACE)
Packit Service a2489d
#   undef select
Packit Service a2489d
#   define select select_used_without_including_sys_select_h
Packit Service a2489d
#  else
Packit Service a2489d
     _GL_WARN_ON_USE (select,
Packit Service a2489d
                      "select() used without including <sys/select.h>");
Packit Service a2489d
#  endif
Packit Service a2489d
# endif
Packit Service a2489d
#endif
Packit Service a2489d
Packit Service a2489d
#endif /* _@GUARD_PREFIX@_SYS_TIME_H */
Packit Service a2489d
#endif /* _CYGWIN_SYS_TIME_H */
Packit Service a2489d
#endif /* _@GUARD_PREFIX@_SYS_TIME_H */