xref: /freebsd/lib/libcalendar/calendar.h (revision b3e7694832e81d7a904a10f525f8797b753bf0d3)
1306a501fSWolfgang Helbig /*-
2*4d846d26SWarner Losh  * SPDX-License-Identifier: BSD-2-Clause
35e53a4f9SPedro F. Giffuni  *
4306a501fSWolfgang Helbig  * Copyright (c) 1997 Wolfgang Helbig
5306a501fSWolfgang Helbig  * All rights reserved.
6306a501fSWolfgang Helbig  *
7306a501fSWolfgang Helbig  * Redistribution and use in source and binary forms, with or without
8306a501fSWolfgang Helbig  * modification, are permitted provided that the following conditions
9306a501fSWolfgang Helbig  * are met:
10306a501fSWolfgang Helbig  * 1. Redistributions of source code must retain the above copyright
11306a501fSWolfgang Helbig  *    notice, this list of conditions and the following disclaimer.
12306a501fSWolfgang Helbig  * 2. Redistributions in binary form must reproduce the above copyright
13306a501fSWolfgang Helbig  *    notice, this list of conditions and the following disclaimer in the
14306a501fSWolfgang Helbig  *    documentation and/or other materials provided with the distribution.
15306a501fSWolfgang Helbig  *
16306a501fSWolfgang Helbig  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17306a501fSWolfgang Helbig  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18306a501fSWolfgang Helbig  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19306a501fSWolfgang Helbig  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20306a501fSWolfgang Helbig  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21306a501fSWolfgang Helbig  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22306a501fSWolfgang Helbig  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23306a501fSWolfgang Helbig  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24306a501fSWolfgang Helbig  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25306a501fSWolfgang Helbig  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26306a501fSWolfgang Helbig  * SUCH DAMAGE.
27306a501fSWolfgang Helbig  */
28fa183770SWolfgang Helbig struct date {
29306a501fSWolfgang Helbig 	int y;	/* year */
30306a501fSWolfgang Helbig 	int m;	/* month */
31306a501fSWolfgang Helbig 	int d;	/* day */
32fa183770SWolfgang Helbig };
33306a501fSWolfgang Helbig 
34fa183770SWolfgang Helbig struct date	*easterg(int _year, struct date *_dt);
35fa183770SWolfgang Helbig struct date	*easterog(int _year, struct date *_dt);
36fa183770SWolfgang Helbig struct date	*easteroj(int _year, struct date *_dt);
37fa183770SWolfgang Helbig struct date	*gdate(int _nd, struct date *_dt);
38fa183770SWolfgang Helbig struct date	*jdate(int _nd, struct date *_dt);
39fa183770SWolfgang Helbig int		 ndaysg(struct date *_dt);
40fa183770SWolfgang Helbig int		 ndaysj(struct date *_dt);
41306a501fSWolfgang Helbig int		 week(int _nd, int *_year);
42306a501fSWolfgang Helbig int		 weekday(int _nd);
43