Logo Search packages:      
Sourcecode: libical version File versions  Download package

icaltimezone.c File Reference

Detailed Description

implementation of timezone handling routines

Definition in file icaltimezone.c.

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "icalproperty.h"
#include "icalarray.h"
#include "icalerror.h"
#include "icalparser.h"
#include "icaltimezone.h"
#include "icaltz-util.h"
#include <sys/stat.h>

Go to the source code of this file.


struct  _icaltimezone
struct  _icaltimezonechange


#define TZID_PREFIX   "/citadel.org/"
#define TZID_PREFIX_LEN   13
#define ZONES_TAB_FILENAME   "zones.tab"


typedef struct _icaltimezonechange icaltimezonechange


static int fetch_lat_long_from_string (const char *str, int *latitude_degrees, int *latitude_minutes, int *latitude_seconds, int *longitude_degrees, int *longitude_minutes, int *longitude_seconds, char *location)
static void format_utc_offset (int utc_offset, char *buffer)
void free_zone_directory (void)
static int get_offset (icaltimezone *zone)
static const char * get_zone_directory (void)
static void icaltimezone_adjust_change (icaltimezonechange *tt, int days, int hours, int minutes, int seconds)
void icaltimezone_array_append_from_vtimezone (icalarray *timezones, icalcomponent *child)
void icaltimezone_array_free (icalarray *timezones)
icalarray * icaltimezone_array_new (void)
static int icaltimezone_compare_change_fn (const void *elem1, const void *elem2)
void icaltimezone_convert_time (struct icaltimetype *tt, icaltimezone *from_zone, icaltimezone *to_zone)
icaltimezone * icaltimezone_copy (icaltimezone *originalzone)
int icaltimezone_dump_changes (icaltimezone *zone, int max_year, FILE *fp)
static void icaltimezone_ensure_coverage (icaltimezone *zone, int end_year)
static void icaltimezone_expand_changes (icaltimezone *zone, int end_year)
static void icaltimezone_expand_vtimezone (icalcomponent *comp, int end_year, icalarray *changes)
static int icaltimezone_find_nearby_change (icaltimezone *zone, icaltimezonechange *change)
void icaltimezone_free (icaltimezone *zone, int free_struct)
void icaltimezone_free_builtin_timezones (void)
icaltimezone * icaltimezone_get_builtin_timezone (const char *location)
icaltimezone * icaltimezone_get_builtin_timezone_from_offset (int offset, const char *tzname)
icaltimezone * icaltimezone_get_builtin_timezone_from_tzid (const char *tzid)
icalarray * icaltimezone_get_builtin_timezones (void)
icalcomponent * icaltimezone_get_component (icaltimezone *zone)
const char * icaltimezone_get_display_name (icaltimezone *zone)
double icaltimezone_get_latitude (icaltimezone *zone)
const char * icaltimezone_get_location (icaltimezone *zone)
static char * icaltimezone_get_location_from_vtimezone (icalcomponent *component)
double icaltimezone_get_longitude (icaltimezone *zone)
const char * icaltimezone_get_tzid (icaltimezone *zone)
const char * icaltimezone_get_tznames (icaltimezone *zone)
static char * icaltimezone_get_tznames_from_vtimezone (icalcomponent *component)
int icaltimezone_get_utc_offset (icaltimezone *zone, struct icaltimetype *tt, int *is_daylight)
int icaltimezone_get_utc_offset_of_utc_time (icaltimezone *zone, struct icaltimetype *tt, int *is_daylight)
icaltimezone * icaltimezone_get_utc_timezone (void)
static int icaltimezone_get_vtimezone_properties (icaltimezone *zone, icalcomponent *component)
static void icaltimezone_init (icaltimezone *zone)
static void icaltimezone_init_builtin_timezones (void)
static void icaltimezone_load_builtin_timezone (icaltimezone *zone)
icaltimezone * icaltimezone_new (void)
static void icaltimezone_parse_zone_tab (void)
void icaltimezone_release_zone_tab (void)
static void icaltimezone_reset (icaltimezone *zone)
int icaltimezone_set_component (icaltimezone *zone, icalcomponent *comp)
static int parse_coord (char *coord, int len, int *degrees, int *minutes, int *seconds)
void set_zone_directory (char *path)
static struct icaltimetype tm_to_icaltimetype (struct tm *tm)


static icalarray * builtin_timezones = NULL
static icaltimezone utc_timezone = { 0, 0, 0, 0, 0, 0, 0, 0, 0 }
static char * zone_files_directory = NULL

Generated by  Doxygen 1.6.0   Back to index