version 1.8, 2002/02/16 21:27:44 |
version 1.15, 2015/12/07 18:46:35 |
|
|
* 2. Redistributions in binary form must reproduce the above copyright |
* 2. Redistributions in binary form must reproduce the above copyright |
* notice, this list of conditions and the following disclaimer in the |
* notice, this list of conditions and the following disclaimer in the |
* documentation and/or other materials provided with the distribution. |
* documentation and/or other materials provided with the distribution. |
* 3. All advertising materials mentioning features or use of this software |
* 3. Neither the name of the University nor the names of its contributors |
* must display the following acknowledgement: |
|
* This product includes software developed by the University of |
|
* California, Berkeley and its contributors. |
|
* 4. Neither the name of the University nor the names of its contributors |
|
* may be used to endorse or promote products derived from this software |
* may be used to endorse or promote products derived from this software |
* without specific prior written permission. |
* without specific prior written permission. |
* |
* |
|
|
|
|
extern struct passwd *pw; |
extern struct passwd *pw; |
extern int doall; |
extern int doall; |
|
extern int daynames; |
extern int bodun_always; |
extern int bodun_always; |
extern time_t f_time; |
extern time_t f_time; |
extern struct iovec header[]; |
|
extern struct tm *tp; |
extern struct tm *tp; |
extern char *calendarFile; |
extern char *calendarFile; |
extern char *calendarHome; |
extern char *calendarHome; |
|
|
int len; |
int len; |
}; |
}; |
|
|
|
#define PRINT_DATE_BASE_LEN 35 |
|
|
struct event { |
struct event { |
time_t when; |
time_t when; |
char print_date[31]; |
char print_date[PRINT_DATE_BASE_LEN+1]; |
char **desc; |
char **desc; |
char *ldesc; |
char *ldesc; |
struct event *next; |
struct event *next; |
|
|
|
|
struct match { |
struct match { |
time_t when; |
time_t when; |
char print_date[30]; |
char print_date[PRINT_DATE_BASE_LEN]; |
int bodun; |
int bodun; |
int var; |
int var; |
struct match *next; |
struct match *next; |
|
|
int getdayvar(char *); |
int getdayvar(char *); |
int getfield(char *, char **, int *); |
int getfield(char *, char **, int *); |
int getmonth(char *); |
int getmonth(char *); |
|
int pesach(int); |
int easter(int); |
int easter(int); |
int paskha(int); |
int paskha(int); |
void insert(struct event **, struct event *); |
void insert(struct event **, struct event *); |
|
|
* calendar time--e.g. Easter or easter depending |
* calendar time--e.g. Easter or easter depending |
* days */ |
* days */ |
|
|
|
#define SECSPERDAY (24 * 60 * 60) |
|
#define isleap(y) (((y) % 4) == 0 && (((y) % 100) != 0 || ((y) % 400) == 0)) |
|
|
extern int f_dayAfter; /* days after current date */ |
extern int f_dayAfter; /* days after current date */ |
extern int f_dayBefore; /* days before current date */ |
extern int f_dayBefore; /* days before current date */ |
|
extern int f_SetdayAfter; /* calendar invoked with -A */ |
|
|
/* Special events; see also setnnames() in day.c */ |
/* Special events; see also setnnames() in day.c */ |
/* '=' is not a valid character in a special event name */ |
/* '=' is not a valid character in a special event name */ |
|
#define PESACH "pesach" |
|
#define PESACHLEN (sizeof(PESACH) - 1) |
#define EASTER "easter" |
#define EASTER "easter" |
#define EASTERNAMELEN (sizeof(EASTER) - 1) |
#define EASTERNAMELEN (sizeof(EASTER) - 1) |
#define PASKHA "paskha" |
#define PASKHA "paskha" |
#define PASKHALEN (sizeof(PASKHA) - 1) |
#define PASKHALEN (sizeof(PASKHA) - 1) |
|
|
#define NUMEV 2 /* Total number of such special events */ |
/* calendars */ |
|
extern enum calendars { GREGORIAN = 0, JULIAN, LUNAR } calendar; |
|
extern u_long julian; |
|
|
|
#define NUMEV 3 /* Total number of such special events */ |
extern struct specialev spev[NUMEV]; |
extern struct specialev spev[NUMEV]; |
|
|
/* For calendar -a, specify a maximum time (in seconds) to spend parsing |
/* For calendar -a, specify a maximum time (in seconds) to spend parsing |