[SCM] Samba Shared Repository - branch master updated - release-4-0-0alpha8-205-g7119241

Simo Sorce idra at samba.org
Fri Jul 3 13:26:53 GMT 2009


The branch, master has been updated
       via  7119241c0d12768b31ebdb489aa0bbba6ca21e40 (commit)
       via  30b2014a01b31d66dd76e0562c5d769dfacf167b (commit)
       via  2738178d1301f9c1c4144c7472c9419911cd816e (commit)
      from  b54e48b830dbc3d66f9de5d2711a57a1630809e2 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 7119241c0d12768b31ebdb489aa0bbba6ca21e40
Author: Simo Sorce <idra at samba.org>
Date:   Fri Jul 3 08:42:23 2009 -0400

    Sort the signature files

commit 30b2014a01b31d66dd76e0562c5d769dfacf167b
Author: Simo Sorce <idra at samba.org>
Date:   Thu Jun 18 20:06:00 2009 -0400

    Expose functions need by backend writers
    
    move publicly needed structures and functions in the public header.
    Stop installing internal headers.
    Update the signature and exports files with the new exposed
    function.

commit 2738178d1301f9c1c4144c7472c9419911cd816e
Author: Simo Sorce <idra at samba.org>
Date:   Thu Jul 2 09:29:20 2009 -0400

    Restore ABI compatibility for talloc.

-----------------------------------------------------------------------

Summary of changes:
 lib/talloc/abi_checks.sh     |    6 ++-
 lib/talloc/configure.ac      |    2 +-
 lib/talloc/talloc.c          |   43 +++++++++++++++++--
 lib/talloc/talloc.exports    |    6 ++-
 lib/talloc/talloc.h          |   14 ++++---
 lib/talloc/talloc.signatures |   95 +++++++++++++++++++++--------------------
 lib/tdb/abi_checks.sh        |    2 +-
 lib/tdb/tdb.signatures       |   86 +++++++++++++++++++-------------------
 lib/tevent/abi_checks.sh     |    4 +-
 lib/tevent/tevent.exports    |    1 +
 lib/tevent/tevent.h          |   64 ++++++++++++++++++++++++++++
 lib/tevent/tevent.mk         |    1 -
 lib/tevent/tevent.signatures |   85 +++++++++++++++++++------------------
 lib/tevent/tevent_internal.h |   50 ----------------------
 source3/configure.in         |    2 +-
 source4/min_versions.m4      |    2 +-
 16 files changed, 262 insertions(+), 201 deletions(-)


Changeset truncated at 500 lines:

diff --git a/lib/talloc/abi_checks.sh b/lib/talloc/abi_checks.sh
index 432cc87..e3d3b04 100755
--- a/lib/talloc/abi_checks.sh
+++ b/lib/talloc/abi_checks.sh
@@ -4,15 +4,17 @@ make clean
 
 mkdir abi
 ABI_CHECKS="-aux-info abi/\$@.X"
-make ABI_CHECK="$ABI_CHECKS"
+make ABI_CHECK="$ABI_CHECKS" CC="/usr/bin/gcc"
 
-for i in abi/*.X; do cat $i | grep 'talloc\.h'; done | sort | uniq | awk -F "extern " '{ print $2 }' > abi/signatures
+for i in abi/*.X; do cat $i | grep 'talloc\.h'; done | sort | uniq | awk -F "extern " '{ print $2 }' | sort > abi/signatures
 
 cat > abi/exports << EOF
 {
     global:
 EOF
 cat abi/signatures | awk -F '(' '{ print $1 }' | awk -F ' ' '{ print "           "$NF";" }' | tr -d '*' | sort >> abi/exports
+# need to manually add talloc free for backward ABI compat
+echo '           talloc_free;' >> abi/exports
 cat >> abi/exports << EOF
 
     local: *;
diff --git a/lib/talloc/configure.ac b/lib/talloc/configure.ac
index d6471a4..161f6f7 100644
--- a/lib/talloc/configure.ac
+++ b/lib/talloc/configure.ac
@@ -1,5 +1,5 @@
 AC_PREREQ(2.50)
-AC_INIT(talloc, 2.0.0)
+AC_INIT(talloc, 1.4.0)
 AC_CONFIG_SRCDIR([talloc.c])
 AC_SUBST(datarootdir)
 AC_CONFIG_HEADER(config.h)
diff --git a/lib/talloc/talloc.c b/lib/talloc/talloc.c
index a23df38..8ccebe2 100644
--- a/lib/talloc/talloc.c
+++ b/lib/talloc/talloc.c
@@ -477,7 +477,7 @@ static inline void *_talloc_named_const(const void *context, size_t size, const
   same underlying data, and you want to be able to free the two instances separately,
   and in either order
 */
