~ubuntu-branches/ubuntu/saucy/augeas/saucy

« back to all changes in this revision

Viewing changes to gnulib/lib/time.in.h

  • Committer: Bazaar Package Importer
  • Author(s): Nicolas Valcárcel Scerpella (Canonical)
  • Date: 2010-06-25 16:12:45 UTC
  • mfrom: (1.2.12 upstream)
  • Revision ID: james.westby@ubuntu.com-20100625161245-8pwq1gbejazeo07u
Tags: 0.7.2-1
* New upstream release
* Droped 50_iptables-lens.diff. Included upstream
* Updated libaugeas0.symbols

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
# @INCLUDE_NEXT@ @NEXT_TIME_H@
39
39
 
40
40
/* NetBSD 5.0 mis-defines NULL.  */
41
 
#include <stddef.h>
 
41
# include <stddef.h>
 
42
 
 
43
/* The definitions of _GL_FUNCDECL_RPL etc. are copied here.  */
42
44
 
43
45
/* The definition of _GL_ARG_NONNULL is copied here.  */
44
46
 
45
 
# ifdef __cplusplus
46
 
extern "C" {
47
 
# endif
 
47
/* The definition of _GL_WARN_ON_USE is copied here.  */
48
48
 
49
49
/* Some systems don't define struct timespec (e.g., AIX 4.1, Ultrix 4.3).
50
50
   Or they define it with the wrong member names or define it in <sys/time.h>
53
53
#  if @SYS_TIME_H_DEFINES_STRUCT_TIMESPEC@
54
54
#   include <sys/time.h>
55
55
#  else
 
56
 
 
57
#   ifdef __cplusplus
 
58
extern "C" {
 
59
#   endif
 
60
 
56
61
#   undef timespec
57
62
#   define timespec rpl_timespec
58
63
struct timespec
60
65
  time_t tv_sec;
61
66
  long int tv_nsec;
62
67
};
 
68
 
 
69
#   ifdef __cplusplus
 
70
}
 
71
#   endif
 
72
 
63
73
#  endif
64
74
# endif
65
75
 
66
76
/* Sleep for at least RQTP seconds unless interrupted,  If interrupted,
67
77
   return -1 and store the remaining time into RMTP.  See
68
78
   <http://www.opengroup.org/susv3xsh/nanosleep.html>.  */
69
 
# if @REPLACE_NANOSLEEP@
70
 
#  define nanosleep rpl_nanosleep
71
 
extern int nanosleep (struct timespec const *__rqtp, struct timespec *__rmtp)
72
 
     _GL_ARG_NONNULL ((1));
 
79
# if @GNULIB_NANOSLEEP@
 
80
#  if @REPLACE_NANOSLEEP@
 
81
#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 
82
#    define nanosleep rpl_nanosleep
 
83
#   endif
 
84
_GL_FUNCDECL_RPL (nanosleep, int,
 
85
                  (struct timespec const *__rqtp, struct timespec *__rmtp)
 
86
                  _GL_ARG_NONNULL ((1)));
 
87
_GL_CXXALIAS_RPL (nanosleep, int,
 
88
                  (struct timespec const *__rqtp, struct timespec *__rmtp));
 
89
#  else
 
90
#   if ! @HAVE_NANOSLEEP@
 
91
_GL_FUNCDECL_SYS (nanosleep, int,
 
92
                  (struct timespec const *__rqtp, struct timespec *__rmtp)
 
93
                  _GL_ARG_NONNULL ((1)));
 
94
#   endif
 
95
_GL_CXXALIAS_SYS (nanosleep, int,
 
96
                  (struct timespec const *__rqtp, struct timespec *__rmtp));
 
97
#  endif
 
98
_GL_CXXALIASWARN (nanosleep);
73
99
# endif
74
100
 
75
101
/* Return the 'time_t' representation of TP and normalize TP.  */
76
 
# if @REPLACE_MKTIME@
77
 
#  define mktime rpl_mktime
78
 
extern time_t mktime (struct tm *__tp) _GL_ARG_NONNULL ((1));
 
102
# if @GNULIB_MKTIME@
 
103
#  if @REPLACE_MKTIME@
 
104
#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 
105
#    define mktime rpl_mktime
 
106
#   endif
 
107
_GL_FUNCDECL_RPL (mktime, time_t, (struct tm *__tp) _GL_ARG_NONNULL ((1)));
 
108
_GL_CXXALIAS_RPL (mktime, time_t, (struct tm *__tp));
 
109
#  else
 
110
_GL_CXXALIAS_SYS (mktime, time_t, (struct tm *__tp));
 
111
#  endif
 
112
_GL_CXXALIASWARN (mktime);
79
113
# endif
80
114
 
81
115
/* Convert TIMER to RESULT, assuming local time and UTC respectively.  See
82
116
   <http://www.opengroup.org/susv3xsh/localtime_r.html> and
83
117
   <http://www.opengroup.org/susv3xsh/gmtime_r.html>.  */
84
 
# if @REPLACE_LOCALTIME_R@
85
 
#  undef localtime_r
86
 
#  define localtime_r rpl_localtime_r
87
 
#  undef gmtime_r
88
 
#  define gmtime_r rpl_gmtime_r
89
 
extern struct tm *localtime_r (time_t const *restrict __timer,
90
 
                               struct tm *restrict __result)
91
 
     _GL_ARG_NONNULL ((1, 2));
92
 
extern struct tm *gmtime_r (time_t const *restrict __timer,
93
 
                            struct tm *restrict __result)
94
 
     _GL_ARG_NONNULL ((1, 2));
 
118
# if @GNULIB_TIME_R@
 
119
#  if @REPLACE_LOCALTIME_R@
 
120
#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 
121
#    undef localtime_r
 
122
#    define localtime_r rpl_localtime_r
 
123
#   endif
 
124
_GL_FUNCDECL_RPL (localtime_r, struct tm *, (time_t const *restrict __timer,
 
125
                                             struct tm *restrict __result)
 
126
                                            _GL_ARG_NONNULL ((1, 2)));
 
127
_GL_CXXALIAS_RPL (localtime_r, struct tm *, (time_t const *restrict __timer,
 
128
                                             struct tm *restrict __result));
 
129
#  else
 
130
#   if ! @HAVE_LOCALTIME_R@
 
131
_GL_FUNCDECL_SYS (localtime_r, struct tm *, (time_t const *restrict __timer,
 
132
                                             struct tm *restrict __result)
 
133
                                            _GL_ARG_NONNULL ((1, 2)));
 
134
#   endif
 
135
_GL_CXXALIAS_SYS (localtime_r, struct tm *, (time_t const *restrict __timer,
 
136
                                             struct tm *restrict __result));
 
137
#  endif
 
138
_GL_CXXALIASWARN (localtime_r);
 
139
#  if @REPLACE_LOCALTIME_R@
 
140
#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 
141
#    undef gmtime_r
 
142
#    define gmtime_r rpl_gmtime_r
 
143
#   endif
 
144
_GL_FUNCDECL_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer,
 
145
                                          struct tm *restrict __result)
 
