X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Finclude%2Fctdl_module.h;h=5d8764db436878461b570a806d6f343bd41570a1;hb=e646cd5a79374f3a3aee98df28468dacecfe6ec0;hp=ce1b148f87d161820de09c0f2c29ef53e2626de9;hpb=997fe2ef9beb4effc54abf7f354b2cca37ab403f;p=citadel.git diff --git a/citadel/include/ctdl_module.h b/citadel/include/ctdl_module.h index ce1b148f8..5d8764db4 100644 --- a/citadel/include/ctdl_module.h +++ b/citadel/include/ctdl_module.h @@ -66,6 +66,21 @@ void CtdlRegisterMaintenanceThread(char *name, void *(*thread_proc) (void *arg)) void CtdlRegisterSearchFuncHook(void (*fcn_ptr)(int *, long **, char *), char *name); + +/* + * Directory services hooks for LDAP etc + */ + +#define DIRECTORY_USER_DEL 1 // Delete a user entry +#define DIRECTORY_CREATE_HOST 2 // Create a host entry if not already there. +#define DIRECTORY_CREATE_OBJECT 3 // Create a new object for directory entry +#define DIRECTORY_ATTRIB_ADD 4 // Add an attribute to the directory entry object +#define DIRECTORY_SAVE_OBJECT 5 // Save the object to the directory service +#define DIRECTORY_FREE_OBJECT 6 // Free the object and its attributes + +int CtdlRegisterDirectoryServiceFunc(int (*func)(char *cn, char *ou, void **object), int cmd, char *module); +int CtdlDoDirectoryServiceFunc(char *cn, char *ou, void **object, char *module, int cmd); + /* TODODRW: This needs to be changed into a hook type interface * for now we have this horrible hack */