File: timezone.h

package info (click to toggle)
librra 0.9.0-2
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 2,032 kB
  • ctags: 1,045
  • sloc: ansic: 9,914; sh: 8,954; makefile: 125
file content (45 lines) | stat: -rw-r--r-- 1,665 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/* $Id: timezone.h,v 1.5 2003/12/08 09:44:02 twogood Exp $ */

#include <synce.h>

typedef struct _RRA_Timezone
{
  int32_t Bias;                       /* 00 */
  WCHAR StandardName[32];             /* 04 */
  uint16_t unknown0;                  /* 44 */
  uint16_t StandardMonthOfYear;       /* 46 */
  uint16_t unknown1;                  /* 48 */
  uint16_t StandardInstance;          /* 4a */
  uint16_t StandardStartHour;         /* 4c */
  uint8_t unknown2[6];                /* 4e */
  int32_t StandardBias;               /* 54 */
  WCHAR DaylightName[32];             /* 58 */
  uint16_t unknown3;                  /* 98 */
  uint16_t DaylightMonthOfYear;       /* 9a */
  uint16_t unknown4;                  /* 9c */
  uint16_t DaylightInstance;          /* 9e */
  uint16_t DaylightStartHour;         /* a0 */
  uint8_t unknown5[6];                /* a2 */
  int32_t DaylightBias;               /* b0 */
} RRA_Timezone;

/** Get time zone information from connected device */
bool rra_timezone_get(RRA_Timezone* timezone);

#define RRA_TIMEZONE_INVALID_TIME   ((time_t)0xffffffff)

/** Convert a time in UTC to this timezone */
time_t rra_timezone_convert_from_utc(RRA_Timezone* tzi, time_t unix_time);

/** Convert a time in this timezone to UTC */
time_t rra_timezone_convert_to_utc  (RRA_Timezone* tzi, time_t unix_time);

/** Create a timezone ID for use in vCalendar objects */
void rra_timezone_create_id(RRA_Timezone* timezone, char** id);
#define rra_timezone_free_id(id)  if (id) free(id)

struct _Generator;

/** Write this timezone as a vTimezone object */
bool rra_timezone_generate_vtimezone(struct _Generator* generator, RRA_Timezone* tzi);