-void *_talloc_reference(const void *context, const void *ptr, const char *location)
+void *_talloc_reference_loc(const void *context, const void *ptr, const char *location)
 {
 	struct talloc_chunk *tc;
 	struct talloc_reference_handle *handle;
@@ -499,6 +499,7 @@ void *_talloc_reference(const void *context, const void *ptr, const char *locati
 	return handle->ptr;
 }
 
+static void *_talloc_steal_internal(const void *new_ctx, const void *ptr);
 
 /* 
    internal talloc_free call
@@ -613,7 +614,7 @@ static inline int _talloc_free_internal(void *ptr)
    ptr on success, or NULL if it could not be transferred.
    passing NULL as ptr will always return NULL with no side effects.
 */
-void *_talloc_steal_internal(const void *new_ctx, const void *ptr)
+static void *_talloc_steal_internal(const void *new_ctx, const void *ptr)
 {
 	struct talloc_chunk *tc, *new_tc;
 
@@ -665,13 +666,12 @@ void *_talloc_steal_internal(const void *new_ctx, const void *ptr)
 	return discard_const_p(void, ptr);
 }
 
-
 /* 
    move a lump of memory from one talloc context to another return the
    ptr on success, or NULL if it could not be transferred.
    passing NULL as ptr will always return NULL with no side effects.
 */
-void *_talloc_steal(const void *new_ctx, const void *ptr, const char *location)
+void *_talloc_steal_loc(const void *new_ctx, const void *ptr, const char *location)
 {
 	struct talloc_chunk *tc;
 
@@ -683,9 +683,13 @@ void *_talloc_steal(const void *new_ctx, const void *ptr, const char *location)
 	
 	if (unlikely(tc->refs != NULL) && talloc_parent(ptr) != new_ctx) {
 		struct talloc_reference_handle *h;
+#if DEVELOPER
 		fprintf(stderr, "ERROR: talloc_steal with references at %s\n", location);
+#endif
 		for (h=tc->refs; h; h=h->next) {
+#if DEVELOPER
 			fprintf(stderr, "\treference at %s\n", h->location);
+#endif
 		}
 		return NULL;
 	}
@@ -1054,9 +1058,13 @@ int _talloc_free(void *ptr, const char *location)
 	
 	if (unlikely(tc->refs != NULL)) {
 		struct talloc_reference_handle *h;
+#if DEVELOPER
 		fprintf(stderr, "ERROR: talloc_free with references at %s\n", location);
+#endif
 		for (h=tc->refs; h; h=h->next) {
+#if DEVELOPER
 			fprintf(stderr, "\treference at %s\n", h->location);
+#endif
 		}
 		return -1;
 	}
@@ -1876,3 +1884,30 @@ int talloc_is_parent(const void *context, const void *ptr)
 	}
 	return 0;
 }
+
+
+
+
+/* ABI compat functions (do NOT append anything beyond thess functions,
+ * keep them as the last ones in the file) */
+
+static const char *talloc_ABI_compat_location = "Called from compatibility function";
+
+/* ABI compat function (don't use) */
+void *_talloc_reference(const void *context, const void *ptr) {
+	return _talloc_reference_loc(context, ptr, talloc_ABI_compat_location);
+}
+
+/* ABI compat function (don't use) */
+void *_talloc_steal(const void *new_ctx, const void *ptr)
+{
+	return _talloc_steal_internal(new_ctx, ptr);
+}
+
+#undef talloc_free
+int talloc_free(void *ptr)
+{
+	return _talloc_free_internal(ptr);
+}
+
+/* DO NOT APPEND ANYTHING BEYOND THIS POINT */
diff --git a/lib/talloc/talloc.exports b/lib/talloc/talloc.exports
index b787845..2459c48 100644
--- a/lib/talloc/talloc.exports
+++ b/lib/talloc/talloc.exports
@@ -12,7 +12,7 @@
            talloc_enable_leak_report_full;
            talloc_enable_null_tracking;
            talloc_find_parent_byname;
