diff --git a/lib/util/samba_util.h b/lib/util/samba_util.h
index d2868d76466a..1f265e8490b7 100644
--- a/lib/util/samba_util.h
+++ b/lib/util/samba_util.h
@@ -61,6 +61,8 @@ extern const char *panic_action;
#include "fault.h"
+#include "lib/util/util.h"
+
/**
* Write backtrace to debug log
*/
@@ -582,35 +584,6 @@ _PUBLIC_ bool process_exists_by_pid(pid_t pid);
**/
_PUBLIC_ bool fcntl_lock(int fd, int op, off_t offset, off_t count, int type);
-/**
- * Write dump of binary data to a callback
- */
-void dump_data_cb(const uint8_t *buf, int len,
- bool omit_zero_bytes,
- void (*cb)(const char *buf, void *private_data),
- void *private_data);
-
-/**
- * Write dump of binary data to a FILE
- */
-void dump_data_file(const uint8_t *buf, int len, bool omit_zero_bytes,
- FILE *f);
-
-/**
- * Write dump of binary data to the log file.
- *
- * The data is only written if the log level is at least level.
- */
-_PUBLIC_ void dump_data(int level, const uint8_t *buf,int len);
-
-/**
- * Write dump of binary data to the log file.
- *
- * The data is only written if the log level is at least level for
- * debug class dbgc_class.
- */
-_PUBLIC_ void dump_data_dbgc(int dbgc_class, int level, const uint8_t *buf, int len);
-
/**
* Write dump of binary data to the log file.
*
diff --git a/lib/util/util.h b/lib/util/util.h
new file mode 100644
index 000000000000..5a0ce5cdb2a3
--- /dev/null
+++ b/lib/util/util.h
@@ -0,0 +1,53 @@
+/*
+ Unix SMB/CIFS implementation.
+ Utility functions for Samba
+ Copyright (C) Andrew Tridgell 1992-1999
+ Copyright (C) Jelmer Vernooij 2005
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+*/
+
+#ifndef __UTIL_SAMBA_UTIL_H__
+#define __UTIL_SAMBA_UTIL_H__
+
+/**
+ * Write dump of binary data to a callback
+ */
+void dump_data_cb(const uint8_t *buf, int len,
+ bool omit_zero_bytes,
+ void (*cb)(const char *buf, void *private_data),
+ void *private_data);
+
+/**
+ * Write dump of binary data to a FILE
+ */
+void dump_data_file(const uint8_t *buf, int len, bool omit_zero_bytes,
+ FILE *f);
+
+/**
+ * Write dump of binary data to the log file.
+ *
+ * The data is only written if the log level is at least level.
+ */
+_PUBLIC_ void dump_data(int level, const uint8_t *buf,int len);
+
+/**
+ * Write dump of binary data to the log file.
+ *
+ * The data is only written if the log level is at least level for
+ * debug class dbgc_class.
+ */
+_PUBLIC_ void dump_data_dbgc(int dbgc_class, int level, const uint8_t *buf, int len);
+
+#endif
diff --git a/lib/util/wscript_build b/lib/util/wscript_build
index 226b15e31c72..c8ee8a0ddace 100755
--- a/lib/util/wscript_build
+++ b/lib/util/wscript_build
@@ -104,9 +104,8 @@ if not bld.env.SAMBA_UTIL_CORE_ONLY:
server_id.c dprintf.c bitmap.c pidfile.c
tevent_debug.c memcache.c''',
deps='samba-util-core DYNCONFIG close-low-fd tini tiniparser genrand',
-
public_deps='talloc tevent execinfo pthread LIBCRYPTO charset util_setid systemd systemd-daemon',
- public_headers='debug.h attr.h byteorder.h data_blob.h memory.h safe_string.h time.h talloc_stack.h xfile.h dlinklist.h samba_util.h string_wrappers.h idtree.h idtree_random.h blocking.h signal.h substitute.h fault.h genrand.h',
+ public_headers='debug.h attr.h byteorder.h data_blob.h memory.h safe_string.h time.h talloc_stack.h xfile.h string_wrappers.h idtree.h idtree_random.h blocking.h signal.h substitute.h fault.h genrand.h',
header_path= [ ('dlinklist.h samba_util.h', '.'), ('*', 'util') ],
local_include=False,
vnum='0.0.1',
diff --git a/libcli/nbt/libnbt.h b/libcli/nbt/libnbt.h
index c345a1fe2d0e..fd0c7fea66d0 100644
--- a/libcli/nbt/libnbt.h
+++ b/libcli/nbt/libnbt.h
@@ -24,6 +24,8 @@
#include "librpc/gen_ndr/nbt.h"
#include "librpc/ndr/libndr.h"
+#include "lib/util/xfile.h"
+
/*
possible states for pending requests
*/
diff --git a/librpc/ndr/libndr.h b/librpc/ndr/libndr.h
index 5c1487be2039..c6116ed8119f 100644
--- a/librpc/ndr/libndr.h
+++ b/librpc/ndr/libndr.h
@@ -26,8 +26,10 @@
#define __LIBNDR_H__
#include
-#include
-#include "../lib/util/samba_util.h" /* for discard_const */
+#include "../lib/util/memory.h" /* for discard_const */
+#include "../lib/util/byteorder.h"
+#include "../lib/util/data_blob.h"
+#include "../lib/util/time.h"
#include "../lib/util/charset/charset.h"
/*
diff --git a/librpc/ndr/ndr_basic.c b/librpc/ndr/ndr_basic.c
index ecc0f74fbe77..b532cc55b431 100644
--- a/librpc/ndr/ndr_basic.c
+++ b/librpc/ndr/ndr_basic.c
@@ -24,6 +24,7 @@
#include "librpc/ndr/libndr.h"
#include "lib/util/util_net.h"
#include "lib/util/debug.h"
+#include "lib/util/util.h"
#define NDR_SVAL(ndr, ofs) (NDR_BE(ndr)?RSVAL(ndr->data,ofs):SVAL(ndr->data,ofs))
#define NDR_IVAL(ndr, ofs) (NDR_BE(ndr)?RIVAL(ndr->data,ofs):IVAL(ndr->data,ofs))
diff --git a/librpc/rpc/rpc_common.h b/librpc/rpc/rpc_common.h
index 28600c9da7c4..b03b9ffc8143 100644
--- a/librpc/rpc/rpc_common.h
+++ b/librpc/rpc/rpc_common.h
@@ -23,6 +23,7 @@
#define __DEFAULT_LIBRPC_RPCCOMMON_H__
#include "gen_ndr/dcerpc.h"
+#include "lib/util/attr.h"
struct dcerpc_binding_handle;
struct GUID;