146
                                         _GL_ARG_NONNULL ((1, 2)));
 
147
_GL_CXXALIAS_RPL (gmtime_r, struct tm *, (time_t const *restrict __timer,
 
148
                                          struct tm *restrict __result));
 
149
#  else
 
150
#   if ! @HAVE_LOCALTIME_R@
 
151
_GL_FUNCDECL_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer,
 
152
                                          struct tm *restrict __result)
 
153
                                         _GL_ARG_NONNULL ((1, 2)));
 
154
#   endif
 
155
_GL_CXXALIAS_SYS (gmtime_r, struct tm *, (time_t const *restrict __timer,
 
156
                                          struct tm *restrict __result));
 
157
#  endif
 
158
_GL_CXXALIASWARN (gmtime_r);
95
159
# endif
96
160
 
97
161
/* Parse BUF as a time stamp, assuming FORMAT specifies its layout, and store
98
162
   the resulting broken-down time into TM.  See
99
163
   <http://www.opengroup.org/susv3xsh/strptime.html>.  */
100
 
# if @REPLACE_STRPTIME@
101
 
#  undef strptime
102
 
#  define strptime rpl_strptime
103
 
extern char *strptime (char const *restrict __buf,
104
 
                       char const *restrict __format,
105
 
                       struct tm *restrict __tm)