-           talloc_free;
+           _talloc_free;
            talloc_free_children;
            talloc_get_name;
            talloc_get_size;
@@ -32,6 +32,8 @@
            talloc_realloc_fn;
            _talloc_reference;
            talloc_reference_count;
+           _talloc_reference_loc;
+           talloc_reparent;
            talloc_report;
            talloc_report_depth_cb;
            talloc_report_depth_file;
@@ -42,6 +44,7 @@
            talloc_set_name_const;
            talloc_show_parents;
            _talloc_steal;
+           _talloc_steal_loc;
            talloc_strdup;
            talloc_strdup_append;
            talloc_strdup_append_buffer;
@@ -56,6 +59,7 @@
            talloc_vasprintf_append_buffer;
            _talloc_zero;
            _talloc_zero_array;
+           talloc_free;
 
     local: *;
 };
diff --git a/lib/talloc/talloc.h b/lib/talloc/talloc.h
index 9d1aa0d..855f778 100644
--- a/lib/talloc/talloc.h
+++ b/lib/talloc/talloc.h
@@ -69,15 +69,15 @@ typedef void TALLOC_CTX;
 	} while(0)
 /* this extremely strange macro is to avoid some braindamaged warning
    stupidity in gcc 4.1.x */
-#define talloc_steal(ctx, ptr) ({ _TALLOC_TYPEOF(ptr) __talloc_steal_ret = (_TALLOC_TYPEOF(ptr))_talloc_steal((ctx),(ptr), __location__); __talloc_steal_ret; })
+#define talloc_steal(ctx, ptr) ({ _TALLOC_TYPEOF(ptr) __talloc_steal_ret = (_TALLOC_TYPEOF(ptr))_talloc_steal_loc((ctx),(ptr), __location__); __talloc_steal_ret; })
 #else
 #define talloc_set_destructor(ptr, function) \
 	_talloc_set_destructor((ptr), (int (*)(void *))(function))
 #define _TALLOC_TYPEOF(ptr) void *
-#define talloc_steal(ctx, ptr) (_TALLOC_TYPEOF(ptr))_talloc_steal((ctx),(ptr), __location__)
+#define talloc_steal(ctx, ptr) (_TALLOC_TYPEOF(ptr))_talloc_steal_loc((ctx),(ptr), __location__)
 #endif
 
-#define talloc_reference(ctx, ptr) (_TALLOC_TYPEOF(ptr))_talloc_reference((ctx),(ptr), __location__)
+#define talloc_reference(ctx, ptr) (_TALLOC_TYPEOF(ptr))_talloc_reference_loc((ctx),(ptr), __location__)
 #define talloc_move(ctx, ptr) (_TALLOC_TYPEOF(*(ptr)))_talloc_move((ctx),(void *)(ptr))
 
 /* useful macros for creating type checked pointers */
@@ -126,7 +126,7 @@ void *talloc_pool(const void *context, size_t size);
 void _talloc_set_destructor(const void *ptr, int (*_destructor)(void *));
 int talloc_increase_ref_count(const void *ptr);
 size_t talloc_reference_count(const void *ptr);
-void *_talloc_reference(const void *context, const void *ptr, const char *location);
+void *_talloc_reference_loc(const void *context, const void *ptr, const char *location);
 int talloc_unlink(const void *context, void *ptr);
 const char *talloc_set_name(const void *ptr, const char *fmt, ...) PRINTF_ATTRIBUTE(2,3);
 void talloc_set_name_const(const void *ptr, const char *name);
@@ -142,8 +142,7 @@ void *talloc_init(const char *fmt, ...) PRINTF_ATTRIBUTE(1,2);
 int _talloc_free(void *ptr, const char *location);
 void talloc_free_children(void *ptr);
 void *_talloc_realloc(const void *context, void *ptr, size_t size, const char *name);
-void *_talloc_steal(const void *new_ctx, const void *ptr, const char *location);
-void *_talloc_steal_internal(const void *new_ctx, const void *ptr);
+void *_talloc_steal_loc(const void *new_ctx, const void *ptr, const char *location);
 void *talloc_reparent(const void *old_parent, const void *new_parent, const void *ptr);
 void *_talloc_move(const void *new_ctx, const void *pptr);
 size_t talloc_total_size(const void *ptr);
