cdesktopenv/cde/lib/csa/cmcb.x

112 lines
2.7 KiB
Plaintext

/*******************************************************************************
**
** cmcb.x
**
** static char sccsid[] = "@(#)cmcb.x 1.3 94/09/22 Copyr 1991 Sun Microsystems, Inc.";
**
** $XConsortium: cmcb.x /main/1 1996/04/21 19:22:02 drk $
**
** RESTRICTED CONFIDENTIAL INFORMATION:
**
** The information in this document is subject to special
** restrictions in a confidential disclosure agreement between
** HP, IBM, Sun, USL, SCO and Univel. Do not distribute this
** document outside HP, IBM, Sun, USL, SCO, or Univel without
** Sun's specific written approval. This document and all copies
** and derivative works thereof must be returned or destroyed at
** Sun's request.
**
** Copyright 1993 Sun Microsystems, Inc. All rights reserved.
**
*******************************************************************************/
/*
* Calendar manager service callback RPC protocol.
*/
#if defined(RPC_HDR) || defined(RPC_XDR)
%
%#include "csa.h"
%#include "cm.h"
%
%
%/*
% * cal_attr_data - contain names of calendar attributes updated
% *
% */
struct cmcb_cal_attr_data {
u_int num_names;
cms_name *names;
};
%
%/*
% * add_entry_data - contain information of the deleted entry
% */
struct cmcb_add_entry_data {
string id<>;
};
%
%/*
% * delete_entry_data - contain information of the deleted entry
% */
struct cmcb_delete_entry_data {
string id<>;
int scope;
time_t time;
};
%
%/*
% * update_entry_data - contain information of the updated entry
% * if new entry id is not resulted from the update, oldid will be
% * set to a NULL string ("").
% */
struct cmcb_update_entry_data {
string newid<>;
string oldid<>;
int scope;
time_t time;
};
%
%/*
% * update_data - contains the update reason and specific information
% * about the update. No additional data is provided for CSA_CALENDAR_LOGON,
% * CSA_CALENDAR_DELETED, and CSA_CALENDAR_ATTRIBUTE_UPDATED
% */
%struct cmcb_update_data {
% int reason;
% union {
% cmcb_cal_attr_data *cdata; /* data for cal attrs updated */
% cmcb_add_entry_data *adata; /* data for CSA_ENTRY_ADDED */
% cmcb_delete_entry_data *ddata; /* data for CSA_ENTRY_DELETED */
% cmcb_update_entry_data *udata; /* data for CSA_ENTRY_UPDATED */
% } data;
%};
%typedef struct cmcb_update_data cmcb_update_data;
%
struct cmcb_update_callback_args {
string calendar<>;
string user<>;
cmcb_update_data data;
};
#endif /* RPC_HDR */
/*
* The AGENTPROG actually isn't used for callback.
* A transient number will be generated instead. It's
* just declared here as a "syntax" holder for rpcgen
*/
program AGENTPROG {
version AGENTVERS_2 {
void CMCB_UPDATE_CALLBACK(cmcb_update_callback_args) = 1;
} = 2;
} = 0;