106
 
     _GL_ARG_NONNULL ((1, 2, 3));
 
164
# if @GNULIB_STRPTIME@
 
165
#  if ! @HAVE_STRPTIME@
 
166
_GL_FUNCDECL_SYS (strptime, char *, (char const *restrict __buf,
 
167
                                     char const *restrict __format,
 
168
                                     struct tm *restrict __tm)
 
169
                                    _GL_ARG_NONNULL ((1, 2, 3)));
 
170
#  endif
 
171
_GL_CXXALIAS_SYS (strptime, char *, (char const *restrict __buf,
 
172
                                     char const *restrict __format,
 
173
                                     struct tm *restrict __tm));
 
174
_GL_CXXALIASWARN (strptime);
107
175
# endif
108
176
 
109
177
/* Convert TM to a time_t value, assuming UTC.  */
110
 
# if @REPLACE_TIMEGM@
111
 
#  undef timegm
112
 
#  define timegm rpl_timegm
113
 
extern time_t timegm (struct tm *__tm) _GL_ARG_NONNULL ((1));
 
178
# if @GNULIB_TIMEGM@
 
179
#  if @REPLACE_TIMEGM@
 
180
#   if !(defined __cplusplus && defined GNULIB_NAMESPACE)
 
181
#    undef timegm
 
182
#    define timegm rpl_timegm
 
183
#   endif
 
184
_GL_FUNCDECL_RPL (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1)));
 
185
_GL_CXXALIAS_RPL (timegm, time_t, (struct tm *__tm));
 
186
#  else
 
187
#   if ! @HAVE_TIMEGM@
 
188
_GL_FUNCDECL_SYS (timegm, time_t, (struct tm *__tm) _GL_ARG_NONNULL ((1)));
 
189
#   endif
 
190
_GL_CXXALIAS_SYS (timegm, time_t, (struct tm *__tm));
 
191
#  endif
 
192
_GL_CXXALIASWARN (timegm);
114
193
# endif
115
194
 
116
195
/* Encourage applications to avoid unsafe functions that can overrun
117
196
   buffers when given outlandish struct tm values.  Portable
118
197
   applications should use strftime (or even sprintf) instead.  */
119
 
# if GNULIB_PORTCHECK
 
198
# if defined GNULIB_POSIXCHECK
120
199
#  undef asctime
121
 
#  define asctime eschew_asctime
 
200
_GL_WARN_ON_USE (asctime, "asctime can overrun buffers in some cases - "
 
201
                 "better use strftime (or even sprintf) instead");
 
202
# endif
 
203
# if defined GNULIB_POSIXCHECK
122
204
#  undef asctime_r
123
 
#  define asctime_r eschew_asctime_r
 
205
_GL_WARN_ON_USE (asctime, "asctime_r can overrun buffers in some cases - "
 
206
                 "better use strftime (or even sprintf) instead");
 
207
# endif
 
208
# if defined GNULIB_POSIXCHECK
124
209
#  undef ctime
125
 
#  define ctime eschew_ctime
 
210
_GL_WARN_ON_USE (asctime, "ctime can overrun buffers in some cases - "
 
211
                 "better use strftime (or even sprintf) instead");
 
212
# endif
 
213
# if defined GNULIB_POSIXCHECK
126
214
#  undef ctime_r
127
 
#  define ctime_r eschew_ctime_r
128
 
# endif
129
 
 
130
 
# ifdef __cplusplus
131
 
}
 
215
_GL_WARN_ON_USE (asctime, "ctime_r can overrun buffers in some cases - "
 
216
                 "better use strftime (or even sprintf) instead");
132
217
# endif
133
218
 
134
219
#endif