@@ -191,4 +190,7 @@ char *talloc_asprintf_append_buffer(char *s, const char *fmt, ...) PRINTF_ATTRIB
 
 void talloc_set_abort_fn(void (*abort_fn)(const char *reason));
 
+/* for ABI compatibility, never use in new code */
+void *_talloc_reference(const void *context, const void *ptr);
+void *_talloc_steal(const void *new_ctx, const void *ptr);
 #endif
diff --git a/lib/talloc/talloc.signatures b/lib/talloc/talloc.signatures
index e2fc8ae..96b71f7 100644
--- a/lib/talloc/talloc.signatures
+++ b/lib/talloc/talloc.signatures
@@ -1,56 +1,59 @@
-void *_talloc (const void *, size_t);
-void *talloc_pool (const void *, size_t);
-void _talloc_set_destructor (const void *, int (*) (void *));
+char *talloc_asprintf_append_buffer (char *, const char *, ...);
+char *talloc_asprintf_append (char *, const char *, ...);
+char *talloc_asprintf (const void *, const char *, ...);
+char *talloc_strdup_append_buffer (char *, const char *);
+char *talloc_strdup_append (char *, const char *);
+char *talloc_strdup (const void *, const char *);
+char *talloc_strndup_append_buffer (char *, const char *, size_t);
+char *talloc_strndup_append (char *, const char *, size_t);
+char *talloc_strndup (const void *, const char *, size_t);
+char *talloc_vasprintf_append_buffer (char *, const char *, va_list);
+char *talloc_vasprintf_append (char *, const char *, va_list);
+char *talloc_vasprintf (const void *, const char *, va_list);
+const char *talloc_get_name (const void *);
+const char *talloc_parent_name (const void *);
+const char *talloc_set_name (const void *, const char *, ...);
+int _talloc_free (void *, const char *);
 int talloc_increase_ref_count (const void *);
-size_t talloc_reference_count (const void *);
-void *_talloc_reference (const void *, const void *);
+int talloc_is_parent (const void *, const void *);
 int talloc_unlink (const void *, void *);
-const char *talloc_set_name (const void *, const char *, ...);
-void talloc_set_name_const (const void *, const char *);
-void *talloc_named (const void *, size_t, const char *, ...);
-void *talloc_named_const (const void *, size_t, const char *);
-const char *talloc_get_name (const void *);
+size_t talloc_get_size (const void *);
+size_t talloc_reference_count (const void *);
+size_t talloc_total_blocks (const void *);
+size_t talloc_total_size (const void *);
+void *_talloc_array (const void *, size_t, unsigned int, const char *);
+void *talloc_autofree_context (void);
 void *talloc_check_name (const void *, const char *);
+void *_talloc (const void *, size_t);
+void talloc_disable_null_tracking (void);
+void talloc_enable_leak_report_full (void);
+void talloc_enable_leak_report (void);
+void talloc_enable_null_tracking (void);
+void *talloc_find_parent_byname (const void *, const char *);
+void talloc_free_children (void *);
 void *_talloc_get_type_abort (const void *, const char *, const char *);
-void *talloc_parent (const void *);
-const char *talloc_parent_name (const void *);
 void *talloc_init (const char *, ...);
-int talloc_free (void *);
-void talloc_free_children (void *);
-void *_talloc_realloc (const void *, void *, size_t, const char *);
-void *_talloc_steal (const void *, const void *);
+void *_talloc_memdup (const void *, const void *, size_t, const char *);
 void *_talloc_move (const void *, const void *);
-size_t talloc_total_size (const void *);
-size_t talloc_total_blocks (const void *);
+void *talloc_named_const (const void *, size_t, const char *);
+void *talloc_named (const void *, size_t, const char *, ...);
+void *talloc_parent (const void *);
+void *talloc_pool (const void *, size_t);
+void *_talloc_realloc_array (const void *, void *, size_t, unsigned int, const char *);
+void *_talloc_realloc (const void *, void *, size_t, const char *);
+void *talloc_realloc_fn (const void *, void *, size_t);
+void *_talloc_reference (const void *, const void *);
+void *_talloc_reference_loc (const void *, const void *, const char *);
+void *talloc_reparent (const void *, const void *, const void *);
+void talloc_report (const void *, FILE *);
 void talloc_report_depth_cb (const void *, int, int, void (*) (const void *, int, int, int, void *), void *);
 void talloc_report_depth_file (const void *, int, int, FILE *);
 void talloc_report_full (const void *, FILE *);
