Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / programs / dtcm / server / repeat.h
1 /* $XConsortium: repeat.h /main/4 1995/11/09 12:49:18 rswiston $ */
2 /*
3  *  (c) Copyright 1993, 1994 Hewlett-Packard Company
4  *  (c) Copyright 1993, 1994 International Business Machines Corp.
5  *  (c) Copyright 1993, 1994 Novell, Inc.
6  *  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
7  */
8
9 #ifndef _REPEAT_H
10 #define _REPEAT_H
11
12 #include <EUSCompat.h>
13 #include "ansi_c.h"
14 #include "cm.h"
15 #include "rtable4.h"
16 #include "rerule.h"
17
18 typedef time_t  Tick;
19
20 extern int      monthdays[];
21
22 extern void init_time P(());
23
24 extern time_t _DtCms_closest_tick_v4 P((time_t target,
25                                         time_t ftick,
26                                         Period_4 period,
27                                         int *ordinal));
28
29 extern time_t _DtCms_last_tick_v4 P((time_t ftick,
30                                      Period_4 period,
31                                      int ntimes));
32
33 extern time_t _DtCms_next_tick_v4 P((time_t tick, Period_4 period));
34
35 extern time_t _DtCms_prev_tick_v4 P((time_t tick, Period_4 period));
36
37 extern time_t _DtCms_first_tick_v4 P((time_t t, Period_4 period, int ordinal));
38
39 extern void _DtCms_adjust_appt_startdate P((Appt_4 *appt));
40
41 extern time_t next_nmins P((time_t t, int m));
42
43 extern time_t next_ndays P((time_t t, int n));
44
45 extern int _DtCms_marked_4_cancellation P((Appt_4 *a, int i));
46
47 extern int _DtCms_get_new_ntimes_v4 P((Period_4 period,
48                                        time_t tick,
49                                        int ninstance));
50
51 extern int _DtCms_get_ninstance_v4 P((Appt_4 *appt));
52
53 extern int _DtCms_in_repeater P((Id_4 *key,
54                                  Appt_4 *p_appt,
55                                  boolean_t dont_care_cancel));
56
57 extern int      monthlength             P((Tick));
58 extern int      leapyr                  P((int));
59 extern int      fdom                    P((Tick));
60 extern int      ldom                    P((Tick));
61
62 /*
63  * returns the tick of the beginning of the day
64  */
65 extern time_t _DtCmsBeginOfDay(time_t t);
66
67 /*
68  * return the tick since begin of day
69  */
70 extern time_t _DtCmsTimeOfDay(time_t t);
71
72 /*
73  * routines to deal with recurrence rule and exception dates
74  */
75 extern boolean_t _DtCmsInExceptionList P((cms_entry *eptr, time_t tick));
76
77 #endif