Mercurial > gnulib
annotate lib/sys_time.in.h @ 12422:f7842310a565
New module 'arg-nonnull'. Declare which arguments expect non-NULL values.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Fri, 11 Dec 2009 01:15:28 +0100 |
parents | 4a02c5d90eaf |
children | c2cbabec01dd |
rev | line source |
---|---|
9268
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
1 /* Provide a more complete sys/time.h. |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
2 |
12422
f7842310a565
New module 'arg-nonnull'. Declare which arguments expect non-NULL values.
Bruno Haible <bruno@clisp.org>
parents:
10842
diff
changeset
|
3 Copyright (C) 2007-2009 Free Software Foundation, Inc. |
9268
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
4 |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
5 This program is free software; you can redistribute it and/or modify |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
6 it under the terms of the GNU General Public License as published by |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
7 the Free Software Foundation; either version 2, or (at your option) |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
8 any later version. |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
9 |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
10 This program is distributed in the hope that it will be useful, |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
13 GNU General Public License for more details. |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
14 |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
15 You should have received a copy of the GNU General Public License |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
16 along with this program; if not, write to the Free Software Foundation, |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
17 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
18 |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
19 /* Written by Paul Eggert. */ |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
20 |
10655
8668b19a7032
Avoid gcc warnings because of #pragma GCC system_header on older gcc.
Bruno Haible <bruno@clisp.org>
parents:
10375
diff
changeset
|
21 #if __GNUC__ >= 3 |
10375
f96e845fc36d
Avoid some "gcc -pedantic" warnings.
Bruno Haible <bruno@clisp.org>
parents:
9268
diff
changeset
|
22 @PRAGMA_SYSTEM_HEADER@ |
10655
8668b19a7032
Avoid gcc warnings because of #pragma GCC system_header on older gcc.
Bruno Haible <bruno@clisp.org>
parents:
10375
diff
changeset
|
23 #endif |
10375
f96e845fc36d
Avoid some "gcc -pedantic" warnings.
Bruno Haible <bruno@clisp.org>
parents:
9268
diff
changeset
|
24 |
9268
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
25 #if defined _GL_SYS_TIME_H |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
26 |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
27 /* Simply delegate to the system's header, without adding anything. */ |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
28 # if @HAVE_SYS_TIME_H@ |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
29 # @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
30 # endif |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
31 |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
32 #else |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
33 |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
34 # define _GL_SYS_TIME_H |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
35 |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
36 # if @HAVE_SYS_TIME_H@ |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
37 # @INCLUDE_NEXT@ @NEXT_SYS_TIME_H@ |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
38 # else |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
39 # include <time.h> |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
40 # endif |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
41 |
12422
f7842310a565
New module 'arg-nonnull'. Declare which arguments expect non-NULL values.
Bruno Haible <bruno@clisp.org>
parents:
10842
diff
changeset
|
42 /* The definition of _GL_ARG_NONNULL is copied here. */ |
f7842310a565
New module 'arg-nonnull'. Declare which arguments expect non-NULL values.
Bruno Haible <bruno@clisp.org>
parents:
10842
diff
changeset
|
43 |
10842
4a02c5d90eaf
sys_time: Add extern "C" block for C++.
Simon Josefsson <simon@josefsson.org>
parents:
10655
diff
changeset
|
44 #ifdef __cplusplus |
4a02c5d90eaf
sys_time: Add extern "C" block for C++.
Simon Josefsson <simon@josefsson.org>
parents:
10655
diff
changeset
|
45 extern "C" { |
4a02c5d90eaf
sys_time: Add extern "C" block for C++.
Simon Josefsson <simon@josefsson.org>
parents:
10655
diff
changeset
|
46 #endif |
4a02c5d90eaf
sys_time: Add extern "C" block for C++.
Simon Josefsson <simon@josefsson.org>
parents:
10655
diff
changeset
|
47 |
9268
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
48 # if ! @HAVE_STRUCT_TIMEVAL@ |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
49 struct timeval |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
50 { |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
51 time_t tv_sec; |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
52 long int tv_usec; |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
53 }; |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
54 # endif |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
55 |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
56 # if @REPLACE_GETTIMEOFDAY@ |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
57 # undef gettimeofday |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
58 # define gettimeofday rpl_gettimeofday |
12422
f7842310a565
New module 'arg-nonnull'. Declare which arguments expect non-NULL values.
Bruno Haible <bruno@clisp.org>
parents:
10842
diff
changeset
|
59 extern int gettimeofday (struct timeval *restrict, void *restrict) |
f7842310a565
New module 'arg-nonnull'. Declare which arguments expect non-NULL values.
Bruno Haible <bruno@clisp.org>
parents:
10842
diff
changeset
|
60 _GL_ARG_NONNULL ((1)); |
9268
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
61 # endif |
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
62 |
10842
4a02c5d90eaf
sys_time: Add extern "C" block for C++.
Simon Josefsson <simon@josefsson.org>
parents:
10655
diff
changeset
|
63 #ifdef __cplusplus |
4a02c5d90eaf
sys_time: Add extern "C" block for C++.
Simon Josefsson <simon@josefsson.org>
parents:
10655
diff
changeset
|
64 } |
4a02c5d90eaf
sys_time: Add extern "C" block for C++.
Simon Josefsson <simon@josefsson.org>
parents:
10655
diff
changeset
|
65 #endif |
4a02c5d90eaf
sys_time: Add extern "C" block for C++.
Simon Josefsson <simon@josefsson.org>
parents:
10655
diff
changeset
|
66 |
9268
a553c18c572d
Rename sys_time_.h to sys_time.in.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
67 #endif /* _GL_SYS_TIME_H */ |