Fix Linux rpc problems with new glibc
[oweals/cde.git] / cde / lib / csa / entry.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: entry.h /main/1 1996/04/21 19:23:13 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 _ENTRY_H
32 #define _ENTRY_H
33
34 /*
35  * This file contains the internal data structure of entries.
36  */
37
38 #include <EUSCompat.h>
39 #include "ansi_c.h"
40 #include "cm.h"
41 #include "calendar.h"
42 #include "rtable4.h"
43
44 typedef struct _libentry {
45         void            *handle;        /* for sanity check */
46         Calendar        *cal;           /* associated calendar */
47         cms_entry       *e;
48         boolean_t       filled;
49         struct _libentry *next;
50         struct _libentry *prev;
51 } _DtCm_libentry;
52
53 /* function prototypes */
54
55 extern _DtCm_libentry *_DtCm_get_libentry P((CSA_entry_handle entryh));
56
57 extern CSA_return_code _DtCm_make_libentry P((
58                                 cms_entry       *cmsentry,
59                                 _DtCm_libentry  **entry_r));
60
61 extern CSA_return_code _DtCm_get_entry_detail P((_DtCm_libentry *entry));
62
63 extern CSA_return_code _DtCm_get_entry_attr_names P((
64                                 _DtCm_libentry *entry,
65                                 CSA_uint32 *num_names_r,
66                                 char **names_r[]));
67
68 extern CSA_return_code _DtCm_get_entry_attrs_by_name P((
69                                 _DtCm_libentry *entry,
70                                 CSA_uint32 num_names,
71                                 CSA_attribute_reference *names,
72                                 CSA_uint32 *num_attrs,
73                                 CSA_attribute **attrs));
74
75 extern CSA_return_code _DtCm_get_all_entry_attrs P((
76                                 _DtCm_libentry *entry,
77                                 CSA_uint32 *num_attrs,
78                                 CSA_attribute **attrs));
79
80 extern CSA_return_code _DtCm_libentry_to_entryh P((
81                                 _DtCm_libentry *elist,
82                                 CSA_uint32 *size,
83                                 CSA_entry_handle **entries_r));
84
85 extern CSA_return_code _DtCmCmsentriesToLibentries P((
86                                 _DtCmNameTable  **tbl,
87                                 cms_entry       *entries,
88                                 _DtCm_libentry  **libentries));
89
90 extern CSA_return_code _DtCm_appt4_to_libentries P((
91                                 char            *calname,
92                                 Appt_4          *appt4,
93                                 _DtCm_libentry  **libentries));
94
95 extern CSA_return_code _DtCm_libentries_to_appt4 P((
96                                 _DtCm_libentry *libentries,
97                                 Appt_4 **appt4));
98
99 extern CSA_return_code _DtCm_reminder4_to_csareminder P((
100                                 Reminder_4 *r4,
101                                 CSA_uint32 *num_rems,
102                                 CSA_reminder_reference **rems));
103
104 extern _DtCm_libentry *_DtCm_convert_entry_wheader P((_DtCm_libentry *entry));
105
106 extern void _DtCm_free_libentries_from_list P((
107                                 _DtCm_libentry *head,
108                                 _DtCm_libentry *tail));
109
110 extern void _DtCm_free_libentries P((_DtCm_libentry *entries));
111
112 extern void _DtCm_free_entry_handles P((
113                                 uint num_entries,
114                                 CSA_entry_handle *entries));
115
116 extern void _DtCm_free_reminder_references P((
117                                 uint num_rems,
118                                 CSA_reminder_reference *rems));
119
120 extern void _DtCm_free_entry_content P((uint dummy, _DtCm_libentry *entry));
121
122 extern CSA_return_code _DtCm_cms2csa_reminder_ref P((
123                                 cms_reminder_ref        *cmsrems,
124                                 CSA_uint32              *num_rems,
125                                 CSA_reminder_reference  **csarems));
126
127 #endif