$darkmode
Libical API Documentation 4.0 STABLE VERSION Visit the v3.0 documentation
icalduration.h
Go to the documentation of this file.
1 /*======================================================================
2  FILE: icalduration.h
3  CREATOR: eric 26 Jan 2001
4 
5  SPDX-FileCopyrightText: 2000, Eric Busboom <eric@civicknowledge.com>
6  SPDX-License-Identifier: LGPL-2.1-only OR MPL-2.0
7 
8  The Original Code is eric. The Initial Developer of the Original
9  Code is Eric Busboom
10 ======================================================================*/
11 
17 #ifndef ICALDURATION_H
18 #define ICALDURATION_H
19 
20 #include "libical_ical_export.h"
21 #include "icaltime.h"
22 
23 #include <stdbool.h>
24 
31  int is_neg;
32  unsigned int days;
33  unsigned int weeks;
34  unsigned int hours;
35  unsigned int minutes;
36  unsigned int seconds;
37 };
38 
40 #define ICALDURATIONTYPE_INITIALIZER {0, 0, 0, 0, 0, 0}
41 
65 LIBICAL_ICAL_EXPORT struct icaldurationtype icaldurationtype_from_seconds(int seconds);
66 
86 LIBICAL_ICAL_EXPORT struct icaldurationtype icaldurationtype_from_string(const char *str);
87 
115 LIBICAL_ICAL_EXPORT int icaldurationtype_as_seconds(struct icaldurationtype duration);
116 
128 LIBICAL_ICAL_EXPORT int icaldurationtype_as_utc_seconds(struct icaldurationtype duration);
129 
154 LIBICAL_ICAL_EXPORT char *icaldurationtype_as_ical_string(struct icaldurationtype d);
155 
176 LIBICAL_ICAL_EXPORT char *icaldurationtype_as_ical_string_r(struct icaldurationtype d);
177 
199 LIBICAL_ICAL_EXPORT struct icaldurationtype icaldurationtype_null_duration(void);
200 
216 LIBICAL_ICAL_EXPORT struct icaldurationtype icaldurationtype_bad_duration(void);
217 
234 LIBICAL_ICAL_EXPORT bool icaldurationtype_is_null_duration(struct icaldurationtype d);
235 
252 LIBICAL_ICAL_EXPORT bool icaldurationtype_is_bad_duration(struct icaldurationtype d);
253 
275 LIBICAL_ICAL_EXPORT struct icaltimetype icalduration_extend(struct icaltimetype t,
276  struct icaldurationtype d);
277 
297 LIBICAL_ICAL_EXPORT struct icaldurationtype icalduration_from_times(struct icaltimetype t1,
298  struct icaltimetype t2);
299 
314 LIBICAL_ICAL_EXPORT struct icaldurationtype icaldurationtype_normalize(struct icaldurationtype dur);
315 
316 #endif /* !ICALDURATION_H */
bool icaldurationtype_is_bad_duration(struct icaldurationtype d)
Checks if a duration is a bad duration.
Definition: icalduration.c:292
unsigned int seconds
Definition: icalduration.h:36
unsigned int days
Definition: icalduration.h:32
int icaldurationtype_as_utc_seconds(struct icaldurationtype duration)
Extracts the duration in integer seconds from an icaldurationtype in UTC time.
Definition: icalduration.c:251
Defines the data structure for representing date-times.
struct icaldurationtype icalduration_from_times(struct icaltimetype t1, struct icaltimetype t2)
Creates a duration from two icaltimetype endpoints.
Definition: icalduration.c:346
unsigned int minutes
Definition: icalduration.h:35
struct icaldurationtype icaldurationtype_null_duration(void)
Creates a duration with zero length.
Definition: icalduration.c:261
char * icaldurationtype_as_ical_string_r(struct icaldurationtype d)
Definition: icalduration.c:190
int icaldurationtype_as_seconds(struct icaldurationtype duration)
Extracts the duration in integer seconds from an icaldurationtype.
Definition: icalduration.c:238
struct icaldurationtype icaldurationtype_normalize(struct icaldurationtype dur)
Create a normalized duration from another duration.
Definition: icalduration.c:369
struct icaldurationtype icaldurationtype_from_string(const char *str)
Creates a new icaldurationtype from a duration given as a string.
Definition: icalduration.c:43
struct icaltimetype icalduration_extend(struct icaltimetype t, struct icaldurationtype d)
Extends a time duration.
Definition: icalduration.c:297
unsigned int hours
Definition: icalduration.h:34
bool icaldurationtype_is_null_duration(struct icaldurationtype d)
Checks if a duration is a null duration.
Definition: icalduration.c:270
char * icaldurationtype_as_ical_string(struct icaldurationtype d)
Definition: icalduration.c:181
unsigned int weeks
Definition: icalduration.h:33
struct icaldurationtype icaldurationtype_from_seconds(int seconds)
Creates a new icaldurationtype from a duration in seconds.
Definition: icalduration.c:28
struct icaldurationtype icaldurationtype_bad_duration(void)
Creates a bad duration (used to indicate error).
Definition: icalduration.c:283