libDtHelp: Cov 88209
[oweals/cde.git] / cde / lib / csa / cmcb.x
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 /*
24  * Calendar manager service callback RPC protocol.
25  */
26
27 #if defined(RPC_HDR) || defined(RPC_XDR)
28
29 %
30 %#include "csa.h"
31 %#include "cm.h"
32 %
33
34 %
35 %/*
36 % * cal_attr_data - contain names of calendar attributes updated
37 % *
38 % */
39 struct cmcb_cal_attr_data {
40         u_int           num_names;
41         cms_name        *names;
42 };
43
44 %
45 %/*
46 % * add_entry_data - contain information of the deleted entry
47 % */
48 struct cmcb_add_entry_data {
49         string  id<>;
50 };
51
52 %
53 %/*
54 % * delete_entry_data - contain information of the deleted entry
55 % */
56 struct cmcb_delete_entry_data {
57         string  id<>;
58         int     scope;
59         time_t  time;
60 };
61
62 %
63 %/*
64 % * update_entry_data - contain information of the updated entry
65 % * if new entry id is not resulted from the update, oldid will be
66 % * set to a NULL string ("").
67 % */
68 struct cmcb_update_entry_data {
69         string  newid<>;
70         string  oldid<>;
71         int     scope;
72         time_t  time;
73 };
74
75 %
76 %/*
77 % * update_data - contains the update reason and specific information
78 % * about the update.  No additional data is provided for CSA_CALENDAR_LOGON,
79 % * CSA_CALENDAR_DELETED, and CSA_CALENDAR_ATTRIBUTE_UPDATED
80 % */
81 %struct cmcb_update_data {
82 %       int     reason;
83 %       union {
84 %               cmcb_cal_attr_data      *cdata; /* data for cal attrs updated */
85 %               cmcb_add_entry_data     *adata; /* data for CSA_ENTRY_ADDED */
86 %               cmcb_delete_entry_data  *ddata; /* data for CSA_ENTRY_DELETED */
87 %               cmcb_update_entry_data  *udata; /* data for CSA_ENTRY_UPDATED */
88 %       } data;
89 %};
90 %typedef struct cmcb_update_data cmcb_update_data;
91 %
92
93 struct cmcb_update_callback_args {
94         string                  calendar<>;
95         string                  user<>;
96         cmcb_update_data        data;
97 };
98
99 #endif /* RPC_HDR */
100
101 /*
102  * The AGENTPROG actually isn't used for callback.
103  * A transient number will be generated instead.  It's
104  * just declared here as a "syntax" holder for rpcgen
105  */
106 program AGENTPROG {
107         version AGENTVERS_2 {
108                 void CMCB_UPDATE_CALLBACK(cmcb_update_callback_args) = 1;
109         } = 2;
110 } = 0;
111