X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=src%2Fdate.h;h=a04d0dead46ce1be5835f173a9e378fd726e171d;hb=296fd1bb5f87b1961e98c7ea4c224219012f7161;hp=77f7341b1b0ffc40752bc1a0f53fc04ca62673d0;hpb=b9a8d20bc5dba484a6ab23ac715dc02a3ae86f7d;p=lackey diff --git a/src/date.h b/src/date.h index 77f7341..a04d0de 100644 --- a/src/date.h +++ b/src/date.h @@ -1,21 +1,23 @@ /* - * Copyright (C) 2012 Andy Spencer - * + * Copyright (C) 2012-2013 Andy Spencer + * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. - * + * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. - * + * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ /* Time types */ +typedef long long stamp_t; + typedef int year_t; typedef int day_t; typedef int hour_t; @@ -46,10 +48,16 @@ typedef enum { SAT = 6, } wday_t; +typedef struct { + year_t year; + month_t month; + day_t day; + hour_t hour; + min_t min; +} date_t; + /* Global data */ -extern year_t YEAR; -extern month_t MONTH; -extern day_t DAY; +extern date_t SEL; // date and time the user is looking at /* Initialize */ void date_init(void); @@ -65,12 +73,17 @@ day_t start_of_week(year_t year, month_t month, day_t day); void add_days(year_t *year, month_t *month, day_t *day, int days); void add_months(year_t *year, month_t *month, int months); +stamp_t get_stamp(date_t *date); +int get_mins(date_t *start, date_t *end); +int compare(date_t *a, date_t *b); +int before(date_t *start, int year, int month, int day, int hour, int min); + +int all_day(date_t *start, date_t *end); +int no_date(date_t *date); + /* Time to string functions */ const char *month_to_str(month_t month); const char *month_to_string(month_t month); const char *day_to_st(wday_t day); const char *day_to_str(wday_t day); const char *day_to_string(wday_t day); - -/* Tests */ -void test_time(void);