cmcb.x 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. /*******************************************************************************
  2. **
  3. ** cmcb.x
  4. **
  5. ** static char sccsid[] = "@(#)cmcb.x 1.3 94/09/22 Copyr 1991 Sun Microsystems, Inc.";
  6. **
  7. ** $XConsortium: cmcb.x /main/1 1996/04/21 19:22:02 drk $
  8. **
  9. ** RESTRICTED CONFIDENTIAL INFORMATION:
  10. **
  11. ** The information in this document is subject to special
  12. ** restrictions in a confidential disclosure agreement between
  13. ** HP, IBM, Sun, USL, SCO and Univel. Do not distribute this
  14. ** document outside HP, IBM, Sun, USL, SCO, or Univel without
  15. ** Sun's specific written approval. This document and all copies
  16. ** and derivative works thereof must be returned or destroyed at
  17. ** Sun's request.
  18. **
  19. ** Copyright 1993 Sun Microsystems, Inc. All rights reserved.
  20. **
  21. *******************************************************************************/
  22. /*
  23. * Calendar manager service callback RPC protocol.
  24. */
  25. #if defined(RPC_HDR) || defined(RPC_XDR)
  26. %
  27. %#include "csa.h"
  28. %#include "cm.h"
  29. %
  30. %
  31. %/*
  32. % * cal_attr_data - contain names of calendar attributes updated
  33. % *
  34. % */
  35. struct cmcb_cal_attr_data {
  36. u_int num_names;
  37. cms_name *names;
  38. };
  39. %
  40. %/*
  41. % * add_entry_data - contain information of the deleted entry
  42. % */
  43. struct cmcb_add_entry_data {
  44. string id<>;
  45. };
  46. %
  47. %/*
  48. % * delete_entry_data - contain information of the deleted entry
  49. % */
  50. struct cmcb_delete_entry_data {
  51. string id<>;
  52. int scope;
  53. time_t time;
  54. };
  55. %
  56. %/*
  57. % * update_entry_data - contain information of the updated entry
  58. % * if new entry id is not resulted from the update, oldid will be
  59. % * set to a NULL string ("").
  60. % */
  61. struct cmcb_update_entry_data {
  62. string newid<>;
  63. string oldid<>;
  64. int scope;
  65. time_t time;
  66. };
  67. %
  68. %/*
  69. % * update_data - contains the update reason and specific information
  70. % * about the update. No additional data is provided for CSA_CALENDAR_LOGON,
  71. % * CSA_CALENDAR_DELETED, and CSA_CALENDAR_ATTRIBUTE_UPDATED
  72. % */
  73. %struct cmcb_update_data {
  74. % int reason;
  75. % union {
  76. % cmcb_cal_attr_data *cdata; /* data for cal attrs updated */
  77. % cmcb_add_entry_data *adata; /* data for CSA_ENTRY_ADDED */
  78. % cmcb_delete_entry_data *ddata; /* data for CSA_ENTRY_DELETED */
  79. % cmcb_update_entry_data *udata; /* data for CSA_ENTRY_UPDATED */
  80. % } data;
  81. %};
  82. %typedef struct cmcb_update_data cmcb_update_data;
  83. %
  84. struct cmcb_update_callback_args {
  85. string calendar<>;
  86. string user<>;
  87. cmcb_update_data data;
  88. };
  89. #endif /* RPC_HDR */
  90. /*
  91. * The AGENTPROG actually isn't used for callback.
  92. * A transient number will be generated instead. It's
  93. * just declared here as a "syntax" holder for rpcgen
  94. */
  95. program AGENTPROG {
  96. version AGENTVERS_2 {
  97. void CMCB_UPDATE_CALLBACK(cmcb_update_callback_args) = 1;
  98. } = 2;
  99. } = 0;