-void talloc_report (const void *, FILE *);
-void talloc_enable_null_tracking (void);
-void talloc_disable_null_tracking (void);
-void talloc_enable_leak_report (void);
-void talloc_enable_leak_report_full (void);
-void *_talloc_zero (const void *, size_t, const char *);
-void *_talloc_memdup (const void *, const void *, size_t, const char *);
-void *_talloc_array (const void *, size_t, unsigned int, const char *);
-void *_talloc_zero_array (const void *, size_t, unsigned int, const char *);
-void *_talloc_realloc_array (const void *, void *, size_t, unsigned int, const char *);
-void *talloc_realloc_fn (const void *, void *, size_t);
-void *talloc_autofree_context (void);
-size_t talloc_get_size (const void *);
-void *talloc_find_parent_byname (const void *, const char *);
-void talloc_show_parents (const void *, FILE *);
-int talloc_is_parent (const void *, const void *);
-char *talloc_strdup (const void *, const char *);
-char *talloc_strdup_append (char *, const char *);
-char *talloc_strdup_append_buffer (char *, const char *);
-char *talloc_strndup (const void *, const char *, size_t);
-char *talloc_strndup_append (char *, const char *, size_t);
-char *talloc_strndup_append_buffer (char *, const char *, size_t);
-char *talloc_vasprintf (const void *, const char *, __va_list_tag *);
-char *talloc_vasprintf_append (char *, const char *, __va_list_tag *);
-char *talloc_vasprintf_append_buffer (char *, const char *, __va_list_tag *);
-char *talloc_asprintf (const void *, const char *, ...);
-char *talloc_asprintf_append (char *, const char *, ...);
-char *talloc_asprintf_append_buffer (char *, const char *, ...);
 void talloc_set_abort_fn (void (*) (const char *));
+void _talloc_set_destructor (const void *, int (*) (void *));
+void talloc_set_name_const (const void *, const char *);
+void talloc_show_parents (const void *, FILE *);
+void *_talloc_steal (const void *, const void *);
+void *_talloc_steal_loc (const void *, const void *, const char *);
+void *_talloc_zero_array (const void *, size_t, unsigned int, const char *);
+void *_talloc_zero (const void *, size_t, const char *);
diff --git a/lib/tdb/abi_checks.sh b/lib/tdb/abi_checks.sh
index 042b0f3..f0e02f4 100755
--- a/lib/tdb/abi_checks.sh
+++ b/lib/tdb/abi_checks.sh
@@ -7,7 +7,7 @@ mkdir -p abi/tools
 ABI_CHECKS="-aux-info abi/\$@.X"
 make ABI_CHECK="$ABI_CHECKS" CC="/usr/bin/gcc"
 
-for i in abi/*/*.X; do cat $i | grep 'tdb\.h'; done | sort | uniq | awk -F "extern " '{ print $2 }' > abi/signatures
+for i in abi/*/*.X; do cat $i | grep 'tdb\.h'; done | sort | uniq | awk -F "extern " '{ print $2 }' | sort > abi/signatures
 grep '^extern' include/tdb.h | grep -v '"C"' | sort | uniq | awk -F "extern " '{ print $2 }' >> abi/signatures
 
 cat > abi/exports << EOF
diff --git a/lib/tdb/tdb.signatures b/lib/tdb/tdb.signatures
index 12e0b24..140e35a 100644
--- a/lib/tdb/tdb.signatures
+++ b/lib/tdb/tdb.signatures
@@ -1,59 +1,59 @@
-int tdb_reopen (struct tdb_context *);
-int tdb_reopen_all (int);
-void tdb_set_logging_function (struct tdb_context *, const struct tdb_logging_context *);
-enum TDB_ERROR tdb_error (struct tdb_context *);
 const char *tdb_errorstr (struct tdb_context *);
