2
0

csa.h 37 KB

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