r9438: Add initial files for ldb_map
[sfrench/samba-autobuild/.git] / source4 / lib / ldb / ldb_map / ldb_map.h
1 struct objectclass_mapping {
2         char *local_name;
3         char *remote_name;
4
5         char *key; /* Name of attribute used in rdn */
6
7         /* For mapping attributes used in searches */
8         struct local_attribute_mapping {
9                 char *local_name;
10
11                 /* Attributes to request from the server for this attribute, 
12                  * needed by generate */
13                 char *required_attributes[]; 
14
15                 /* If not set, the value for the first element of 
16                  * required_attributes will simply be used here */
17                 struct ldb_message_element *(*generate) (LDAPMessage *msg); 
18         } *local_attribute_mappings;
19
20         /* Generate LDAPMod for adds and modifies */
21         LDAPMod *(*generate_mod)(struct ldb_message *);
22 }
23
24 struct ldb_map_backend {
25         struct objectclass_mapping *objectclass_mappings;
26 };
27
28 const char *ldb_map_dn(const char *old);
29 const char *ldb_map_rdn(const char *old);