diff options
author | Stefan Metzmacher <metze@samba.org> | 2004-09-22 13:01:00 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:59:02 -0500 |
commit | 6ad5996ef5e346d042da12874485c16b89536fc2 (patch) | |
tree | 06b4601228e5e96f2e42bb9c41a0070382fcd5ae /source4/ldap_server/ldap_server.h | |
parent | 1e09ab3774892a868f14f944127c8d5980487011 (diff) | |
download | samba-6ad5996ef5e346d042da12874485c16b89536fc2.tar.gz samba-6ad5996ef5e346d042da12874485c16b89536fc2.tar.xz samba-6ad5996ef5e346d042da12874485c16b89536fc2.zip |
r2523: - readd rootDSE reply
- add infrastructure start for having multiple directory partitions (backends)
metze
(This used to be commit 5103e7fe7873c0309461ad471f0529223d7c38eb)
Diffstat (limited to 'source4/ldap_server/ldap_server.h')
-rw-r--r-- | source4/ldap_server/ldap_server.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/source4/ldap_server/ldap_server.h b/source4/ldap_server/ldap_server.h index 65b355514c..960ab519bc 100644 --- a/source4/ldap_server/ldap_server.h +++ b/source4/ldap_server/ldap_server.h @@ -54,6 +54,8 @@ struct ldapsrv_call { } *replies; }; +struct ldapsrv_service; + struct ldapsrv_connection { struct server_connection *connection; @@ -64,4 +66,36 @@ struct ldapsrv_connection { struct rw_buffer out_buffer; struct ldapsrv_call *calls; + + struct ldapsrv_service *service; +}; + +struct ldapsrv_partition; + +struct ldapsrv_partition_ops { + NTSTATUS (*Bind)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_BindRequest *r); + NTSTATUS (*Unbind)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_UnbindRequest *r); + NTSTATUS (*Search)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_SearchRequest *r); + NTSTATUS (*Modify)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_ModifyRequest *r); + NTSTATUS (*Add)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_AddRequest *r); + NTSTATUS (*Del)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_DelRequest *r); + NTSTATUS (*ModifyDN)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_ModifyDNRequest *r); + NTSTATUS (*Compare)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_CompareRequest *r); + NTSTATUS (*Abandon)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_AbandonRequest *r); + NTSTATUS (*Extended)(struct ldapsrv_partition *partition, struct ldapsrv_call *call, struct ldap_ExtendedRequest *r); +}; + +struct ldapsrv_partition { + struct ldapsrv_partition *prev,*next; + + void *private_data; + const struct ldapsrv_partition_ops *ops; + + const char *base_dn; +}; + +struct ldapsrv_service { + struct ldapsrv_partition *rootDSE; + struct ldapsrv_partition *default_partition; + struct ldapsrv_partition *partitions; }; |