-TDB_DATA tdb_fetch (struct tdb_context *, TDB_DATA);
-int tdb_parse_record (struct tdb_context *, TDB_DATA, int (*) (TDB_DATA, TDB_DATA, void *), void *);
-int tdb_delete (struct tdb_context *, TDB_DATA);
-int tdb_store (struct tdb_context *, TDB_DATA, TDB_DATA, int);
+const char *tdb_name (struct tdb_context *);
+enum TDB_ERROR tdb_error (struct tdb_context *);
 int tdb_append (struct tdb_context *, TDB_DATA, TDB_DATA);
+int tdb_chainlock_mark (struct tdb_context *, TDB_DATA);
+int tdb_chainlock_nonblock (struct tdb_context *, TDB_DATA);
+int tdb_chainlock_read (struct tdb_context *, TDB_DATA);
+int tdb_chainlock (struct tdb_context *, TDB_DATA);
+int tdb_chainlock_unmark (struct tdb_context *, TDB_DATA);
+int tdb_chainunlock_read (struct tdb_context *, TDB_DATA);
+int tdb_chainunlock (struct tdb_context *, TDB_DATA);
 int tdb_close (struct tdb_context *);
-TDB_DATA tdb_firstkey (struct tdb_context *);
-TDB_DATA tdb_nextkey (struct tdb_context *, TDB_DATA);
-int tdb_traverse (struct tdb_context *, tdb_traverse_func, void *);
-int tdb_traverse_read (struct tdb_context *, tdb_traverse_func, void *);
+int tdb_delete (struct tdb_context *, TDB_DATA);
 int tdb_exists (struct tdb_context *, TDB_DATA);
-int tdb_lockall (struct tdb_context *);
+int tdb_fd (struct tdb_context *);
+int tdb_freelist_size (struct tdb_context *);
+int tdb_get_flags (struct tdb_context *);
+int tdb_get_seqnum (struct tdb_context *);
+int tdb_hash_size (struct tdb_context *);
+int tdb_lockall_mark (struct tdb_context *);
 int tdb_lockall_nonblock (struct tdb_context *);
-int tdb_unlockall (struct tdb_context *);
-int tdb_lockall_read (struct tdb_context *);
 int tdb_lockall_read_nonblock (struct tdb_context *);
-int tdb_unlockall_read (struct tdb_context *);
-int tdb_lockall_mark (struct tdb_context *);
+int tdb_lockall_read (struct tdb_context *);
+int tdb_lockall (struct tdb_context *);
 int tdb_lockall_unmark (struct tdb_context *);
-const char *tdb_name (struct tdb_context *);
-int tdb_fd (struct tdb_context *);
-tdb_log_func tdb_log_fn (struct tdb_context *);
-void *tdb_get_logging_private (struct tdb_context *);
-int tdb_transaction_start (struct tdb_context *);
-int tdb_transaction_prepare_commit (struct tdb_context *);
-int tdb_transaction_commit (struct tdb_context *);
+int tdb_parse_record (struct tdb_context *, TDB_DATA, int (*) (TDB_DATA, TDB_DATA, void *), void *);
+int tdb_printfreelist (struct tdb_context *);
+int tdb_reopen_all (int);
+int tdb_reopen (struct tdb_context *);
+int tdb_repack (struct tdb_context *);
+int tdb_store (struct tdb_context *, TDB_DATA, TDB_DATA, int);
 int tdb_transaction_cancel (struct tdb_context *);
+int tdb_transaction_commit (struct tdb_context *);
+int tdb_transaction_prepare_commit (struct tdb_context *);
 int tdb_transaction_recover (struct tdb_context *);
-int tdb_get_seqnum (struct tdb_context *);
-int tdb_hash_size (struct tdb_context *);
+int tdb_transaction_start (struct tdb_context *);
+int tdb_traverse_read (struct tdb_context *, tdb_traverse_func, void *);
+int tdb_traverse (struct tdb_context *, tdb_traverse_func, void *);
+int tdb_unlockall_read (struct tdb_context *);
+int tdb_unlockall (struct tdb_context *);
+int tdb_validate_freelist (struct tdb_context *, int *);
+int tdb_wipe_all (struct tdb_context *);
 size_t tdb_map_size (struct tdb_context *);
