/* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * * Copyright 2008-2018 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted only as authorized by the OpenLDAP * Public License. * * A copy of this license is available in the file LICENSE in the * top-level directory of the distribution or, alternatively, at * . */ /* ACKNOWLEDGEMENTS: * This work was initially developed by Howard Chu for inclusion * in OpenLDAP Software. This work was sponsored by MySQL. */ #ifndef _PROTO_NDB_H #define _PROTO_NDB_H LDAP_BEGIN_DECL extern BI_init ndb_back_initialize; extern BI_open ndb_back_open; extern BI_close ndb_back_close; extern BI_destroy ndb_back_destroy; extern BI_db_init ndb_back_db_init; extern BI_db_destroy ndb_back_db_destroy; extern BI_op_bind ndb_back_bind; extern BI_op_unbind ndb_back_unbind; extern BI_op_search ndb_back_search; extern BI_op_compare ndb_back_compare; extern BI_op_modify ndb_back_modify; extern BI_op_modrdn ndb_back_modrdn; extern BI_op_add ndb_back_add; extern BI_op_delete ndb_back_delete; extern BI_operational ndb_operational; extern BI_has_subordinates ndb_has_subordinates; extern BI_entry_get_rw ndb_entry_get; extern BI_tool_entry_open ndb_tool_entry_open; extern BI_tool_entry_close ndb_tool_entry_close; extern BI_tool_entry_first ndb_tool_entry_first; extern BI_tool_entry_next ndb_tool_entry_next; extern BI_tool_entry_get ndb_tool_entry_get; extern BI_tool_entry_put ndb_tool_entry_put; extern BI_tool_dn2id_get ndb_tool_dn2id_get; extern int ndb_modify_internal( Operation *op, NdbArgs *NA, const char **text, char *textbuf, size_t textlen ); extern int ndb_entry_get_data( Operation *op, NdbArgs *args, int update ); extern int ndb_entry_put_data( BackendDB *be, NdbArgs *args ); extern int ndb_entry_del_data( BackendDB *be, NdbArgs *args ); extern int ndb_entry_put_info( BackendDB *be, NdbArgs *args, int update ); extern int ndb_entry_get_info( Operation *op, NdbArgs *args, int update, struct berval *matched ); extern "C" int ndb_entry_del_info( BackendDB *be, NdbArgs *args ); extern int ndb_dn2rdns( struct berval *dn, NdbRdns *buf ); extern NdbAttrInfo * ndb_ai_find( struct ndb_info *ni, AttributeType *at ); extern NdbAttrInfo * ndb_ai_get( struct ndb_info *ni, struct berval *at ); extern int ndb_aset_get( struct ndb_info *ni, struct berval *sname, struct berval *attrs, NdbOcInfo **ret ); extern int ndb_aset_create( struct ndb_info *ni, NdbOcInfo *oci ); extern int ndb_oc_read( struct ndb_info *ni, const NdbDictionary::Dictionary *dict ); extern int ndb_oc_attrs( NdbTransaction *txn, const NdbDictionary::Table *myTable, Entry *e, NdbOcInfo *no, NdbAttrInfo **attrs, int nattrs, Attribute *old ); extern int ndb_has_children( NdbArgs *NA, int *hasChildren ); extern struct berval * ndb_str2bvarray( char *str, int len, char delim, void *ctx ); extern struct berval * ndb_ref2oclist( const char *ref, void *ctx ); extern int ndb_next_id( BackendDB *be, Ndb *ndb, ID *id ); extern int ndb_thread_handle( Operation *op, Ndb **ndb ); extern int ndb_back_init_cf( BackendInfo *bi ); extern "C" void ndb_trans_backoff( int num_retries ); extern "C" void ndb_check_referral( Operation *op, SlapReply *rs, NdbArgs *NA ); LDAP_END_DECL #endif /* _PROTO_NDB_H */