68#include "libical_ical_export.h"
230#define ICAL_BY_SECOND_SIZE 62
231#define ICAL_BY_MINUTE_SIZE 61
232#define ICAL_BY_HOUR_SIZE 25
233#define ICAL_BY_MONTH_SIZE 14
234#define ICAL_BY_MONTHDAY_SIZE 32
235#define ICAL_BY_WEEKNO_SIZE 56
236#define ICAL_BY_YEARDAY_SIZE 386
237#define ICAL_BY_SETPOS_SIZE ICAL_BY_YEARDAY_SIZE
238#define ICAL_BY_DAY_SIZE (7 * (ICAL_BY_WEEKNO_SIZE - 1) + 1)
243} icalrecurrence_by_data;
492typedef struct icalrecur_iterator_impl icalrecur_iterator;
611 int count, icaltime_t *array);
An array of arbitrarily-sized elements which grows dynamically as elements are added.
struct icaltimetype icalrecur_iterator_prev(icalrecur_iterator *impl)
struct icaltimetype icalrecur_iterator_next(icalrecur_iterator *impl)
bool icalrecur_iterator_set_start(icalrecur_iterator *impl, struct icaltimetype start)
struct icalrecurrencetype * icalrecurrencetype_new_from_string(const char *str)
icalrecurrencetype_weekday
void icalrecurrencetype_ref(struct icalrecurrencetype *recur)
icalrecurrencetype_skip icalrecur_string_to_skip(const char *str)
bool icalrecur_iterator_set_end(icalrecur_iterator *impl, struct icaltimetype end)
short icalrecurrencetype_encode_month(int month, bool is_leap)
short icalrecurrencetype_encode_day(enum icalrecurrencetype_weekday weekday, int position)
bool icalrecurrencetype_month_is_leap(short month)
icalrecurrencetype_frequency
@ ICAL_SECONDLY_RECURRENCE
@ ICAL_MINUTELY_RECURRENCE
@ ICAL_MONTHLY_RECURRENCE
const char * icalrecur_weekday_to_string(icalrecurrencetype_weekday kind)
const char * icalrecur_skip_to_string(icalrecurrencetype_skip kind)
bool icalrecur_resize_by(icalrecurrence_by_data *by, short size)
const char * icalrecur_freq_to_string(icalrecurrencetype_frequency kind)
void ical_set_invalid_rrule_handling_setting(ical_invalid_rrule_handling newSetting)
void icalrecur_iterator_free(icalrecur_iterator *impl)
icalrecurrencetype_byrule
@ ICAL_BYRULE_NO_CONTRACTION
icalrecurrencetype_frequency icalrecur_string_to_freq(const char *str)
struct icalrecurrencetype * icalrecurrencetype_new(void)
bool icalrecur_iterator_set_range(icalrecur_iterator *impl, struct icaltimetype from, struct icaltimetype to)
ical_invalid_rrule_handling
@ ICAL_RRULE_TREAT_AS_ERROR
@ ICAL_RRULE_IGNORE_INVALID
icalarray * icalrecurrencetype_rscale_supported_calendars(void)
enum icalrecurrencetype_weekday icalrecurrencetype_day_day_of_week(short day)
ical_invalid_rrule_handling ical_get_invalid_rrule_handling_setting(void)
int icalrecurrencetype_day_position(short day)
bool icalrecur_expand_recurrence(const char *rule, icaltime_t start, int count, icaltime_t *array)
char * icalrecurrencetype_as_string(struct icalrecurrencetype *recur)
void icalrecurrencetype_unref(struct icalrecurrencetype *recur)
icalrecur_iterator * icalrecur_iterator_new(struct icalrecurrencetype *rule, struct icaltimetype dtstart)
icalrecurrencetype_weekday icalrecur_string_to_weekday(const char *str)
int icalrecurrencetype_month_month(short month)
struct icalrecurrencetype * icalrecurrencetype_clone(struct icalrecurrencetype *r)
char * icalrecurrencetype_as_string_r(struct icalrecurrencetype *recur)
Defines the data structure for representing date-times.
icalrecurrencetype_frequency freq
icalrecurrencetype_skip skip
icalrecurrencetype_weekday week_start
struct icaltimetype until
icalrecurrence_by_data by[ICAL_BY_NUM_PARTS]