Main Page   Modules   Compound List   File List   Related Pages   Examples  

pdsdefs.h

00001 #ifndef _PDSDEFS_H_
00002 #define _PDSDEFS_H_
00003 
00004 /*
00005  *
00006  *  $Id: pdsdefs.h,v 1.7 2003/03/19 03:49:27 pmw Exp $
00007  *
00008  */
00013 #define PDS_ID_SIZE 32
00014 
00015 #include "atl.h"
00016 
00018 typedef struct _pds_service_struct* pds_service;
00019 
00021 typedef struct _pds_entity_id_t_struct
00022 {
00023   unsigned char id[PDS_ID_SIZE];
00024 } pds_entity_id_t, *pds_entity_id_t_ptr;
00025 
00027 typedef struct _pds_context_id_t_struct
00028 {
00029   unsigned char id[PDS_ID_SIZE];
00030 } pds_context_id_t, *pds_context_id_t_ptr;
00031 
00033 typedef struct _pds_domain_id_t_struct
00034 {
00035   unsigned char id[PDS_ID_SIZE];
00036 } pds_domain_id_t, *pds_domain_id_t_ptr;
00037 
00041 typedef struct _pds_entity_data_t_struct
00042 {
00043   unsigned char *data;
00044   int data_size;
00045   attr_value_type data_type;
00046 } pds_entity_data_t, *pds_entity_data_t_ptr;
00047 
00048 /*
00049  *
00050  *  Entity/context change event definition
00051  *
00052  */
00053 #define PDS_ENTITY_CHANGE_BASE_VAL          300
00054 
00059 #define PDS_ENTITY_CHANGE_CREATION          (PDS_ENTITY_CHANGE_BASE_VAL + 1)
00060 
00064 #define PDS_ENTITY_CHANGE_ATTRS             (PDS_ENTITY_CHANGE_BASE_VAL + 2)
00065 
00066 
00070 #define PDS_ENTITY_CHANGE_BIND              (PDS_ENTITY_CHANGE_BASE_VAL + 3)
00071 #define PDS_ENTITY_CHANGE_UNBIND            (PDS_ENTITY_CHANGE_BASE_VAL + 4)
00072 
00073 
00077 #define PDS_ENTITY_CHANGE_DELETION          (PDS_ENTITY_CHANGE_BASE_VAL + 5)
00078 
00082 #define PDS_ENTITY_CHANGE_DATA              (PDS_ENTITY_CHANGE_BASE_VAL + 6)
00083 
00084 #define PDS_CONTEXT_CHANGE_BASE_VAL         320
00085 #define PDS_CONTEXT_CHANGE_CREATION         (PDS_CONTEXT_CHANGE_BASE_VAL + 1)
00086 #define PDS_CONTEXT_CHANGE_ATTRS            (PDS_CONTEXT_CHANGE_BASE_VAL + 2)
00087 #define PDS_CONTEXT_CHANGE_BIND             (PDS_CONTEXT_CHANGE_BASE_VAL + 3)
00088 #define PDS_CONTEXT_CHANGE_UNBIND           (PDS_CONTEXT_CHANGE_BASE_VAL + 4)
00089 #define PDS_CONTEXT_CHANGE_DELETION         (PDS_CONTEXT_CHANGE_BASE_VAL + 5)
00090 
00091 #define PDS_DOMAIN_CHANGE_BASE_VAL          350
00092 #define PDS_DOMAIN_CHANGE_CONTEXT_CHANGE    (PDS_DOMAIN_CHANGE_BASE_VAL + 1)
00093 #define PDS_DOMAIN_CHANGE_ENTITY_CHANGE     (PDS_DOMAIN_CHANGE_BASE_VAL + 2)
00094 typedef struct _pds_entity_change_event_struct
00095 {
00096   int type;
00097   const char *desc;
00098   const char *fullname;
00099   pds_entity_id_t entity_id;
00100   pds_entity_data_t entity_data;
00101 } pds_entity_change_event, *pds_entity_change_event_ptr;
00102 
00103 typedef struct _pds_context_change_event_struct
00104 {
00105   int type;
00106   char *desc;
00107   char *fullname;
00108   pds_context_id_t context_id;
00109 } pds_context_change_event, *pds_context_change_event_ptr;
00110 
00111 typedef struct _pds_domain_change_event_struct
00112 {
00113   int type;
00114   char* desc;
00115   char* d_name;
00116   char* d_type;
00117   int d_version;
00118   char* d_app_name;
00119   pds_domain_id_t domain_id;
00120   int   event_type;
00121   char* event_fullname;
00122   char* event_desc;
00123 } pds_domain_change_event, *pds_domain_change_event_ptr;
00124 
00125 /*
00126  *  bit mask values for options masks
00127  */
00128 #define OnlyEntityBindings 0x1
00129 #define OnlyContextBindings 0x2
00130 
00131 #define GetDataBuffer 0x2
00132 #define GetDataSize 0x4
00133 #define GetDataType 0x8
00134 
00137 /*
00138  *
00139  *  $Log: pdsdefs.h,v $
00140  *  Revision 1.7  2003/03/19 03:49:27  pmw
00141  *  more documentation tweaks
00142  *
00143  *  Revision 1.6  2003/02/04 17:25:49  mansour
00144  *  Added defs for domain event types
00145  *
00146  *  Revision 1.5  2003/01/30 19:15:42  mansour
00147  *  Add support for domain events
00148  *
00149  *  Revision 1.4  2002/11/16 04:10:22  pmw
00150  *  added functionality to selectively retrieve entity data/type/size information
00151  *  using the get_entity_data calls.  New options masks have been added to pdsdefs.h
00152  *  to make this work.
00153  *
00154  *  Revision 1.3  2002/10/30 04:42:00  pmw
00155  *  typos...
00156  *
00157  *  Revision 1.2  2002/10/16 04:58:37  pmw
00158  *  added initial Doxygen comments
00159  *
00160  *  Revision 1.1  2001/10/09 21:37:53  pmw
00161  *  configuration changes
00162  *
00163  *  Revision 1.5  2001/10/07 22:19:16  pmw
00164  *  Added domain_change event structures so that Proactive class is always correctly
00165  *  initialized.
00166  *
00167  *  Revision 1.4  2001/09/10 03:55:43  pmw
00168  *  client lib is now libpdsagent, and is compiled entirely with gcc.  libpdsutil no
00169  *  longer exists.
00170  *
00171  *  Revision 1.3  2001/07/02 17:55:22  pmw
00172  *  hopefully final changes to make contexts emit bind/unbind events
00173  *
00174  *  Revision 1.2  2001/07/02 04:02:03  pmw
00175  *  interim checkin for changes to make Contexts also support events.  compiles
00176  *  but tests probably do not run.
00177  *
00178  *  Revision 1.1.1.1  2000/12/13 22:14:20  pmw
00179  *  imported sources
00180  *
00181  *  Revision 1.10  2000/11/30 01:47:56  pmw
00182  *  rearranged include files to fix inappropriate inclusions
00183  *
00184  *  Revision 1.9  2000/11/22 21:42:37  pmw
00185  *  proactivity based on entity events now appears to work correctly.  In particular,
00186  *  creation events based on the prior registration of placeholder entities and their
00187  *  later "creation" as real entities works.
00188  *
00189  *  Revision 1.8  2000/11/19 23:28:31  pmw
00190  *  wp_server now supports bulk load of data with -f command-line option.  Also added
00191  *  command message so bulk loads can happen on-line.
00192  *
00193  *  Revision 1.7  2000/10/25 21:44:49  pmw
00194  *  Compiles after major revisions to support multiple WP services on
00195  *  client-side.  This should eventually allow a client to use services by
00196  *  linking in the library directly or by communicating using CMRPC.
00197  *
00198  *  Revision 1.6  2000/05/15 21:15:48  pmw
00199  *  minor changes
00200  *
00201  *  Revision 1.5  2000/01/06 04:59:07  pmw
00202  *  changed id scheme so java side is simpler
00203  *
00204  *  Revision 1.4  1999/12/21 18:47:57  pmw
00205  *  Too many changes - really shouldn't have done this many
00206  *
00207  *
00208  */
00209 
00210 #endif  /* matches ifndef PDSDEFS_H */

Generated on Mon Oct 20 14:46:45 2003 for Proactive Directory Service by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002