4 /* functions to manage the 'current forecast' */
5 struct forecast
*current_forecast_get(void);
6 void current_forecast_next(int dir
);
9 char ID
[4]; /* Forecast type ("AVN", "MRF", etc) */
10 char *station
; /* station name */
11 time_t last_update
; /* last updated time */
12 signed char month
; /* 0, 1 - 12 */
13 signed char day
; /* -1, 1 - 31 */
14 short year
; /* -1, number */
15 signed char wday
; /* -1, 0-6 */
16 signed char hour
; /* -1, 0 - 23 (local) */
17 short low
; /* 999, -210 - 390 (degrees F) */
18 short high
; /* 999, -210 - 390 (degrees F) */
19 short temp
; /* 999, -210 - 390 (degrees F) */
20 short dewpt
; /* 999, -210 - 390 (degrees F) */
21 signed char rh
; /* -1, 0 - 100 (%) */
22 short winddir
; /* -1, 0 - 16 (direction) */
23 short windspeed
; /* -1, 0 - MAX */
24 short heatindex
; /* 999, -99 - 199 (degrees F) */
25 short windchill
; /* 999, -99 - 199 (degrees F) */
26 short precipamt
; /* -1, 0 - 7 (amount code) */
27 short snowamt
; /* -1, 0 - 8 (amount code) */
28 signed char sky
; /* -1, 0-4 (condition) */
29 signed char vis
; /* 7, 1-7 (status code) */
30 signed char obs
; /* 0, 0-3 (type) */
31 signed char pcp_total
; /* 0, 0-100 (percent chance) */
32 signed char frz
; /* 0, 0-100 (percent chance) */
33 signed char snow
; /* 0, 0-100 (percent chance) */
34 signed char rain
; /* 0, 0-100 (percent chance) */
35 signed char tstorm
; /* 0, 0-100 (percent chance) */
36 signed char svtstorm
; /* 0, 0-100 (percent chance) */
37 double moon
; /* NAN, -1 - 1 (percent and wax/wane) */
38 time_t time
; /* -1, time_t value */
41 void add_forecast(struct forecast
*f
, char *ID
, char *station
);
42 time_t forecast_time(struct forecast
*f
);
43 time_t parse_time_string(char *s
);
44 time_t find_next_time(char *file
, char *pat
, int minutes
);
45 void reset_forecast(struct forecast
*f
);