Merge branch 'cde-fixups-1' of ssh://git.code.sf.net/p/cdesktopenv/code into cde...
[oweals/cde.git] / cde / lib / csa / match.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these libraries and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /* $XConsortium: match.h /main/1 1996/04/21 19:23:51 drk $ */
24 /*
25  *  (c) Copyright 1993, 1994 Hewlett-Packard Company
26  *  (c) Copyright 1993, 1994 International Business Machines Corp.
27  *  (c) Copyright 1993, 1994 Novell, Inc.
28  *  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
29  */
30
31 #ifndef _MATCH_H
32 #define _MATCH_H
33
34 #include <EUSCompat.h>
35 #include "ansi_c.h"
36 #include "cm.h"
37 #include "rtable4.h"
38
39 extern CSA_return_code _DtCmHashCriteria P((
40                         _DtCmNameTable  *tbl,
41                         CSA_uint32      num_attrs,
42                         CSA_attribute   *csaattrs,
43                         cms_attribute   *cmsattrs,
44                         CSA_enum        *ops,
45                         boolean_t       *no_match,
46                         boolean_t       *no_start_time_range,
47                         boolean_t       *no_end_time_range,
48                         time_t          *start1,
49                         time_t          *start2,
50                         time_t          *end1,
51                         time_t          *end2,
52                         long            *id,
53                         CSA_uint32      *hnum,
54                         cms_attribute   **hattrs,
55                         CSA_enum        **hops));
56
57 extern void _DtCmFreeHashedArrays P((
58                         CSA_uint32      hnum,
59                         cms_attribute   *hattrs,
60                         CSA_enum        *hops));
61
62 extern Appt_4 *_DtCm_match_appts P((
63                         Appt_4          *appts,
64                         long            id,
65                         boolean_t       no_end_time_range,
66                         time_t          end1,
67                         time_t          end2,
68                         CSA_uint32      num_attrs,
69                         cms_attribute   *attrs,
70                         CSA_enum        *ops));
71
72 extern boolean_t _DtCm_match_one_appt(
73                         Appt_4 *appt,
74                         uint num_attrs,
75                         cms_attribute * attrs,
76                         CSA_enum *ops);
77
78 extern Reminder_4 *_DtCm_match_reminders P((
79                         Reminder_4 *rems,
80                         uint num_names,
81                         char **names));
82
83 extern CSA_return_code _DtCm_check_operator P((
84                         uint size,
85                         CSA_attribute *csaattrs,
86                         cms_attribute *cmsattrs,
87                         CSA_enum *ops));
88
89 extern boolean_t _DtCm_match_sint32_attribute P((
90                         cms_attribute_value *val1,
91                         cms_attribute_value *val2,
92                         CSA_enum op));
93
94 extern boolean_t _DtCm_match_uint32_attribute P((
95                         cms_attribute_value *val1,
96                         cms_attribute_value *val2,
97                         CSA_enum op));
98
99 extern boolean_t _DtCm_match_time_attribute P((
100                         cms_attribute_value *val1,
101                         cms_attribute_value *val2,
102                         CSA_enum op));
103
104 extern boolean_t _DtCm_match_time_duration_attribute P((
105                         cms_attribute_value *val1,
106                         cms_attribute_value *val2,
107                         CSA_enum op));
108
109 extern boolean_t _DtCm_match_string_attribute P((
110                         cms_attribute_value *val1,
111                         cms_attribute_value *val2,
112                         CSA_enum op));
113
114 extern boolean_t _DtCm_match_reminder_attribute P((
115                         cms_attribute_value *val1,
116                         cms_attribute_value *val2,
117                         CSA_enum op));
118
119 #endif