2
0

cm.h 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706
  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: cm.h /main/1 1996/04/21 19:21:53 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 _CM_H
  31. #define _CM_H
  32. #ifndef SunOS
  33. #include <rpc/types.h>
  34. #endif /* Sun */
  35. #include <rpc/rpc.h>
  36. #ifdef __cplusplus
  37. extern "C" {
  38. #endif
  39. #include "csa.h"
  40. #include "connection.h"
  41. /*
  42. * cms_name - a user name or calendar name which is
  43. * variable length character string
  44. */
  45. typedef char *cms_name;
  46. /*
  47. * buffer - a variable length character string
  48. */
  49. typedef char *buffer;
  50. /*
  51. * cms_access_entry - data structure for the access list attribute
  52. */
  53. struct cms_access_entry {
  54. cms_name user;
  55. u_int rights;
  56. struct cms_access_entry *next;
  57. };
  58. typedef struct cms_access_entry cms_access_entry;
  59. /*
  60. * cms_attribute_value - data structure for attribute value
  61. */
  62. struct cms_attribute_value {
  63. int type;
  64. union {
  65. CSA_boolean boolean_value;
  66. CSA_enum enumerated_value;
  67. CSA_flags flags_value;
  68. long sint32_value;
  69. unsigned long uint32_value;
  70. char *string_value;
  71. char *calendar_user_value;
  72. char *date_time_value;
  73. char *date_time_range_value;
  74. char *time_duration_value;
  75. cms_access_entry *access_list_value;
  76. CSA_date_time_entry *date_time_list_value;
  77. CSA_reminder *reminder_value;
  78. CSA_opaque_data *opaque_data_value;
  79. } item;
  80. };
  81. typedef struct cms_attribute_value cms_attribute_value;
  82. /*
  83. * cms_key consists of the time and the unique
  84. * identifier of the entry.
  85. */
  86. struct cms_key {
  87. time_t time;
  88. long id;
  89. };
  90. typedef struct cms_key cms_key;
  91. /*
  92. * num contains the hashed number for the associated name assigned
  93. * by the server. Client should not change its value.
  94. * If it's zero, name is not hashed yet.
  95. */
  96. struct cms_attr_name {
  97. short num;
  98. cms_name name;
  99. };
  100. typedef struct cms_attr_name cms_attr_name;
  101. /*
  102. *
  103. */
  104. struct cms_attribute {
  105. cms_attr_name name;
  106. cms_attribute_value *value;
  107. };
  108. typedef struct cms_attribute cms_attribute;
  109. /*
  110. * An entry is identified by an identifier unique within the calendar
  111. * and has a variable number of attributes associated with it.
  112. */
  113. struct cms_entry {
  114. cms_key key;
  115. u_int num_attrs;
  116. cms_attribute *attrs;
  117. struct cms_entry *next;
  118. };
  119. typedef struct cms_entry cms_entry;
  120. /*
  121. * cms_enumerate_calendar_attr_res
  122. *
  123. * If stat is CSA_SUCCESS, names contains an array of names.
  124. */
  125. struct cms_enumerate_calendar_attr_res {
  126. CSA_return_code stat;
  127. u_int num_names;
  128. cms_attr_name *names;
  129. };
  130. typedef struct cms_enumerate_calendar_attr_res cms_enumerate_calendar_attr_res;
  131. /*
  132. * cms_list_calendars_res
  133. *
  134. * If stat is CSA_SUCCESS, names contains an array of names.
  135. */
  136. struct cms_list_calendars_res {
  137. CSA_return_code stat;
  138. u_int num_names;
  139. cms_name *names;
  140. };
  141. typedef struct cms_list_calendars_res cms_list_calendars_res;
  142. /*
  143. * cms_open_args - used by CMS_OPEN_CALENDAR
  144. */
  145. struct cms_open_args {
  146. cms_name cal;
  147. int pid;
  148. };
  149. typedef struct cms_open_args cms_open_args;
  150. /*
  151. * cms_open_res - returned by CMS_OPEN_CALENDAR
  152. *
  153. * If stat is DtCm_OK,
  154. * svr_vers contains the version number of the server,
  155. * file_vers contains the version number of the callog file,
  156. * user_access is the calling user's access right to the calendar
  157. * num_attrs indicates the size of the array pointed to by attrs,
  158. * and attrs contains an array of calendar attributes.
  159. */
  160. struct cms_open_res {
  161. CSA_return_code stat;
  162. int svr_vers;
  163. int file_vers;
  164. u_int user_access;
  165. u_int num_attrs;
  166. cms_attribute *attrs;
  167. };
  168. typedef struct cms_open_res cms_open_res;
  169. /*
  170. * cms_create_args - used by CMS_CREATE_CALENDAR
  171. */
  172. struct cms_create_args {
  173. cms_name cal;
  174. buffer char_set;
  175. int pid;
  176. u_int num_attrs;
  177. cms_attribute *attrs;
  178. };
  179. typedef struct cms_create_args cms_create_args;
  180. /*
  181. * cms_remove_args - used by CMS_REMOVE_CALENDAR
  182. */
  183. struct cms_remove_args {
  184. cms_name cal;
  185. int pid;
  186. };
  187. typedef struct cms_remove_args cms_remove_args;
  188. /*
  189. * cms_register_args - used by CMS_REGISTER and CMS_UNREGISTER
  190. */
  191. struct cms_register_args {
  192. cms_name cal;
  193. u_int update_type;
  194. u_long prognum;
  195. u_long versnum;
  196. u_long procnum;
  197. int pid;
  198. };
  199. typedef struct cms_register_args cms_register_args;
  200. /*
  201. * cms_get_cal_attr_res - used by CMS_GET_CALENDAR_ATTR
  202. *
  203. * If stat is CSA_SUCCESS, attrs contains an array of attributes.
  204. */
  205. struct cms_get_cal_attr_res {
  206. CSA_return_code stat;
  207. u_int num_attrs;
  208. cms_attribute *attrs;
  209. };
  210. typedef struct cms_get_cal_attr_res cms_get_cal_attr_res;
  211. /*
  212. * cms_get_cal_attr_args - used by CMS_GET_CALENDAR_ATTR
  213. */
  214. struct cms_get_cal_attr_args {
  215. cms_name cal;
  216. u_int num_names;
  217. cms_attr_name *names;
  218. };
  219. typedef struct cms_get_cal_attr_args cms_get_cal_attr_args;
  220. /*
  221. * cms_set_cal_attr_args - used by CMS_SET_CALENDAR_ATTR
  222. */
  223. struct cms_set_cal_attr_args {
  224. cms_name cal;
  225. int pid;
  226. u_int num_attrs;
  227. cms_attribute *attrs;
  228. };
  229. typedef struct cms_set_cal_attr_args cms_set_cal_attr_args;
  230. /*
  231. * cms_archive_res - used by CMS_ARCHIVE
  232. *
  233. * If stat is CSA_SUCCESS, data contains the data to be archived
  234. */
  235. struct cms_archive_res {
  236. CSA_return_code stat;
  237. buffer data;
  238. };
  239. typedef struct cms_archive_res cms_archive_res;
  240. /*
  241. * cms_archive_args - used by CMS_ARCHIVE
  242. */
  243. struct cms_archive_args {
  244. cms_name cal;
  245. bool_t delete;
  246. buffer char_set;
  247. CSA_uint32 num_attrs;
  248. cms_attribute *attrs;
  249. CSA_enum *ops;
  250. };
  251. typedef struct cms_archive_args cms_archive_args;
  252. /*
  253. * cms_restore_args - used by CMS_RESTORE
  254. */
  255. struct cms_restore_args {
  256. cms_name cal;
  257. buffer data;
  258. buffer char_set;
  259. CSA_uint32 num_attrs;
  260. cms_attribute *attrs;
  261. CSA_enum *ops;
  262. };
  263. typedef struct cms_restore_args cms_restore_args;
  264. /*
  265. * cms_reminder
  266. */
  267. struct cms_reminder_ref {
  268. buffer reminder_name;
  269. buffer entryid;
  270. cms_key key;
  271. time_t runtime;
  272. struct cms_reminder_ref *next;
  273. };
  274. typedef struct cms_reminder_ref cms_reminder_ref;
  275. /*
  276. * cms_reminder_res - used by CMS_LOOKUP_REMINDER
  277. *
  278. * If stat is CSA_SUCCESS, rems contains an array of reminders.
  279. */
  280. struct cms_reminder_res {
  281. CSA_return_code stat;
  282. cms_reminder_ref *rems;
  283. };
  284. typedef struct cms_reminder_res cms_reminder_res;
  285. /*
  286. * cms_reminder_args - used by CMS_LOOKUP_REMINDER
  287. */
  288. struct cms_reminder_args {
  289. cms_name cal;
  290. time_t tick;
  291. u_int num_names;
  292. cms_attr_name *names;
  293. };
  294. typedef struct cms_reminder_args cms_reminder_args;
  295. /*
  296. * cms_entries_res
  297. *
  298. * If stat is CSA_SUCCESS, entries contains an array of entries.
  299. */
  300. struct cms_entries_res {
  301. CSA_return_code stat;
  302. cms_entry *entries;
  303. };
  304. typedef struct cms_entries_res cms_entries_res;
  305. /*
  306. * cms_lookup_entries_args - used by CMS_LOOKUP_ENTRIES
  307. */
  308. struct cms_lookup_entries_args {
  309. cms_name cal;
  310. buffer char_set;
  311. u_int num_attrs;
  312. cms_attribute *attrs;
  313. CSA_enum *ops;
  314. };
  315. typedef struct cms_lookup_entries_args cms_lookup_entries_args;
  316. /*
  317. * cms_enumerate_args - used by CMS_ENUERATE_SEQUENCE
  318. */
  319. struct cms_enumerate_args {
  320. cms_name cal;
  321. long id;
  322. long start;
  323. long end;
  324. };
  325. typedef struct cms_enumerate_args cms_enumerate_args;
  326. /*
  327. * If stat is CSA_SUCCESS, attrs contains an array of
  328. * attributes.
  329. */
  330. struct cms_get_entry_attr_res_item {
  331. CSA_return_code stat;
  332. cms_key key;
  333. u_int num_attrs;
  334. cms_attribute *attrs;
  335. struct cms_get_entry_attr_res_item *next;
  336. };
  337. typedef struct cms_get_entry_attr_res_item cms_get_entry_attr_res_item;
  338. /*
  339. * cms_get_entry_attr_res - used by CMS_GET_ENTRY_ATTR
  340. *
  341. * If stat is CSA_SUCCESS, entries contains an array of
  342. * cms_get_entry_attr_res_item structures.
  343. */
  344. struct cms_get_entry_attr_res {
  345. CSA_return_code stat;
  346. cms_get_entry_attr_res_item *entries;
  347. };
  348. typedef struct cms_get_entry_attr_res cms_get_entry_attr_res;
  349. /*
  350. * cms_get_entry_attr_args - used by CMS_GET_ENTRY_ATTR
  351. */
  352. struct cms_get_entry_attr_args {
  353. cms_name cal;
  354. u_int num_keys;
  355. cms_key *keys;
  356. u_int num_names;
  357. cms_attr_name *names;
  358. };
  359. typedef struct cms_get_entry_attr_args cms_get_entry_attr_args;
  360. /*
  361. * cms_entry_res
  362. *
  363. * If stat is CSA_SUCCESS, entry points to an entry.
  364. */
  365. struct cms_entry_res {
  366. CSA_return_code stat;
  367. cms_entry *entry;
  368. };
  369. typedef struct cms_entry_res cms_entry_res;
  370. /*
  371. * cms_insert_args - used by CMS_INSERT_ENTRY
  372. */
  373. struct cms_insert_args {
  374. cms_name cal;
  375. int pid;
  376. u_int num_attrs;
  377. cms_attribute *attrs;
  378. };
  379. typedef struct cms_insert_args cms_insert_args;
  380. /*
  381. * cms_update_args - used by CMS_UPDATE_ENTRY
  382. */
  383. struct cms_update_args {
  384. cms_name cal;
  385. int pid;
  386. cms_key entry;
  387. int scope;
  388. u_int num_attrs;
  389. cms_attribute *attrs;
  390. };
  391. typedef struct cms_update_args cms_update_args;
  392. /*
  393. * cms_delete_args - used by CMS_DELETE_ENTRY
  394. */
  395. struct cms_delete_args {
  396. cms_name cal;
  397. int pid;
  398. cms_key entry;
  399. int scope;
  400. };
  401. typedef struct cms_delete_args cms_delete_args;
  402. #define TABLEPROG ((unsigned long)(100068))
  403. #define TABLEVERS ((unsigned long)(5))
  404. #if defined(__STDC__) || defined(__cplusplus)
  405. #define CMS_PING ((unsigned long)(0))
  406. extern void * cms_ping_5(void *, _DtCm_Connection *);
  407. extern void * cms_ping_5_svc(void *, struct svc_req *);
  408. #define CMS_LIST_CALENDARS ((unsigned long)(1))
  409. extern cms_list_calendars_res * cms_list_calendars_5(void *, _DtCm_Connection *);
  410. extern cms_list_calendars_res * cms_list_calendars_5_svc(void *, struct svc_req *);
  411. #define CMS_OPEN_CALENDAR ((unsigned long)(2))
  412. extern cms_open_res * cms_open_calendar_5(cms_open_args *, _DtCm_Connection *);
  413. extern cms_open_res * cms_open_calendar_5_svc(cms_open_args *, struct svc_req *);
  414. #define CMS_CREATE_CALENDAR ((unsigned long)(3))
  415. extern CSA_return_code * cms_create_calendar_5(cms_create_args *, _DtCm_Connection *);
  416. extern CSA_return_code * cms_create_calendar_5_svc(cms_create_args *, struct svc_req *);
  417. #define CMS_REMOVE_CALENDAR ((unsigned long)(4))
  418. extern CSA_return_code * cms_remove_calendar_5(cms_remove_args *, _DtCm_Connection *);
  419. extern CSA_return_code * cms_remove_calendar_5_svc(cms_remove_args *, struct svc_req *);
  420. #define CMS_REGISTER ((unsigned long)(5))
  421. extern CSA_return_code * cms_register_5(cms_register_args *, _DtCm_Connection *);
  422. extern CSA_return_code * cms_register_5_svc(cms_register_args *, struct svc_req *);
  423. #define CMS_UNREGISTER ((unsigned long)(6))
  424. extern CSA_return_code * cms_unregister_5(cms_register_args *, _DtCm_Connection *);
  425. extern CSA_return_code * cms_unregister_5_svc(cms_register_args *, struct svc_req *);
  426. #define CMS_ENUMERATE_CALENDAR_ATTR ((unsigned long)(7))
  427. extern cms_enumerate_calendar_attr_res * cms_enumerate_calendar_attr_5(cms_name *, _DtCm_Connection *);
  428. extern cms_enumerate_calendar_attr_res * cms_enumerate_calendar_attr_5_svc(cms_name *, struct svc_req *);
  429. #define CMS_GET_CALENDAR_ATTR ((unsigned long)(8))
  430. extern cms_get_cal_attr_res * cms_get_calendar_attr_5(cms_get_cal_attr_args *, _DtCm_Connection *);
  431. extern cms_get_cal_attr_res * cms_get_calendar_attr_5_svc(cms_get_cal_attr_args *, struct svc_req *);
  432. #define CMS_SET_CALENDAR_ATTR ((unsigned long)(9))
  433. extern CSA_return_code * cms_set_calendar_attr_5(cms_set_cal_attr_args *, _DtCm_Connection *);
  434. extern CSA_return_code * cms_set_calendar_attr_5_svc(cms_set_cal_attr_args *, struct svc_req *);
  435. #define CMS_ARCHIVE ((unsigned long)(10))
  436. extern cms_archive_res * cms_archive_5(cms_archive_args *, _DtCm_Connection *);
  437. extern cms_archive_res * cms_archive_5_svc(cms_archive_args *, struct svc_req *);
  438. #define CMS_RESTORE ((unsigned long)(11))
  439. extern CSA_return_code * cms_restore_5(cms_restore_args *, _DtCm_Connection *);
  440. extern CSA_return_code * cms_restore_5_svc(cms_restore_args *, struct svc_req *);
  441. #define CMS_LOOKUP_REMINDER ((unsigned long)(12))
  442. extern cms_reminder_res * cms_lookup_reminder_5(cms_reminder_args *, _DtCm_Connection *);
  443. extern cms_reminder_res * cms_lookup_reminder_5_svc(cms_reminder_args *, struct svc_req *);
  444. #define CMS_LOOKUP_ENTRIES ((unsigned long)(13))
  445. extern cms_entries_res * cms_lookup_entries_5(cms_lookup_entries_args *, _DtCm_Connection *);
  446. extern cms_entries_res * cms_lookup_entries_5_svc(cms_lookup_entries_args *, struct svc_req *);
  447. #define CMS_ENUMERATE_SEQUENCE ((unsigned long)(14))
  448. extern cms_entries_res * cms_enumerate_sequence_5(cms_enumerate_args *, _DtCm_Connection *);
  449. extern cms_entries_res * cms_enumerate_sequence_5_svc(cms_enumerate_args *, struct svc_req *);
  450. #define CMS_GET_ENTRY_ATTR ((unsigned long)(15))
  451. extern cms_get_entry_attr_res * cms_get_entry_attr_5(cms_get_entry_attr_args *, _DtCm_Connection *);
  452. extern cms_get_entry_attr_res * cms_get_entry_attr_5_svc(cms_get_entry_attr_args *, struct svc_req *);
  453. #define CMS_INSERT_ENTRY ((unsigned long)(16))
  454. extern cms_entry_res * cms_insert_entry_5(cms_insert_args *, _DtCm_Connection *);
  455. extern cms_entry_res * cms_insert_entry_5_svc(cms_insert_args *, struct svc_req *);
  456. #define CMS_UPDATE_ENTRY ((unsigned long)(17))
  457. extern cms_entry_res * cms_update_entry_5(cms_update_args *, _DtCm_Connection *);
  458. extern cms_entry_res * cms_update_entry_5_svc(cms_update_args *, struct svc_req *);
  459. #define CMS_DELETE_ENTRY ((unsigned long)(18))
  460. extern CSA_return_code * cms_delete_entry_5(cms_delete_args *, _DtCm_Connection *);
  461. extern CSA_return_code * cms_delete_entry_5_svc(cms_delete_args *, struct svc_req *);
  462. extern int tableprog_5_freeresult(SVCXPRT *, xdrproc_t, caddr_t);
  463. #else /* K&R C */
  464. #define CMS_PING ((unsigned long)(0))
  465. extern void * cms_ping_5();
  466. extern void * cms_ping_5_svc();
  467. #define CMS_LIST_CALENDARS ((unsigned long)(1))
  468. extern cms_list_calendars_res * cms_list_calendars_5();
  469. extern cms_list_calendars_res * cms_list_calendars_5_svc();
  470. #define CMS_OPEN_CALENDAR ((unsigned long)(2))
  471. extern cms_open_res * cms_open_calendar_5();
  472. extern cms_open_res * cms_open_calendar_5_svc();
  473. #define CMS_CREATE_CALENDAR ((unsigned long)(3))
  474. extern CSA_return_code * cms_create_calendar_5();
  475. extern CSA_return_code * cms_create_calendar_5_svc();
  476. #define CMS_REMOVE_CALENDAR ((unsigned long)(4))
  477. extern CSA_return_code * cms_remove_calendar_5();
  478. extern CSA_return_code * cms_remove_calendar_5_svc();
  479. #define CMS_REGISTER ((unsigned long)(5))
  480. extern CSA_return_code * cms_register_5();
  481. extern CSA_return_code * cms_register_5_svc();
  482. #define CMS_UNREGISTER ((unsigned long)(6))
  483. extern CSA_return_code * cms_unregister_5();
  484. extern CSA_return_code * cms_unregister_5_svc();
  485. #define CMS_ENUMERATE_CALENDAR_ATTR ((unsigned long)(7))
  486. extern cms_enumerate_calendar_attr_res * cms_enumerate_calendar_attr_5();
  487. extern cms_enumerate_calendar_attr_res * cms_enumerate_calendar_attr_5_svc();
  488. #define CMS_GET_CALENDAR_ATTR ((unsigned long)(8))
  489. extern cms_get_cal_attr_res * cms_get_calendar_attr_5();
  490. extern cms_get_cal_attr_res * cms_get_calendar_attr_5_svc();
  491. #define CMS_SET_CALENDAR_ATTR ((unsigned long)(9))
  492. extern CSA_return_code * cms_set_calendar_attr_5();
  493. extern CSA_return_code * cms_set_calendar_attr_5_svc();
  494. #define CMS_ARCHIVE ((unsigned long)(10))
  495. extern cms_archive_res * cms_archive_5();
  496. extern cms_archive_res * cms_archive_5_svc();
  497. #define CMS_RESTORE ((unsigned long)(11))
  498. extern CSA_return_code * cms_restore_5();
  499. extern CSA_return_code * cms_restore_5_svc();
  500. #define CMS_LOOKUP_REMINDER ((unsigned long)(12))
  501. extern cms_reminder_res * cms_lookup_reminder_5();
  502. extern cms_reminder_res * cms_lookup_reminder_5_svc();
  503. #define CMS_LOOKUP_ENTRIES ((unsigned long)(13))
  504. extern cms_entries_res * cms_lookup_entries_5();
  505. extern cms_entries_res * cms_lookup_entries_5_svc();
  506. #define CMS_ENUMERATE_SEQUENCE ((unsigned long)(14))
  507. extern cms_entries_res * cms_enumerate_sequence_5();
  508. extern cms_entries_res * cms_enumerate_sequence_5_svc();
  509. #define CMS_GET_ENTRY_ATTR ((unsigned long)(15))
  510. extern cms_get_entry_attr_res * cms_get_entry_attr_5();
  511. extern cms_get_entry_attr_res * cms_get_entry_attr_5_svc();
  512. #define CMS_INSERT_ENTRY ((unsigned long)(16))
  513. extern cms_entry_res * cms_insert_entry_5();
  514. extern cms_entry_res * cms_insert_entry_5_svc();
  515. #define CMS_UPDATE_ENTRY ((unsigned long)(17))
  516. extern cms_entry_res * cms_update_entry_5();
  517. extern cms_entry_res * cms_update_entry_5_svc();
  518. #define CMS_DELETE_ENTRY ((unsigned long)(18))
  519. extern CSA_return_code * cms_delete_entry_5();
  520. extern CSA_return_code * cms_delete_entry_5_svc();
  521. extern int tableprog_5_freeresult();
  522. #endif /* K&R C */
  523. /* the xdr functions */
  524. #if defined(__STDC__) || defined(__cplusplus)
  525. extern bool_t xdr_cms_name(XDR *, cms_name*);
  526. extern bool_t xdr_buffer(XDR *, buffer*);
  527. extern bool_t xdr_cms_access_entry(XDR *, cms_access_entry*);
  528. extern bool_t xdr_cms_key(XDR *, cms_key*);
  529. extern bool_t xdr_cms_attr_name(XDR *, cms_attr_name*);
  530. extern bool_t xdr_cms_attribute(XDR *, cms_attribute*);
  531. extern bool_t xdr_cms_entry(XDR *, cms_entry*);
  532. extern bool_t xdr_cms_enumerate_calendar_attr_res(XDR *, cms_enumerate_calendar_attr_res*);
  533. extern bool_t xdr_cms_list_calendars_res(XDR *, cms_list_calendars_res*);
  534. extern bool_t xdr_cms_open_args(XDR *, cms_open_args*);
  535. extern bool_t xdr_cms_open_res(XDR *, cms_open_res*);
  536. extern bool_t xdr_cms_create_args(XDR *, cms_create_args*);
  537. extern bool_t xdr_cms_remove_args(XDR *, cms_remove_args*);
  538. extern bool_t xdr_cms_register_args(XDR *, cms_register_args*);
  539. extern bool_t xdr_cms_get_cal_attr_res(XDR *, cms_get_cal_attr_res*);
  540. extern bool_t xdr_cms_get_cal_attr_args(XDR *, cms_get_cal_attr_args*);
  541. extern bool_t xdr_cms_set_cal_attr_args(XDR *, cms_set_cal_attr_args*);
  542. extern bool_t xdr_cms_archive_res(XDR *, cms_archive_res*);
  543. extern bool_t xdr_cms_archive_args(XDR *, cms_archive_args*);
  544. extern bool_t xdr_cms_restore_args(XDR *, cms_restore_args*);
  545. extern bool_t xdr_cms_reminder_ref(XDR *, cms_reminder_ref*);
  546. extern bool_t xdr_cms_reminder_res(XDR *, cms_reminder_res*);
  547. extern bool_t xdr_cms_reminder_args(XDR *, cms_reminder_args*);
  548. extern bool_t xdr_cms_entries_res(XDR *, cms_entries_res*);
  549. extern bool_t xdr_cms_lookup_entries_args(XDR *, cms_lookup_entries_args*);
  550. extern bool_t xdr_cms_enumerate_args(XDR *, cms_enumerate_args*);
  551. extern bool_t xdr_cms_get_entry_attr_res_item(XDR *, cms_get_entry_attr_res_item*);
  552. extern bool_t xdr_cms_get_entry_attr_res(XDR *, cms_get_entry_attr_res*);
  553. extern bool_t xdr_cms_get_entry_attr_args(XDR *, cms_get_entry_attr_args*);
  554. extern bool_t xdr_cms_entry_res(XDR *, cms_entry_res*);
  555. extern bool_t xdr_cms_insert_args(XDR *, cms_insert_args*);
  556. extern bool_t xdr_cms_update_args(XDR *, cms_update_args*);
  557. extern bool_t xdr_cms_delete_args(XDR *, cms_delete_args*);
  558. #else /* K&R C */
  559. extern bool_t xdr_cms_name();
  560. extern bool_t xdr_buffer();
  561. extern bool_t xdr_cms_access_entry();
  562. extern bool_t xdr_cms_key();
  563. extern bool_t xdr_cms_attr_name();
  564. extern bool_t xdr_cms_attribute();
  565. extern bool_t xdr_cms_entry();
  566. extern bool_t xdr_cms_enumerate_calendar_attr_res();
  567. extern bool_t xdr_cms_list_calendars_res();
  568. extern bool_t xdr_cms_open_args();
  569. extern bool_t xdr_cms_open_res();
  570. extern bool_t xdr_cms_create_args();
  571. extern bool_t xdr_cms_remove_args();
  572. extern bool_t xdr_cms_register_args();
  573. extern bool_t xdr_cms_get_cal_attr_res();
  574. extern bool_t xdr_cms_get_cal_attr_args();
  575. extern bool_t xdr_cms_set_cal_attr_args();
  576. extern bool_t xdr_cms_archive_res();
  577. extern bool_t xdr_cms_archive_args();
  578. extern bool_t xdr_cms_restore_args();
  579. extern bool_t xdr_cms_reminder_ref();
  580. extern bool_t xdr_cms_reminder_res();
  581. extern bool_t xdr_cms_reminder_args();
  582. extern bool_t xdr_cms_entries_res();
  583. extern bool_t xdr_cms_lookup_entries_args();
  584. extern bool_t xdr_cms_enumerate_args();
  585. extern bool_t xdr_cms_get_entry_attr_res_item();
  586. extern bool_t xdr_cms_get_entry_attr_res();
  587. extern bool_t xdr_cms_get_entry_attr_args();
  588. extern bool_t xdr_cms_entry_res();
  589. extern bool_t xdr_cms_insert_args();
  590. extern bool_t xdr_cms_update_args();
  591. extern bool_t xdr_cms_delete_args();
  592. #endif /* K&R C */
  593. #ifdef __cplusplus
  594. }
  595. #endif
  596. #endif