Spelling fixes
[oweals/cde.git] / cde / lib / csa / csa.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: csa.h /main/1 1996/04/21 19:23:01 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 _CSA_H
32 #define _CSA_H
33
34 /* BEGIN CSA INTERFACE */
35
36 /* BASIC DATA TYPES */
37
38 #ifndef DIFFERENT_PLATFORM
39 typedef short           CSA_sint16;
40 typedef long            CSA_sint32;
41 typedef unsigned char   CSA_uint8;
42 typedef unsigned short  CSA_uint16;
43 typedef unsigned long   CSA_uint32;
44 typedef void            *CSA_buffer;
45 typedef CSA_uint32      CSA_entry_handle;
46 typedef CSA_uint32      CSA_session_handle;
47 typedef char            *CSA_string;
48 #endif
49
50 typedef CSA_string      CSA_attribute_reference;
51 typedef CSA_uint32      CSA_boolean;
52 typedef CSA_string      CSA_date_time;
53 typedef CSA_string      CSA_date_time_range;
54 typedef CSA_sint32      CSA_enum;
55 typedef CSA_uint32      CSA_flags;
56 typedef CSA_uint32      CSA_return_code;
57 typedef CSA_string      CSA_service_reference;
58 typedef CSA_string      CSA_time_duration;
59
60 #define CSA_FALSE       ((CSA_boolean)0)
61 #define CSA_TRUE        ((CSA_boolean)1)
62
63 /* DATA STRUCTURES */
64
65 /* EXTENSION */
66 typedef struct CSA_TAG_EXTENSION {
67         CSA_uint32      item_code;
68         CSA_uint32      item_data;
69         CSA_buffer      item_reference;
70         CSA_flags       extension_flags;
71 } CSA_extension;
72
73 /* EXTENSION FLAGS */
74 #define CSA_EXT_REQUIRED        ((CSA_flags)0x1)
75 #define CSA_EXT_OUTPUT          ((CSA_flags)0x2)
76 #define CSA_EXT_LAST_ELEMENT    ((CSA_flags)0x4)
77
78 /* CALENDAR USER */
79 typedef struct CSA_TAG_CALENDAR_USER{
80         CSA_string      user_name;
81         CSA_enum        user_type;
82         CSA_string      calendar_address;
83         CSA_extension   *calendar_user_extensions;
84 } CSA_calendar_user;
85
86 /* CALENDAR USER TYPE */
87 #define CSA_USER_TYPE_INDIVIDUAL        ((CSA_enum)0)
88 #define CSA_USER_TYPE_GROUP             ((CSA_enum)1)
89 #define CSA_USER_TYPE_RESOURCE          ((CSA_enum)2)
90
91 /* ACCESS LIST */
92 typedef struct CSA_TAG_ACESS_RIGHTS {
93         CSA_calendar_user               *user;
94         CSA_flags                       rights;
95         struct CSA_TAG_ACESS_RIGHTS     *next;
96 } CSA_access_rights, *CSA_access_list;
97
98 /* ACCESS RIGHT FLAGS */
99 #define CSA_FREE_TIME_SEARCH            ((CSA_flags)0x1)
100 #define CSA_VIEW_PUBLIC_ENTRIES         ((CSA_flags)0x2)
101 #define CSA_VIEW_CONFIDENTIAL_ENTRIES   ((CSA_flags)0x4)
102 #define CSA_VIEW_PRIVATE_ENTRIES        ((CSA_flags)0x8)
103 #define CSA_INSERT_PUBLIC_ENTRIES       ((CSA_flags)0x10)
104 #define CSA_INSERT_CONFIDENTIAL_ENTRIES ((CSA_flags)0x20)
105 #define CSA_INSERT_PRIVATE_ENTRIES      ((CSA_flags)0x40)
106 #define CSA_CHANGE_PUBLIC_ENTRIES       ((CSA_flags)0x80)
107 #define CSA_CHANGE_CONFIDENTIAL_ENTRIES ((CSA_flags)0x100)
108 #define CSA_CHANGE_PRIVATE_ENTRIES      ((CSA_flags)0x200)
109 #define CSA_VIEW_CALENDAR_ATTRIBUTES    ((CSA_flags)0x400)
110 #define CSA_INSERT_CALENDAR_ATTRIBUTES  ((CSA_flags)0x800)
111 #define CSA_CHANGE_CALENDAR_ATTRIBUTES  ((CSA_flags)0x1000)
112 #define CSA_ORGANIZER_RIGHTS            ((CSA_flags)0x2000)
113 #define CSA_SPONSOR_RIGHTS              ((CSA_flags)0x4000)
114 #define CSA_OWNER_RIGHTS                ((CSA_flags)0x8000)
115
116 /* access right flags for data version 1, 2, and 3 */
117 #define CSA_X_DT_BROWSE_ACCESS  ((CSA_flags)0x1)
118 #define CSA_X_DT_INSERT_ACCESS  ((CSA_flags)0x2)
119 #define CSA_X_DT_DELETE_ACCESS  ((CSA_flags)0x4)
120
121 /* ATTENDEE LIST */
122 typedef struct CSA_TAG_ATTENDEE {
123         CSA_calendar_user       attendee;
124         CSA_enum                priority;
125         CSA_enum                status;
126         CSA_boolean             rsvp_requested;
127         struct CSA_TAG_ATTENDEE *next;
128 } CSA_attendee, *CSA_attendee_list;
129
130 /* ATTENDEE PRIORITIES */
131 #define CSA_FOR_YOUR_INFORMATION        ((CSA_enum)0)
132 #define CSA_ATTENDANCE_REQUESTED        ((CSA_enum)1)
133 #define CSA_ATTENDANCE_REQUIRED         ((CSA_enum)2)
134 #define CSA_IMMEDIATE_RESPONSE          ((CSA_enum)3)
135
136 /* DATE AND TIME LIST */
137 typedef struct CSA_TAG_DATE_TIME_ITEM {
138         CSA_date_time                   date_time;
139         struct CSA_TAG_DATE_TIME_ITEM   *next;
140 } CSA_date_time_entry, *CSA_date_time_list;
141
142 /* OPAQUE DATA */
143 typedef struct CSA_TAG_OPAQUE_DATA {
144         CSA_uint32      size;
145         CSA_uint8       *data;
146 } CSA_opaque_data;
147
148 /* REMINDER */
149 typedef struct CSA_TAG_REMINDER {
150         CSA_time_duration       lead_time;
151         CSA_time_duration       snooze_time;
152         CSA_uint32              repeat_count;
153         CSA_opaque_data         reminder_data;
154 } CSA_reminder;
155
156 /* ATTRIBUTE */
157 typedef struct CSA_TAG_ATTRIBUTE_ITEM {
158         CSA_enum                        type;
159         union {
160                 CSA_boolean             boolean_value;
161                 CSA_enum                enumerated_value;
162                 CSA_flags               flags_value;
163                 CSA_sint32              sint32_value;
164                 CSA_uint32              uint32_value;
165                 CSA_string              string_value;
166                 CSA_calendar_user       *calendar_user_value;
167                 CSA_date_time           date_time_value;
168                 CSA_date_time_range     date_time_range_value;
169                 CSA_time_duration       time_duration_value;
170                 CSA_access_list         access_list_value;
171                 CSA_attendee_list       attendee_list_value;
172                 CSA_date_time_list      date_time_list_value;
173                 CSA_reminder            *reminder_value;
174                 CSA_opaque_data         *opaque_data_value;
175         } item;
176 } CSA_attribute_value;
177
178 typedef struct CSA_TAG_ATTRIBUTE {
179         CSA_string              name;
180         CSA_attribute_value     *value;
181         CSA_extension           *attribute_extensions;
182 } CSA_attribute;
183
184 /* ATTRIBUTE VALUE TYPE */
185 #define CSA_VALUE_BOOLEAN               ((CSA_enum)0)
186 #define CSA_VALUE_ENUMERATED            ((CSA_enum)1)
187 #define CSA_VALUE_FLAGS                 ((CSA_enum)2)
188 #define CSA_VALUE_SINT32                ((CSA_enum)3)
189 #define CSA_VALUE_UINT32                ((CSA_enum)4)
190 #define CSA_VALUE_STRING                ((CSA_enum)5)
191 #define CSA_VALUE_CALENDAR_USER         ((CSA_enum)6)
192 #define CSA_VALUE_DATE_TIME             ((CSA_enum)7)
193 #define CSA_VALUE_DATE_TIME_RANGE       ((CSA_enum)8)
194 #define CSA_VALUE_TIME_DURATION         ((CSA_enum)9)
195 #define CSA_VALUE_ACCESS_LIST           ((CSA_enum)10)
196 #define CSA_VALUE_ATTENDEE_LIST         ((CSA_enum)11)
197 #define CSA_VALUE_DATE_TIME_LIST        ((CSA_enum)12)
198 #define CSA_VALUE_REMINDER              ((CSA_enum)13)
199 #define CSA_VALUE_OPAQUE_DATA           ((CSA_enum)14)
200
201 /* CALLBACK */
202
203 /* REASON FOR CALLBACK */
204 #define CSA_CB_CALENDAR_LOGON                   ((CSA_flags)0x1)
205 #define CSA_CB_CALENDAR_DELETED                 ((CSA_flags)0x2)
206 #define CSA_CB_CALENDAR_ATTRIBUTE_UPDATED       ((CSA_flags)0x4)
207 #define CSA_CB_ENTRY_ADDED                      ((CSA_flags)0x8)
208 #define CSA_CB_ENTRY_DELETED                    ((CSA_flags)0x10)
209 #define CSA_CB_ENTRY_UPDATED                    ((CSA_flags)0x20)
210
211 /* CALL DATA FOR CSA_CB_CALENDAR_LOGON */
212 typedef struct CSA_TAG_LOGON_CB_DATA {
213         CSA_calendar_user       *user;
214 } CSA_logon_callback_data;
215
216 /* CALL DATA FOR CSA_CB_CALENDAR_DELETED */
217 typedef struct CSA_TAG_CALENDAR_DELETED_CB_DATA {
218         CSA_calendar_user       *user;
219 } CSA_calendar_deleted_callback_data;
220
221 /* CALL DATA FOR CSA_CB_CALENDAR_ATTRIBUTE_UPDATED */
222 typedef struct CSA_TAG_CALENDAR_ATTR_UPDATE_CB_DATA {
223         CSA_calendar_user       *user;
224         CSA_uint32              number_attributes;
225         CSA_attribute_reference *attribute_names;
226 } CSA_calendar_attr_update_callback_data;
227
228 /* CALL DATA FOR CSA_CB_ENTRY_ADDED */
229 typedef struct CSA_TAG_ADD_ENTRY_CB_DATA {
230         CSA_calendar_user       *user;
231         CSA_opaque_data         added_entry_id;
232 } CSA_add_entry_callback_data;
233
234 /* CALL DATA FOR CSA_CB_ENTRY_DELETED */
235 typedef struct CSA_TAG_DELETE_ENTRY_CB_DATA {
236         CSA_calendar_user       *user;
237         CSA_opaque_data         deleted_entry_id;
238         CSA_enum                scope;
239         CSA_date_time           date_and_time;
240 } CSA_delete_entry_callback_data;
241
242 /* CALL DATA FOR CSA_CB_ENTRY_UPDATED */
243 typedef struct CSA_TAG_UPDATE_ENTRY_CB_DATA {
244         CSA_calendar_user       *user;          /* who updated entry? */
245         CSA_opaque_data         old_entry_id;   /* id of updated entry */
246         CSA_opaque_data         new_entry_id;   /* new id after update */
247         CSA_enum                scope;          /* scope of the update op */
248         CSA_date_time           date_and_time;  /* time of first updated */
249 } CSA_update_entry_callback_data;
250
251 /* CALLBACK FUNCTION PROTOTYPE */
252 typedef void (*CSA_callback)(
253         CSA_session_handle      session,
254         CSA_flags               reason,
255         CSA_buffer              call_data,
256         CSA_buffer              client_data,
257         CSA_extension           *callback_extensions);
258
259 /* FREE TIME */
260 typedef struct CSA_TAG_FREE_TIME {
261         CSA_uint32              number_free_time_data;
262         CSA_date_time_range     *free_time_data;
263 } CSA_free_time;
264
265 /* REMINDER REFERENCE */
266 typedef struct CSA_TAG_REMINDER_REFERENCE {
267         CSA_entry_handle        entry;
268         CSA_date_time           run_time;
269         CSA_time_duration       snooze_time;
270         CSA_uint32              repeat_count;
271         CSA_attribute_reference attribute_name;
272 } CSA_reminder_reference;
273
274 /* WORK SCHEDULE */
275 typedef struct CSA_TAG_WORK_SCHEDULE {
276         CSA_date_time           schedule_begin_time;
277         CSA_boolean             cyclic_definition_flag;
278         CSA_date_time           cycle_end_time;
279         CSA_date_time_list      *work_cycle;
280 } CSA_work_schedule;
281
282 /* CSA FUNCTIONS */
283
284 /* CROSS FUNCTION FLAGS */
285
286 /* CLASSIFICATION */
287 #define CSA_CLASS_PUBLIC        ((CSA_enum)0)
288 #define CSA_CLASS_PRIVATE       ((CSA_enum)1)
289 #define CSA_CLASS_CONFIDENTIAL  ((CSA_enum)2)
290
291 /* STATUS */
292 #define CSA_STATUS_ACCEPTED             ((CSA_enum)0)
293 #define CSA_STATUS_NEEDS_ACTION         ((CSA_enum)1)
294 #define CSA_STATUS_SENT                 ((CSA_enum)2)
295 #define CSA_STATUS_TENTATIVE            ((CSA_enum)3)
296 #define CSA_STATUS_CONFIRMED            ((CSA_enum)4)
297 #define CSA_STATUS_REJECTED             ((CSA_enum)5)
298 #define CSA_STATUS_COMPLETED            ((CSA_enum)6)
299 #define CSA_STATUS_DELEGATED            ((CSA_enum)7)
300
301 /* CDE specific status values */
302 #define CSA_X_DT_STATUS_ACTIVE          ((CSA_enum)0x900)
303 #define CSA_X_DT_STATUS_DELETE_PENDING  ((CSA_enum)0x901)
304 #define CSA_X_DT_STATUS_ADD_PENDING     ((CSA_enum)0x902)
305 #define CSA_X_DT_STATUS_COMMITTED       ((CSA_enum)0x903)
306 #define CSA_X_DT_STATUS_CANCELLED       ((CSA_enum)0x904)
307
308 /* SCOPE */
309 #define CSA_SCOPE_ALL           ((CSA_enum)0)
310 #define CSA_SCOPE_ONE           ((CSA_enum)1)
311 #define CSA_SCOPE_FORWARD       ((CSA_enum)2)
312
313 /* OPERATORS */
314 #define CSA_MATCH_ANY                           ((CSA_enum)0)
315 #define CSA_MATCH_EQUAL_TO                      ((CSA_enum)1)
316 #define CSA_MATCH_NOT_EQUAL_TO                  ((CSA_enum)2)
317 #define CSA_MATCH_GREATER_THAN                  ((CSA_enum)3)
318 #define CSA_MATCH_LESS_THAN                     ((CSA_enum)4)
319 #define CSA_MATCH_GREATER_THAN_OR_EQUAL_TO      ((CSA_enum)5)
320 #define CSA_MATCH_LESS_THAN_OR_EQUAL_TO         ((CSA_enum)6)
321 #define CSA_MATCH_CONTAIN                       ((CSA_enum)7)
322
323 /* FREE */
324 CSA_return_code
325 csa_free(
326         CSA_buffer      memory
327 );
328
329 /* LIST CALENDARS */
330 CSA_return_code
331 csa_list_calendars(
332         CSA_service_reference   calendar_service,
333         CSA_uint32              *number_names,
334         CSA_calendar_user       **calendar_names,
335         CSA_extension           *list_calendars_extensions
336 );
337
338 /* LOGOFF */
339 CSA_return_code
340 csa_logoff(
341         CSA_session_handle      session,
342         CSA_extension           *logoff_extensions
343 );
344
345 /* LOGON */
346 CSA_return_code
347 csa_logon(
348         CSA_service_reference   calendar_service,
349         CSA_calendar_user       *user,
350         CSA_string              password,
351         CSA_string              character_set,
352         CSA_string              required_csa_version,
353         CSA_session_handle      *session,
354         CSA_extension           *logon_extensions
355 );
356
357 /* LOOK UP */ /* NOT IMPLEMENTED IN THIS RELEASE */
358 CSA_return_code
359 csa_look_up(
360         CSA_session_handle      session,
361         CSA_calendar_user       *users,
362         CSA_flags               look_up_flags,
363         CSA_uint32              *number_users,
364         CSA_calendar_user       **user_list,
365         CSA_extension           *look_up_extensions
366 );
367
368 #define CSA_LOOKUP_RESOLVE_PREFIX_SEARCH        ((CSA_flags)0x1)
369 #define CSA_LOOKUP_RESOLVE_IDENTITY             ((CSA_flags)0x2)
370
371 /* QUERY CONFIGURATION */
372 CSA_return_code
373 csa_query_configuration(
374         CSA_session_handle      session,
375         CSA_enum                item,
376         CSA_buffer              *reference,
377         CSA_extension           *query_configuration_extensions
378 );
379
380 #define CSA_CONFIG_CHARACTER_SET        ((CSA_enum)0)
381 #define CSA_CONFIG_LINE_TERM            ((CSA_enum)1)
382 #define CSA_CONFIG_DEFAULT_SERVICE      ((CSA_enum)2)
383 #define CSA_CONFIG_DEFAULT_USER         ((CSA_enum)3)
384 #define CSA_CONFIG_REQ_PASSWORD         ((CSA_enum)4)
385 #define CSA_CONFIG_REQ_SERVICE          ((CSA_enum)5)
386 #define CSA_CONFIG_REQ_USER             ((CSA_enum)6)
387 #define CSA_CONFIG_UI_AVAIL             ((CSA_enum)7)
388 #define CSA_CONFIG_VER_IMPLEM           ((CSA_enum)8)
389 #define CSA_CONFIG_VER_SPEC             ((CSA_enum)9)
390
391 #define CSA_LINE_TERM_CRLF              ((CSA_enum)0)
392 #define CSA_LINE_TERM_LF                ((CSA_enum)1)
393 #define CSA_LINE_TERM_CR                ((CSA_enum)2)
394
395 #define CSA_REQUIRED_NO                 ((CSA_enum)0)
396 #define CSA_REQUIRED_OPT                ((CSA_enum)1)
397 #define CSA_REQUIRED_YES                ((CSA_enum)2)
398
399 /* CHARACTER SE IDENTIFIERS */
400 #define CSA_CHARSET_437         "-//XAPIA//CHARSET IBM 437//EN"
401 #define CSA_CHARSET_850         "-//XAPIA//CHARSET IBM 850//EN"
402 #define CSA_CHARSET_1252        "-//XAPIA//CHARSET Microsoft 1252//EN"
403 #define CSA_CHARSET_ISTRING     "-//XAPIA//CHARSET Apple ISTRING//EN"
404 #define CSA_CHARSET_UNICODE     "-//XAPIA//CHARSET UNICODE//EN"
405 #define CSA_CHARSET_T61         "-//XAPIA//CHARSET TSS T61//EN"
406 #define CSA_CHARSET_IA5         "-//XAPIA//CHARSET TSS IA5//EN"
407 #define CSA_CHARSET_ISO_10646   "-//XAPIA//CHARSET ISO 10646//EN"
408 #define CSA_CHARSET_ISO_646     "-//XAPIA//CHARSET ISO 646//EN"
409 #define CSA_CHARSET_iso_8859_1  "-//XAPIA//CHARSET ISO 8859-1//EN"
410
411 /* RESTORE */ /* NOT IMPLEMENTED IN THIS RELEASE */
412 CSA_return_code
413 csa_restore(
414         CSA_session_handle      session,
415         CSA_string              archive_name,
416         CSA_uint32              number_attributes,
417         CSA_attribute           *attributes,
418         CSA_enum                *operators,
419         CSA_extension           *restore_extensions
420 );
421
422 /* SAVE */ /* NOT IMPLEMENTED IN THIS RELEASE */
423 CSA_return_code
424 csa_save(
425         CSA_session_handle      session,
426         CSA_string              archive_name,
427         CSA_uint32              number_attributes,
428         CSA_attribute           *attributes,
429         CSA_enum                *operators,
430         CSA_boolean             delete_entry,
431         CSA_extension           *save_extensions
432 );
433
434 /* ADD CALENDAR */
435 CSA_return_code
436 csa_add_calendar(
437         CSA_session_handle      session,
438         CSA_calendar_user       *user,
439         CSA_uint32              number_attributes,
440         CSA_attribute           *calendar_attributes,
441         CSA_extension           *add_calendar_extensions
442 );
443
444 /* DELETE CALENDAR */
445 CSA_return_code
446 csa_delete_calendar(
447         CSA_session_handle      session,
448         CSA_extension           *delete_calendar_extensions
449 );
450
451 /* LIST CALENDAR ATTRIBUTES */
452 CSA_return_code
453 csa_list_calendar_attributes(
454         CSA_session_handle      session,
455         CSA_uint32              *number_names,
456         CSA_attribute_reference **calendar_attributes_names,
457         CSA_extension           *list_calendar_attributes_extensions
458 );
459
460 /* READ CALENDAR ATTRIBUTES */
461 CSA_return_code
462 csa_read_calendar_attributes(
463         CSA_session_handle      session,
464         CSA_uint32              number_names,
465         CSA_attribute_reference *attribte_names,
466         CSA_uint32              *number_attributes,
467         CSA_attribute           **calendar_attributes,
468         CSA_extension           *read_calendar_attributes_extensions
469 );
470
471 /* REGISTER CALLBACK FUNCTION */
472 CSA_return_code
473 csa_register_callback(
474         CSA_session_handle      session,
475         CSA_flags               reason,
476         CSA_callback            callback,
477         CSA_buffer              client_data,
478         CSA_extension           *register_callback_extensions
479 );
480
481 /* UNREGISTER CALLBACK FUNCTION */
482 CSA_return_code
483 csa_unregister_callback(
484         CSA_session_handle      session,
485         CSA_flags               reason,
486         CSA_callback            callback,
487         CSA_buffer              client_data,
488         CSA_extension           *unregister_callback_extensions
489 );
490
491 /* CALL CALLBACK FUNCTION */
492 CSA_return_code
493 csa_call_callbacks(
494         CSA_session_handle      session,
495         CSA_flags               reason,
496         CSA_extension           *call_callbacks_extensions
497 );
498
499 /* UDPATE CALENDAR ATTRIBUTES */
500 CSA_return_code
501 csa_update_calendar_attributes(
502         CSA_session_handle      session,
503         CSA_uint32              number_attributes,
504         CSA_attribute           *calendar_attributes,
505         CSA_extension           *update_calendar_attributes_extensions
506 );
507
508 /* Add ENTRY */
509 CSA_return_code
510 csa_add_entry(
511         CSA_session_handle      session,
512         CSA_uint32              number_attributes,
513         CSA_attribute           *entry_attributes,
514         CSA_entry_handle        *entry,
515         CSA_extension           *add_entry_extensions
516 );
517
518 /* DELETE ENTRY */
519 CSA_return_code
520 csa_delete_entry(
521         CSA_session_handle      session,
522         CSA_entry_handle        entry,
523         CSA_enum                delete_scope,
524         CSA_extension           *delete_entry_extensions
525 );
526
527 /* FREE TIME SEARCH */ /* NOT IMPLEMENTED IN THIS RELEASE */
528 CSA_return_code
529 csa_free_time_search(
530         CSA_session_handle      session,
531         CSA_date_time_range     date_time_range,
532         CSA_time_duration       time_duration,
533         CSA_uint32              number_users,
534         CSA_calendar_user       *calendar_users,
535         CSA_free_time           **free_time,
536         CSA_extension           *free_time_search_extensions
537 );
538
539 /* LIST ENTRIES */
540 CSA_return_code
541 csa_list_entries(
542         CSA_session_handle      session,
543         CSA_uint32              number_attributes,
544         CSA_attribute           *entry_attributes,
545         CSA_enum                *list_operators,
546         CSA_uint32              *number_entries,
547         CSA_entry_handle        **entries,
548         CSA_extension           *list_entries_extensions
549 );
550
551 /* LIST ENTRY ATTRIBUTES */
552 CSA_return_code
553 csa_list_entry_attributes(
554         CSA_session_handle      session,
555         CSA_entry_handle        entry,
556         CSA_uint32              *number_names,
557         CSA_attribute_reference **entry_attribute_names,
558         CSA_extension           *list_entry_attributes_extensions
559 );
560
561 /* LIST ENTRY SEQUENCE */
562 CSA_return_code
563 csa_list_entry_sequence(
564         CSA_session_handle      session,
565         CSA_entry_handle        entry,
566         CSA_date_time_range     time_range,
567         CSA_uint32              *number_entries,
568         CSA_entry_handle        **entry_list,
569         CSA_extension           *list_entry_sequence_extensions
570 );
571
572 /* READ ENTRY ATTRIBUTES */
573 CSA_return_code
574 csa_read_entry_attributes(
575         CSA_session_handle      session,
576         CSA_entry_handle        entry,
577         CSA_uint32              number_names,
578         CSA_attribute_reference *attribute_names,
579         CSA_uint32              *number_attributes,
580         CSA_attribute           **entry_attributes,
581         CSA_extension           *read_entry_attributes_extensions
582 );
583
584 /* READ NEXT REMINDERS */
585 CSA_return_code
586 csa_read_next_reminder(
587         CSA_session_handle      session,
588         CSA_uint32              number_names,
589         CSA_attribute_reference *reminder_names,
590         CSA_date_time           given_time,
591         CSA_uint32              *number_reminders,
592         CSA_reminder_reference  **reminder_references,
593         CSA_extension           *read_next_reminder_extensions
594 );
595
596 /* UPDATE ENTRY ATTRIBUTES */
597 CSA_return_code
598 csa_update_entry_attributes(
599         CSA_session_handle      session,
600         CSA_entry_handle        entry,
601         CSA_enum                update_scope,
602         CSA_boolean             update_propagation,
603         CSA_uint32              number_attributes,
604         CSA_attribute           *entry_attributes,
605         CSA_entry_handle        *new_entry,
606         CSA_extension           *update_entry_attributes_extensions
607 );
608
609 /* STRING BASED FUNCTIONS */
610
611 /* ADD EVENT */ /* NOT IMPLEMENTED IN THIS RELEASE */
612 CSA_return_code
613 csa_add_event(
614         CSA_service_reference   calendar_service,
615         CSA_string              calendar_address,
616         CSA_string              logon_user,
617         CSA_string              logon_password,
618         CSA_string              attendee,
619         CSA_enum                attendee_priority,
620         CSA_enum                attendee_status,
621         CSA_boolean             attendee_rsvp_requested,
622         CSA_date_time           start_date,
623         CSA_date_time           end_date,
624         CSA_string              organizer,
625         CSA_string              sponsor,
626         CSA_string              summary,
627         CSA_string              description,
628         CSA_string              recurrence_rule,
629         CSA_string              exception_rule,
630         CSA_string              subtype,
631         CSA_enum                classification,
632         CSA_string              delimiters,
633         CSA_string              add_event_extensions
634 );
635
636 /* ADD TODO */ /* NOT IMPLEMENTED IN THIS RELEASE */
637 CSA_return_code
638 csa_add_todo(
639         CSA_service_reference   calendar_service,
640         CSA_string              calendar_address,
641         CSA_string              logon_user,
642         CSA_string              logon_password,
643         CSA_enum                attendee_priority,
644         CSA_enum                attendee_status,
645         CSA_boolean             attendee_rsvp_requested,
646         CSA_date_time           start_date,
647         CSA_date_time           due_date,
648         CSA_uint32              priority,
649         CSA_string              summary,
650         CSA_string              description,
651         CSA_enum                classification,
652         CSA_string              delimiters,
653         CSA_string              add_todo_extensions
654 );
655
656 /* ADD MEMO */ /* NOT IMPLEMENTED IN THIS RELEASE */
657 CSA_return_code
658 csa_add_memo(
659         CSA_service_reference   calendar_service,
660         CSA_string              calendar_address,
661         CSA_string              logon_user,
662         CSA_string              logon_password,
663         CSA_date_time           start_date,
664         CSA_string              summary,
665         CSA_string              delimiters,
666         CSA_string              add_memo_extensions
667 );
668
669 /* RETURN ERROR FLAGS */
670 #define CSA_ERROR_RSV_MASK      ((CSA_return_code)0x0000FFFF)
671 #define CSA_ERROR_IMPL_MASK     ((CSA_return_code)0xFFFF0000)
672
673 /* macro to get XAPIA CSA return code */
674 #define CSA_X_DT_CSA_RETURN_CODE(c) \
675          ((CSA_return_code)((c) & CSA_ERROR_RSV_MASK))
676
677 /* RETURN CODES */
678 #define CSA_SUCCESS                             ((CSA_return_code)0)
679
680 #define CSA_E_AMBIGUOUS_USER                    ((CSA_return_code)1)
681 #define CSA_E_CALENDAR_EXISTS                   ((CSA_return_code)2)
682 #define CSA_E_CALENDAR_NOT_EXIST                ((CSA_return_code)3)
683 #define CSA_E_CALLBACK_NOT_REGISTERED           ((CSA_return_code)4)
684 #define CSA_E_DISK_FULL                         ((CSA_return_code)5)
685 #define CSA_E_FAILURE                           ((CSA_return_code)6)
686 #define CSA_E_FILE_EXIST                        ((CSA_return_code)7)
687 #define CSA_E_FILE_NOT_EXIST                    ((CSA_return_code)8)
688 #define CSA_E_INSUFFICIENT_MEMORY               ((CSA_return_code)9)
689 #define CSA_E_INVALID_ATTRIBUTE                 ((CSA_return_code)10)
690 #define CSA_E_INVALID_ATTRIBUTE_VALUE           ((CSA_return_code)11)
691 #define CSA_E_INVALID_CALENDAR_SERVICE          ((CSA_return_code)12)
692 #define CSA_E_INVALID_CONFIGURATION             ((CSA_return_code)13)
693 #define CSA_E_INVALID_DATA_EXT                  ((CSA_return_code)14)
694 #define CSA_E_INVALID_DATE_TIME                 ((CSA_return_code)15)
695 #define CSA_E_INVALID_ENTRY_HANDLE              ((CSA_return_code)16)
696 #define CSA_E_INVALID_ENUM                      ((CSA_return_code)17)
697 #define CSA_E_INVALID_FILE_NAME                 ((CSA_return_code)18)
698 #define CSA_E_INVALID_FLAG                      ((CSA_return_code)19)
699 #define CSA_E_INVALID_FUNCTION_EXT              ((CSA_return_code)20)
700 #define CSA_E_INVALID_MEMORY                    ((CSA_return_code)21)
701 #define CSA_E_INVALID_PARAMETER                 ((CSA_return_code)22)
702 #define CSA_E_INVALID_PASSWORD                  ((CSA_return_code)23)
703 #define CSA_E_INVALID_RULE                      ((CSA_return_code)24)
704 #define CSA_E_INVALID_SESSION_HANDLE            ((CSA_return_code)25)
705 #define CSA_E_INVALID_USER                      ((CSA_return_code)26)
706 #define CSA_E_NO_AUTHORITY                      ((CSA_return_code)27)
707 #define CSA_E_NOT_SUPPORTED                     ((CSA_return_code)28)
708 #define CSA_E_PASSWORD_REQUIRED                 ((CSA_return_code)29)
709 #define CSA_E_READONLY                          ((CSA_return_code)30)
710 #define CSA_E_SERVICE_UNAVAILABLE               ((CSA_return_code)31)
711 #define CSA_E_TEXT_TOO_LARGE                    ((CSA_return_code)32)
712 #define CSA_E_TOO_MANY_USERS                    ((CSA_return_code)33)
713 #define CSA_E_UNABLE_TO_OPEN_FILE               ((CSA_return_code)34)
714 #define CSA_E_UNSUPPORTED_ATTRIBUTE             ((CSA_return_code)35)
715 #define CSA_E_UNSUPPORTED_CHARACTER_SET         ((CSA_return_code)36)
716 #define CSA_E_UNSUPPORTED_DATA_EXT              ((CSA_return_code)37)
717 #define CSA_E_UNSUPPORTED_ENUM                  ((CSA_return_code)38)
718 #define CSA_E_UNSUPPORTED_FLAG                  ((CSA_return_code)39)
719 #define CSA_E_UNSUPPORTED_FUNCTION_EXT          ((CSA_return_code)40)
720 #define CSA_E_UNSUPPORTED_PARAMETER             ((CSA_return_code)41)
721 #define CSA_E_UNSUPPORTED_VERSION               ((CSA_return_code)42)
722 #define CSA_E_USER_NOT_FOUND                    ((CSA_return_code)43)
723 #define CSA_E_TIME_ONLY                         ((CSA_return_code)44)
724
725 #define CSA_X_DT_E_BACKING_STORE_PROBLEM        ((CSA_return_code)0x900001F)
726 #define CSA_X_DT_E_ENTRY_NOT_FOUND              ((CSA_return_code)0x9010010)
727 #define CSA_X_DT_E_INVALID_SERVER_LOCATION      ((CSA_return_code)0x902000C)
728 #define CSA_X_DT_E_SERVER_TIMEOUT               ((CSA_return_code)0x903001F)
729 #define CSA_X_DT_E_SERVICE_NOT_REGISTERED       ((CSA_return_code)0x904001F)
730
731 /* CALENDAR ATTRIBUTES */
732
733 extern char *_CSA_calendar_attribute_names[];
734
735 /* CALENDAR ATTRIBUTE NAMES */
736
737 #define CSA_CAL_ATTR_ACCESS_LIST_I      1
738 #define CSA_CAL_ATTR_ACCESS_LIST \
739          _CSA_calendar_attribute_names[CSA_CAL_ATTR_ACCESS_LIST_I]
740   /* "-//XAPIA/CSA/CALATTR//NONSGML Access List//EN" */
741
742 #define CSA_CAL_ATTR_CALENDAR_NAME_I    2
743 #define CSA_CAL_ATTR_CALENDAR_NAME \
744          _CSA_calendar_attribute_names[CSA_CAL_ATTR_CALENDAR_NAME_I]
745   /* "-//XAPIA/CSA/CALATTR//NONSGML Calendar Name//EN" */
746
747 #define CSA_CAL_ATTR_CALENDAR_OWNER_I   3
748 #define CSA_CAL_ATTR_CALENDAR_OWNER \
749          _CSA_calendar_attribute_names[CSA_CAL_ATTR_CALENDAR_OWNER_I]
750   /* "-//XAPIA/CSA/CALATTR//NONSGML Calendar Owner//EN" */
751
752 #define CSA_CAL_ATTR_CALENDAR_SIZE_I    4
753 #define CSA_CAL_ATTR_CALENDAR_SIZE \
754          _CSA_calendar_attribute_names[CSA_CAL_ATTR_CALENDAR_SIZE_I]
755   /* "-//XAPIA/CSA/CALATTR//NONSGML Calendar Size//EN" */
756
757 #define CSA_CAL_ATTR_CHARACTER_SET_I    5
758 #define CSA_CAL_ATTR_CHARACTER_SET \
759          _CSA_calendar_attribute_names[CSA_CAL_ATTR_CHARACTER_SET_I]
760   /* "-//XAPIA/CSA/CALATTR//NONSGML Character Set//EN" */
761
762 #define CSA_CAL_ATTR_COUNTRY_I          6
763 #define CSA_CAL_ATTR_COUNTRY \
764          _CSA_calendar_attribute_names[CSA_CAL_ATTR_COUNTRY_I]
765   /* "-//XAPIA/CSA/CALATTR//NONSGML Country//EN" */
766
767 #define CSA_CAL_ATTR_DATE_CREATED_I     7
768 #define CSA_CAL_ATTR_DATE_CREATED \
769          _CSA_calendar_attribute_names[CSA_CAL_ATTR_DATE_CREATED_I]
770   /* "-//XAPIA/CSA/CALATTR//NONSGML Date Created//EN" */
771
772 #define CSA_CAL_ATTR_LANGUAGE_I         8
773 #define CSA_CAL_ATTR_LANGUAGE \
774          _CSA_calendar_attribute_names[CSA_CAL_ATTR_LANGUAGE_I]
775   /* "-//XAPIA/CSA/CALATTR//NONSGML Language//EN" */
776
777 #define CSA_CAL_ATTR_NUMBER_ENTRIES_I   9
778 #define CSA_CAL_ATTR_NUMBER_ENTRIES \
779          _CSA_calendar_attribute_names[CSA_CAL_ATTR_NUMBER_ENTRIES_I]
780   /* "-//XAPIA/CSA/CALATTR//NONSGML Number Entries//EN" */
781
782 #define CSA_CAL_ATTR_PRODUCT_IDENTIFIER_I       10
783 #define CSA_CAL_ATTR_PRODUCT_IDENTIFIER \
784          _CSA_calendar_attribute_names[CSA_CAL_ATTR_PRODUCT_IDENTIFIER_I]
785   /* "-//XAPIA/CSA/CALATTR//NONSGML Product Identifier//EN" */
786
787 #define CSA_CAL_ATTR_TIME_ZONE_I        11
788 #define CSA_CAL_ATTR_TIME_ZONE \
789          _CSA_calendar_attribute_names[CSA_CAL_ATTR_TIME_ZONE_I]
790   /* "-//XAPIA/CSA/CALATTR//NONSGML Time Zone//EN" */
791
792 #define CSA_CAL_ATTR_VERSION_I          12
793 #define CSA_CAL_ATTR_VERSION \
794          _CSA_calendar_attribute_names[CSA_CAL_ATTR_VERSION_I]
795   /* "-//XAPIA/CSA/CALATTR//NONSGML Version//EN" */
796
797 #define CSA_CAL_ATTR_WORK_SCHEDULE_I    13
798 #define CSA_CAL_ATTR_WORK_SCHEDULE \
799          _CSA_calendar_attribute_names[CSA_CAL_ATTR_WORK_SCHEDULE_I]
800   /* "-//XAPIA/CSA/CALATTR//NONSGML Work Schedule//EN" */
801
802 #define CSA_X_DT_CAL_ATTR_SERVER_VERSION_I      14
803 #define CSA_X_DT_CAL_ATTR_SERVER_VERSION \
804          _CSA_calendar_attribute_names[CSA_X_DT_CAL_ATTR_SERVER_VERSION_I]
805   /* "-//CDE_XAPIA_PRIVATE/CSA/CALATTR//NONSGML Server Version//EN" */
806
807 #define CSA_X_DT_CAL_ATTR_DATA_VERSION_I        15
808 #define CSA_X_DT_CAL_ATTR_DATA_VERSION \
809          _CSA_calendar_attribute_names[CSA_X_DT_CAL_ATTR_DATA_VERSION_I]
810   /* "-//CDE_XAPIA_PRIVATE/CSA/CALATTR//NONSGML Data Version//EN" */
811
812 #define CSA_X_DT_CAL_ATTR_CAL_DELIMITER_I       16
813 #define CSA_X_DT_CAL_ATTR_CAL_DELIMITER \
814          _CSA_calendar_attribute_names[CSA_X_DT_CAL_ATTR_CAL_DELIMITER_I]
815   /* "-//CDE_XAPIA_PRIVATE/CSA/CALATTR//NONSGML Calendar Delimiter//EN" */
816
817
818 /* ENTRY ATTRIBUTES */
819
820 extern char *_CSA_entry_attribute_names[];
821
822 /* ENTRY ATTRIBUTES NAMES */
823
824 #define CSA_ENTRY_ATTR_ATTENDEE_LIST_I          1
825 #define CSA_ENTRY_ATTR_ATTENDEE_LIST \
826          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_ATTENDEE_LIST_I]
827   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Attendee List//EN" */
828
829 #define CSA_ENTRY_ATTR_AUDIO_REMINDER_I         2
830 #define CSA_ENTRY_ATTR_AUDIO_REMINDER \
831          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_AUDIO_REMINDER_I]
832   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Audio Reminder//EN" */
833
834 #define CSA_ENTRY_ATTR_CLASSIFICATION_I         3
835 #define CSA_ENTRY_ATTR_CLASSIFICATION \
836          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_CLASSIFICATION_I]
837   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Classification//EN" */
838
839 #define CSA_ENTRY_ATTR_DATE_COMPLETED_I         4
840 #define CSA_ENTRY_ATTR_DATE_COMPLETED \
841          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_DATE_COMPLETED_I]
842   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Date Completed//EN" */
843
844 #define CSA_ENTRY_ATTR_DATE_CREATED_I           5
845 #define CSA_ENTRY_ATTR_DATE_CREATED \
846          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_DATE_CREATED_I]
847   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Date Created//EN" */
848
849 #define CSA_ENTRY_ATTR_DESCRIPTION_I            6
850 #define CSA_ENTRY_ATTR_DESCRIPTION \
851          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_DESCRIPTION_I]
852   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Description//EN" */
853
854 #define CSA_ENTRY_ATTR_DUE_DATE_I               7
855 #define CSA_ENTRY_ATTR_DUE_DATE \
856          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_DUE_DATE_I]
857   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Due Date//EN" */
858
859 #define CSA_ENTRY_ATTR_END_DATE_I               8
860 #define CSA_ENTRY_ATTR_END_DATE \
861          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_END_DATE_I]
862   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML End Date//EN" */
863
864 #define CSA_ENTRY_ATTR_EXCEPTION_DATES_I        9
865 #define CSA_ENTRY_ATTR_EXCEPTION_DATES \
866          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_EXCEPTION_DATES_I]
867   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Exception Dates//EN" */
868
869 #define CSA_ENTRY_ATTR_EXCEPTION_RULE_I         10
870 #define CSA_ENTRY_ATTR_EXCEPTION_RULE \
871          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_EXCEPTION_RULE_I]
872   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Exception Rule//EN" */
873
874 #define CSA_ENTRY_ATTR_FLASHING_REMINDER_I      11
875 #define CSA_ENTRY_ATTR_FLASHING_REMINDER \
876          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_FLASHING_REMINDER_I]
877   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Flashing Reminder//EN" */
878
879 #define CSA_ENTRY_ATTR_LAST_UPDATE_I            12
880 #define CSA_ENTRY_ATTR_LAST_UPDATE \
881          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_LAST_UPDATE_I]
882   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Last Update//EN" */
883
884 #define CSA_ENTRY_ATTR_MAIL_REMINDER_I          13
885 #define CSA_ENTRY_ATTR_MAIL_REMINDER \
886          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_MAIL_REMINDER_I]
887   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Mail Reminder//EN" */
888
889 #define CSA_ENTRY_ATTR_NUMBER_RECURRENCES_I     14
890 #define CSA_ENTRY_ATTR_NUMBER_RECURRENCES \
891          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_NUMBER_RECURRENCES_I]
892   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Number Recurrences//EN" */
893
894 #define CSA_ENTRY_ATTR_ORGANIZER_I              15
895 #define CSA_ENTRY_ATTR_ORGANIZER \
896          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_ORGANIZER_I]
897   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Organizer//EN" */
898
899 #define CSA_ENTRY_ATTR_POPUP_REMINDER_I         16
900 #define CSA_ENTRY_ATTR_POPUP_REMINDER \
901          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_POPUP_REMINDER_I]
902   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Popup Reminder//EN" */
903
904 #define CSA_ENTRY_ATTR_PRIORITY_I               17
905 #define CSA_ENTRY_ATTR_PRIORITY \
906          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_PRIORITY_I]
907   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Priority//EN" */
908
909 #define CSA_ENTRY_ATTR_RECURRENCE_RULE_I        18
910 #define CSA_ENTRY_ATTR_RECURRENCE_RULE \
911          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_RECURRENCE_RULE_I]
912   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Recurrence Rule//EN" */
913
914 #define CSA_ENTRY_ATTR_RECURRING_DATES_I        19
915 #define CSA_ENTRY_ATTR_RECURRING_DATES \
916          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_RECURRING_DATES_I]
917   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Recurring Dates//EN" */
918
919 #define CSA_ENTRY_ATTR_REFERENCE_IDENTIFIER_I   20
920 #define CSA_ENTRY_ATTR_REFERENCE_IDENTIFIER \
921          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_REFERENCE_IDENTIFIER_I]
922   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Reference Identifier//EN" */
923
924 #define CSA_ENTRY_ATTR_SEQUENCE_NUMBER_I        21
925 #define CSA_ENTRY_ATTR_SEQUENCE_NUMBER \
926          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_SEQUENCE_NUMBER_I]
927   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Sequence Number//EN" */
928
929 #define CSA_ENTRY_ATTR_SPONSOR_I                22
930 #define CSA_ENTRY_ATTR_SPONSOR \
931          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_SPONSOR_I]
932   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Sponsor//EN" */
933
934 #define CSA_ENTRY_ATTR_START_DATE_I             23
935 #define CSA_ENTRY_ATTR_START_DATE \
936          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_START_DATE_I]
937   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Start Date//EN" */
938
939 #define CSA_ENTRY_ATTR_STATUS_I                 24
940 #define CSA_ENTRY_ATTR_STATUS \
941          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_STATUS_I]
942   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Status//EN" */
943
944 #define CSA_ENTRY_ATTR_SUBTYPE_I                25
945 #define CSA_ENTRY_ATTR_SUBTYPE \
946          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_SUBTYPE_I]
947   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Subtype//EN" */
948
949 #define CSA_ENTRY_ATTR_SUMMARY_I                26
950 #define CSA_ENTRY_ATTR_SUMMARY \
951          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_SUMMARY_I]
952   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Summary//EN" */
953
954 #define CSA_ENTRY_ATTR_TIME_TRANSPARENCY_I      27
955 #define CSA_ENTRY_ATTR_TIME_TRANSPARENCY \
956          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_TIME_TRANSPARENCY_I]
957   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Time Transparency//EN" */
958
959 #define CSA_ENTRY_ATTR_TYPE_I                   28
960 #define CSA_ENTRY_ATTR_TYPE \
961          _CSA_entry_attribute_names[CSA_ENTRY_ATTR_TYPE_I]
962   /* "-//XAPIA/CSA/ENTRYATTR//NONSGML Type//EN" */
963
964 /* cde defined entry attributes */
965 #define CSA_X_DT_ENTRY_ATTR_SHOWTIME_I                  29
966 #define CSA_X_DT_ENTRY_ATTR_SHOWTIME \
967          _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_SHOWTIME_I]
968   /* "-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Show Time//EN" */
969
970 #define CSA_X_DT_ENTRY_ATTR_REPEAT_TYPE_I               30
971 #define CSA_X_DT_ENTRY_ATTR_REPEAT_TYPE \
972          _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_REPEAT_TYPE_I]
973   /* "-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Repeat Type//EN" */
974
975 #define CSA_X_DT_ENTRY_ATTR_REPEAT_TIMES_I              31
976 #define CSA_X_DT_ENTRY_ATTR_REPEAT_TIMES \
977          _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_REPEAT_TIMES_I]
978   /* "-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Repeat Times//EN" */
979
980 #define CSA_X_DT_ENTRY_ATTR_REPEAT_INTERVAL_I           32
981 #define CSA_X_DT_ENTRY_ATTR_REPEAT_INTERVAL \
982          _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_REPEAT_INTERVAL_I]
983   /* "-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Repeat Interval//EN" */
984
985 #define CSA_X_DT_ENTRY_ATTR_REPEAT_OCCURRENCE_NUM_I     33
986 #define CSA_X_DT_ENTRY_ATTR_REPEAT_OCCURRENCE_NUM \
987          _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_REPEAT_OCCURRENCE_NUM_I]
988   /*"-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Repeat Occurrence Number//EN"*/
989
990 #define CSA_X_DT_ENTRY_ATTR_SEQUENCE_END_DATE_I         34
991 #define CSA_X_DT_ENTRY_ATTR_SEQUENCE_END_DATE \
992          _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_SEQUENCE_END_DATE_I]
993   /* "-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Sequence End Date//EN" */
994
995 #define CSA_X_DT_ENTRY_ATTR_ENTRY_DELIMITER_I           35
996 #define CSA_X_DT_ENTRY_ATTR_ENTRY_DELIMITER \
997          _CSA_entry_attribute_names[CSA_X_DT_ENTRY_ATTR_ENTRY_DELIMITER_I]
998   /* "-//CDE_XAPIA_PRIVATE/CSA/ENTRYATTR//NONSGML Entry Delimiter//EN" */
999
1000 /*
1001  * values for entry attribute CSA_ENTRY_ATTR_TYPE
1002  */
1003
1004 #define CSA_TYPE_EVENT          ((CSA_enum)0)
1005 #define CSA_TYPE_TODO           ((CSA_enum)1)
1006 #define CSA_TYPE_MEMO           ((CSA_enum)2)
1007 #define CSA_X_DT_TYPE_OTHER     ((CSA_enum)900)
1008
1009 /*
1010  * values for entry attribute CSA_ENTRY_ATTR_SUBTYPE
1011  */
1012
1013 extern char *_CSA_entry_subtype_values[];
1014
1015 #define CSA_SUBTYPE_APPOINTMENT_I       0
1016 #define CSA_SUBTYPE_APPOINTMENT \
1017          _CSA_entry_subtype_values[CSA_SUBTYPE_APPOINTMENT_I]
1018   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Appointment//EN" */
1019
1020 #define CSA_SUBTYPE_CLASS_I             1
1021 #define CSA_SUBTYPE_CLASS \
1022          _CSA_entry_subtype_values[CSA_SUBTYPE_CLASS_I]
1023   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Class//EN" */
1024
1025 #define CSA_SUBTYPE_HOLIDAY_I           2
1026 #define CSA_SUBTYPE_HOLIDAY \
1027          _CSA_entry_subtype_values[CSA_SUBTYPE_HOLIDAY_I]
1028   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Holiday//EN" */
1029
1030 #define CSA_SUBTYPE_MEETING_I           3
1031 #define CSA_SUBTYPE_MEETING \
1032          _CSA_entry_subtype_values[CSA_SUBTYPE_MEETING_I]
1033   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Meeting//EN" */
1034
1035 #define CSA_SUBTYPE_MISCELLANEOUS_I     4
1036 #define CSA_SUBTYPE_MISCELLANEOUS \
1037          _CSA_entry_subtype_values[CSA_SUBTYPE_MISCELLANEOUS_I]
1038   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Miscellaneous//EN" */
1039
1040 #define CSA_SUBTYPE_PHONE_CALL_I        5
1041 #define CSA_SUBTYPE_PHONE_CALL \
1042          _CSA_entry_subtype_values[CSA_SUBTYPE_PHONE_CALL_I]
1043   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Phone Call//EN" */
1044
1045 #define CSA_SUBTYPE_SICK_DAY_I          6
1046 #define CSA_SUBTYPE_SICK_DAY \
1047          _CSA_entry_subtype_values[CSA_SUBTYPE_SICK_DAY_I]
1048   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Sick Day//EN" */
1049
1050 #define CSA_SUBTYPE_SPECIAL_OCCASION_I  7
1051 #define CSA_SUBTYPE_SPECIAL_OCCASION \
1052          _CSA_entry_subtype_values[CSA_SUBTYPE_SPECIAL_OCCASION_I]
1053   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Special Occasion//EN" */
1054
1055 #define CSA_SUBTYPE_TRAVEL_I            8
1056 #define CSA_SUBTYPE_TRAVEL \
1057          _CSA_entry_subtype_values[CSA_SUBTYPE_TRAVEL_I]
1058   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Travel//EN" */
1059
1060 #define CSA_SUBTYPE_VACATION_I          9
1061 #define CSA_SUBTYPE_VACATION \
1062          _CSA_entry_subtype_values[CSA_SUBTYPE_VACATION_I]
1063   /* "-//XAPIA/CSA/SUBTYPE//NONSGML Subtype Vacation//EN" */
1064
1065 /*
1066  * special value for CSA_X_DT_ENTRY_ATTR_REPEAT_TIMES
1067  */
1068
1069 #define CSA_X_DT_DT_REPEAT_FOREVER      0
1070
1071 /*
1072  * Values for entry attribute CSA_X_DT_ENTRY_ATTR_REPEAT_TYPE
1073  */
1074
1075 #define CSA_X_DT_REPEAT_ONETIME                 ((CSA_enum)0)
1076 #define CSA_X_DT_REPEAT_DAILY                   ((CSA_enum)1)
1077 #define CSA_X_DT_REPEAT_WEEKLY                  ((CSA_enum)2)
1078 #define CSA_X_DT_REPEAT_BIWEEKLY                ((CSA_enum)3)
1079 #define CSA_X_DT_REPEAT_MONTHLY_BY_WEEKDAY      ((CSA_enum)4)
1080 #define CSA_X_DT_REPEAT_MONTHLY_BY_DATE         ((CSA_enum)5)
1081 #define CSA_X_DT_REPEAT_YEARLY                  ((CSA_enum)6)
1082 #define CSA_X_DT_REPEAT_EVERY_NDAY              ((CSA_enum)7)
1083 #define CSA_X_DT_REPEAT_EVERY_NWEEK             ((CSA_enum)8)
1084 #define CSA_X_DT_REPEAT_EVERY_NMONTH            ((CSA_enum)9)
1085 #define CSA_X_DT_REPEAT_MON_TO_FRI              ((CSA_enum)10)
1086 #define CSA_X_DT_REPEAT_MONWEDFRI               ((CSA_enum)11)
1087 #define CSA_X_DT_REPEAT_TUETHUR                 ((CSA_enum)12)
1088 #define CSA_X_DT_REPEAT_WEEKDAYCOMBO            ((CSA_enum)13)
1089 #define CSA_X_DT_REPEAT_OTHER                   ((CSA_enum)14)
1090 #define CSA_X_DT_REPEAT_OTHER_WEEKLY            ((CSA_enum)15)
1091 #define CSA_X_DT_REPEAT_OTHER_MONTHLY           ((CSA_enum)16)
1092 #define CSA_X_DT_REPEAT_OTHER_YEARLY            ((CSA_enum)17)
1093
1094 /* COMMON EXTENSIONS DECLARATIONS */
1095
1096 /* EXTENSION SET ID */
1097
1098 /* Common Extension Set */
1099 #define CSA_XS_COM                      ((CSA_uint32)0)
1100
1101 /* Bilateral Extension Set */
1102 #define CSA_XS_BLT                      ((CSA_uint32)256)
1103
1104 /* FUNCTION EXTENSIONS */
1105
1106 /* Query for extension support in implementation */
1107
1108 #define CSA_X_COM_SUPPORT_EXT           ((CSA_uint32)1)
1109
1110 typedef struct CSA_TAG_XCOM {
1111         CSA_uint32      item_code;
1112         CSA_flags       flags;
1113 } CSA_X_COM_support;
1114
1115 #define CSA_X_COM_SUPPORTED             ((CSA_flags)0x1)
1116 #define CSA_X_COM_NOT_SUPPORTED         ((CSA_flags)0x2)
1117 #define CSA_X_COM_DATA_EXT_SUPPORTED    ((CSA_flags)0x4)
1118 #define CSA_X_COM_FUNC_EXT_SUPPORTED    ((CSA_flags)0x8)
1119 #define CSA_X_COM_SUP_EXCLUDE           ((CSA_flags)0x10)
1120
1121 /* UI_ID EXTENSION */
1122
1123 #define CSA_X_UI_ID_EXT                 ((CSA_uint32)2)
1124
1125 /* Extension Flags */
1126 #define CSA_X_LOGON_UI_ALLOWED          ((CSA_flags)0x1)
1127 #define CSA_X_ERROR_UI_ALLOWED          ((CSA_flags)0x2)
1128 #define CSA_X_LOOKUP_RESOLVE_UI         ((CSA_flags)0x4)
1129 #define CSA_X_LOOKUP_DETAILS_UI         ((CSA_flags)0x8)
1130 #define CSA_X_LOOKUP_ADDRESSING_UI      ((CSA_flags)0x10)
1131 #define CSA_X_ADD_DEFINE_ENTRY_UI       ((CSA_flags)0x20)
1132
1133 /* Extension Return Codes */
1134 #define CSA_X_E_INVALID_UI_ID           ((CSA_return_code)1025)
1135 #define CSA_X_E_LOGON_FAILURE           ((CSA_return_code)1026)
1136 #define CSA_X_E_USER_CANCEL             ((CSA_return_code)1027)
1137
1138 /* XT APPLICATION CONTEXT EXTENSION */
1139
1140 #define CSA_X_XT_APP_CONTEXT_EXT        ((CSA_uint32)3)
1141
1142 /* Get User access extension */
1143 #define CSA_XS_DT                       ((CSA_uint32)900)
1144 #define CSA_X_DT_GET_USER_ACCESS_EXT    ((CSA_uint32)901)
1145
1146 #endif
1147