-int tdb_get_flags (struct tdb_context *);
+struct tdb_context *tdb_open (const char *, int, int, int, mode_t);
+struct tdb_context *tdb_open_ex (const char *, int, int, int, mode_t, const struct tdb_logging_context *, tdb_hash_func);
+TDB_DATA tdb_fetch (struct tdb_context *, TDB_DATA);
+TDB_DATA tdb_firstkey (struct tdb_context *);
+TDB_DATA tdb_nextkey (struct tdb_context *, TDB_DATA);
+tdb_log_func tdb_log_fn (struct tdb_context *);
 void tdb_add_flags (struct tdb_context *, unsigned int);
-void tdb_remove_flags (struct tdb_context *, unsigned int);
+void tdb_dump_all (struct tdb_context *);
 void tdb_enable_seqnum (struct tdb_context *);
+void *tdb_get_logging_private (struct tdb_context *);
 void tdb_increment_seqnum_nonblock (struct tdb_context *);
-int tdb_chainlock (struct tdb_context *, TDB_DATA);
-int tdb_chainlock_nonblock (struct tdb_context *, TDB_DATA);
-int tdb_chainunlock (struct tdb_context *, TDB_DATA);
-int tdb_chainlock_read (struct tdb_context *, TDB_DATA);
-int tdb_chainunlock_read (struct tdb_context *, TDB_DATA);
-int tdb_chainlock_mark (struct tdb_context *, TDB_DATA);
-int tdb_chainlock_unmark (struct tdb_context *, TDB_DATA);
+void tdb_remove_flags (struct tdb_context *, unsigned int);
 void tdb_setalarm_sigptr (struct tdb_context *, volatile sig_atomic_t *);
-int tdb_wipe_all (struct tdb_context *);
-int tdb_repack (struct tdb_context *);
-void tdb_dump_all (struct tdb_context *);
-int tdb_printfreelist (struct tdb_context *);
-int tdb_validate_freelist (struct tdb_context *, int *);
-int tdb_freelist_size (struct tdb_context *);
-struct tdb_context *tdb_open (const char *, int, int, int, mode_t);
-struct tdb_context *tdb_open_ex (const char *, int, int, int, mode_t, const struct tdb_logging_context *, tdb_hash_func);
+void tdb_set_logging_function (struct tdb_context *, const struct tdb_logging_context *);
 void tdb_set_max_dead (struct tdb_context *, int);
 TDB_DATA tdb_null;
diff --git a/lib/tevent/abi_checks.sh b/lib/tevent/abi_checks.sh
index 83082ad..9518209 100755
--- a/lib/tevent/abi_checks.sh
+++ b/lib/tevent/abi_checks.sh
@@ -3,9 +3,9 @@ make clean
 
 mkdir abi
 ABI_CHECKS="-aux-info abi/\$@.X"
-make ABI_CHECK="$ABI_CHECKS"
+make ABI_CHECK="$ABI_CHECKS" CC="/usr/bin/gcc"
 
-for i in abi/*.X; do cat $i | grep 'tevent\.h'; done | sort | uniq | awk -F "extern " '{ print $2 }' > abi/signatures
+for i in abi/*.X; do cat $i | grep 'tevent\.h'; done | sort | uniq | awk -F "extern " '{ print $2 }' | sort> abi/signatures
 
 cat > abi/exports << EOF
 {
diff --git a/lib/tevent/tevent.exports b/lib/tevent/tevent.exports
index 7d55c17..b1554df 100644
--- a/lib/tevent/tevent.exports
+++ b/lib/tevent/tevent.exports
@@ -21,6 +21,7 @@
            tevent_queue_length;
            tevent_queue_start;
            tevent_queue_stop;
+           tevent_register_backend;
            _tevent_req_callback_data;
            _tevent_req_create;
            _tevent_req_data;
diff --git a/lib/tevent/tevent.h b/lib/tevent/tevent.h
index 2cbd175..56ae0ee 100644
--- a/lib/tevent/tevent.h
+++ b/lib/tevent/tevent.h
@@ -358,6 +358,70 @@ int _tevent_loop_until(struct tevent_context *ev,
 	_tevent_loop_until(ev, finished, private_data, __location__)
 #endif
 
+
+/**
+ * The following structure and registration functions are exclusively
+ * needed for people writing and pluggin a different event engine.
+ * There is nothing useful for normal tevent user in here.
+ */
+


-- 
Samba Shared Repository


More information about the samba-cvs mailing list