~ubuntu-branches/ubuntu/precise/boinc/precise

« back to all changes in this revision

Viewing changes to zip/unzip/timezone.h

Tags: 6.12.8+dfsg-1
* New upstream release.
* Simplified debian/rules

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
  Copyright (c) 1990-2001 Info-ZIP.  All rights reserved.
3
 
 
4
 
  See the accompanying file LICENSE, version 2000-Apr-09 or later
5
 
  (the contents of which are also included in zip.h) for terms of use.
6
 
  If, for some reason, all these files are missing, the Info-ZIP license
7
 
  also may be found at:  ftp://ftp.info-zip.org/pub/infozip/license.html
8
 
*/
9
 
#ifndef __timezone_h
10
 
#define __timezone_h
11
 
 
12
 
#ifndef IZ_MKTIME_ONLY
13
 
 
14
 
/* limits for our timezone info data:
15
 
 * we support only basic standard and daylight time, with max 2 transitions
16
 
 * per year, but for the maximum range of years a 32-bit second counter
17
 
 * can cover (these are 136 years plus a bit more than one month)
18
 
 */
19
 
#define TZ_MAX_TIMES    272 /* (=2*(LastGoodYr + 1 - FirstGoodYr) */
20
 
#define TZ_MAX_TYPES    2   /* We only support basic standard and daylight */
21
 
#ifdef WIN32    /* Win32 tzinfo supplies at max (2 * 32) chars of tz names */
22
 
#define TZ_MAX_CHARS    64  /* Maximum number of abbreviation characters */
23
 
#else
24
 
#define TZ_MAX_CHARS    50  /* Maximum number of abbreviation characters */
25
 
#endif
26
 
 
27
 
/* supported types of transition rules */
28
 
#define JULIAN_DAY              0   /* Jn - Julian day */
29
 
#define DAY_OF_YEAR             1   /* n - day of year */
30
 
#define MONTH_NTH_DAY_OF_WEEK   2   /* Mm.n.d - month, week, day of week */
31
 
 
32
 
 
33
 
struct ttinfo {
34
 
    long            tt_gmtoff;  /* UTC offset in seconds */
35
 
    int             tt_isdst;   /* used to set tm_isdst */
36
 
    int             tt_abbrind; /* abbreviation list index */
37
 
};
38
 
 
39
 
struct state {
40
 
    int             timecnt;
41
 
    int             typecnt;
42
 
    int             charcnt;
43
 
    time_t          ats[TZ_MAX_TIMES];
44
 
    unsigned char   types[TZ_MAX_TIMES];
45
 
    struct ttinfo   ttis[TZ_MAX_TYPES];
46
 
    char            chars[TZ_MAX_CHARS];
47
 
};
48
 
 
49
 
struct rule {
50
 
    int             r_type;     /* type of rule--JULIAN_DAY etc */
51
 
    int             r_day;      /* day number of rule */
52
 
    int             r_week;     /* week number of rule */
53
 
    int             r_mon;      /* month number of rule */
54
 
    long            r_time;     /* transition time of rule */
55
 
};
56
 
 
57
 
extern int real_timezone_is_set;        /* set by tzset() */
58
 
 
59
 
 
60
 
/* prototypes of functions not in time.h */
61
 
 
62
 
void __tzset OF((void));
63
 
 
64
 
#ifdef NEED__ISINDST
65
 
int _isindst OF((struct tm *tb));
66
 
#endif
67
 
 
68
 
/* callback function to be supplied by the program that uses this library */
69
 
int GetPlatformLocalTimezone OF((register struct state * ZCONST sp,
70
 
        void (*fill_tzstate_from_rules)(struct state * ZCONST sp_res,
71
 
                                        ZCONST struct rule * ZCONST start,
72
 
                                        ZCONST struct rule * ZCONST end)));
73
 
#ifdef IZTZ_SETLOCALTZINFO
74
 
void set_TZ OF((long time_zone, int day_light));
75
 
#endif
76
 
 
77
 
#endif /* !IZ_MKTIME_ONLY */
78
 
 
79
 
time_t mkgmtime OF((struct tm *tm));
80
 
 
81
 
#endif