39 return (time >=
period->start);
66 const char *
s =
"", *
sep =
"";
169 if (!endp || !*endp) {
172 else if (endp ==
value) {
255 return "cannot parse NULL value";
271 return "percent must be less than 100";
274 return "has unrecognized format";
303 r.start =
period->end - duration;
311 if (!
ts1 || !
ts2)
return 0;
312 return (
ts1->norm ==
ts2->norm) && (
ts1->len ==
ts2->len);
320 c.end = (
a->end <
b->end)?
a->end :
b->end;
321 if (
c.start >
c.end) {
const char apr_size_t len
APR general purpose library routines.
apr_file_t apr_off_t start
apr_bucket apr_bucket_brigade * a
apr_vformatter_buff_t * c
#define apr_pcalloc(p, size)
#define apr_time_msec(time)
#define APR_RFC822_DATE_LEN
apr_int64_t apr_interval_time_t
#define apr_time_sec(time)
#define apr_time_from_sec(sec)
const char * md_duration_print(apr_pool_t *p, apr_interval_time_t duration)
apr_interval_time_t md_timeperiod_remaining(const md_timeperiod_t *period, apr_time_t time)
static const char * duration_format(apr_pool_t *p, apr_interval_time_t duration)
static const char * duration_print(apr_pool_t *p, int roughly, apr_interval_time_t duration)
apr_status_t md_duration_parse(apr_interval_time_t *ptimeout, const char *value, const char *def_unit)
int md_timeperiod_has_started(const md_timeperiod_t *period, apr_time_t time)
md_timeperiod_t md_timeperiod_common(const md_timeperiod_t *a, const md_timeperiod_t *b)
const char * md_timeslice_format(const md_timeslice_t *ts, apr_pool_t *p)
const char * md_duration_roughly(apr_pool_t *p, apr_interval_time_t duration)
int md_timeperiod_has_ended(const md_timeperiod_t *period, apr_time_t time)
static apr_status_t percentage_parse(const char *value, int *ppercent)
const char * md_duration_format(apr_pool_t *p, apr_interval_time_t duration)
int md_timeslice_eq(const md_timeslice_t *ts1, const md_timeslice_t *ts2)
apr_status_t md_timeslice_create(md_timeslice_t **pts, apr_pool_t *p, apr_interval_time_t norm, apr_interval_time_t len)
char * md_timeperiod_print(apr_pool_t *p, const md_timeperiod_t *period)
const char * md_timeslice_parse(md_timeslice_t **pts, apr_pool_t *p, const char *val, apr_interval_time_t norm)
apr_time_t md_timeperiod_length(const md_timeperiod_t *period)
md_timeperiod_t md_timeperiod_slice_before_end(const md_timeperiod_t *period, const md_timeslice_t *ts)
int md_timeperiod_contains(const md_timeperiod_t *period, apr_time_t time)
apr_status_t apr_rfc822_date(char *date_str, apr_time_t t)
typedef int(WSAAPI *apr_winapi_fpt_WSAPoll)(IN OUT LPWSAPOLLFD fdArray