1 /* $NetBSD: proto-ndb.h,v 1.1.1.2 2010/12/12 15:23:19 adam Exp $ */ 2 3 /* OpenLDAP: pkg/ldap/servers/slapd/back-ndb/proto-ndb.h,v 1.3.2.3 2010/04/13 20:23:35 kurt Exp */ 4 /* This work is part of OpenLDAP Software <http://www.openldap.org/>. 5 * 6 * Copyright 2008-2010 The OpenLDAP Foundation. 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted only as authorized by the OpenLDAP 11 * Public License. 12 * 13 * A copy of this license is available in the file LICENSE in the 14 * top-level directory of the distribution or, alternatively, at 15 * <http://www.OpenLDAP.org/license.html>. 16 */ 17 /* ACKNOWLEDGEMENTS: 18 * This work was initially developed by Howard Chu for inclusion 19 * in OpenLDAP Software. This work was sponsored by MySQL. 20 */ 21 22 #ifndef _PROTO_NDB_H 23 #define _PROTO_NDB_H 24 25 LDAP_BEGIN_DECL 26 27 extern BI_init ndb_back_initialize; 28 29 extern BI_open ndb_back_open; 30 extern BI_close ndb_back_close; 31 extern BI_destroy ndb_back_destroy; 32 33 extern BI_db_init ndb_back_db_init; 34 extern BI_db_destroy ndb_back_db_destroy; 35 36 extern BI_op_bind ndb_back_bind; 37 extern BI_op_unbind ndb_back_unbind; 38 extern BI_op_search ndb_back_search; 39 extern BI_op_compare ndb_back_compare; 40 extern BI_op_modify ndb_back_modify; 41 extern BI_op_modrdn ndb_back_modrdn; 42 extern BI_op_add ndb_back_add; 43 extern BI_op_delete ndb_back_delete; 44 45 extern BI_operational ndb_operational; 46 extern BI_has_subordinates ndb_has_subordinates; 47 extern BI_entry_get_rw ndb_entry_get; 48 49 extern BI_tool_entry_open ndb_tool_entry_open; 50 extern BI_tool_entry_close ndb_tool_entry_close; 51 extern BI_tool_entry_first ndb_tool_entry_first; 52 extern BI_tool_entry_next ndb_tool_entry_next; 53 extern BI_tool_entry_get ndb_tool_entry_get; 54 extern BI_tool_entry_put ndb_tool_entry_put; 55 extern BI_tool_dn2id_get ndb_tool_dn2id_get; 56 57 extern int ndb_modify_internal( 58 Operation *op, 59 NdbArgs *NA, 60 const char **text, 61 char *textbuf, 62 size_t textlen ); 63 64 extern int 65 ndb_entry_get_data( 66 Operation *op, 67 NdbArgs *args, 68 int update ); 69 70 extern int 71 ndb_entry_put_data( 72 BackendDB *be, 73 NdbArgs *args ); 74 75 extern int 76 ndb_entry_del_data( 77 BackendDB *be, 78 NdbArgs *args ); 79 80 extern int 81 ndb_entry_put_info( 82 BackendDB *be, 83 NdbArgs *args, 84 int update ); 85 86 extern int 87 ndb_entry_get_info( 88 Operation *op, 89 NdbArgs *args, 90 int update, 91 struct berval *matched ); 92 93 extern "C" int 94 ndb_entry_del_info( 95 BackendDB *be, 96 NdbArgs *args ); 97 98 extern int 99 ndb_dn2rdns( 100 struct berval *dn, 101 NdbRdns *buf ); 102 103 extern NdbAttrInfo * 104 ndb_ai_find( struct ndb_info *ni, AttributeType *at ); 105 106 extern NdbAttrInfo * 107 ndb_ai_get( struct ndb_info *ni, struct berval *at ); 108 109 extern int 110 ndb_aset_get( struct ndb_info *ni, struct berval *sname, struct berval *attrs, NdbOcInfo **ret ); 111 112 extern int 113 ndb_aset_create( struct ndb_info *ni, NdbOcInfo *oci ); 114 115 extern int 116 ndb_oc_read( struct ndb_info *ni, const NdbDictionary::Dictionary *dict ); 117 118 extern int 119 ndb_oc_attrs( 120 NdbTransaction *txn, 121 const NdbDictionary::Table *myTable, 122 Entry *e, 123 NdbOcInfo *no, 124 NdbAttrInfo **attrs, 125 int nattrs, 126 Attribute *old ); 127 128 extern int 129 ndb_has_children( 130 NdbArgs *NA, 131 int *hasChildren ); 132 133 extern struct berval * 134 ndb_str2bvarray( 135 char *str, 136 int len, 137 char delim, 138 void *ctx ); 139 140 extern struct berval * 141 ndb_ref2oclist( 142 const char *ref, 143 void *ctx ); 144 145 extern int 146 ndb_next_id( 147 BackendDB *be, 148 Ndb *ndb, 149 ID *id ); 150 151 extern int 152 ndb_thread_handle( 153 Operation *op, 154 Ndb **ndb ); 155 156 extern int 157 ndb_back_init_cf( 158 BackendInfo *bi ); 159 160 extern "C" void 161 ndb_trans_backoff( int num_retries ); 162 163 extern "C" void 164 ndb_check_referral( Operation *op, SlapReply *rs, NdbArgs *NA ); 165 166 LDAP_END_DECL 167 168 #endif /* _PROTO_NDB_H */ 169