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