Skip to content

Commit

Permalink
Add a new header file for functions in lib/util/util.c.
Browse files Browse the repository at this point in the history
This allows public headers to not include samba_util.h, but rather
specific header files under lib/util.

Signed-Off-By: Jelmer Vernooij <[email protected]>
Reviewed-By: Andrew Bartlett <[email protected]>
Reviewed-By: Stefan Metzmacher <[email protected]>
  • Loading branch information
jelmer committed Jan 13, 2016
1 parent 512d15d commit ffbd9c4
Show file tree
Hide file tree
Showing 7 changed files with 64 additions and 33 deletions.
31 changes: 2 additions & 29 deletions lib/util/samba_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ extern const char *panic_action;

#include "fault.h"

#include "lib/util/util.h"

/**
* Write backtrace to debug log
*/
Expand Down Expand Up @@ -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.
*
Expand Down
53 changes: 53 additions & 0 deletions lib/util/util.h
Original file line number Diff line number Diff line change
@@ -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 <http://www.gnu.org/licenses/>.
*/

#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
3 changes: 1 addition & 2 deletions lib/util/wscript_build
Original file line number Diff line number Diff line change
Expand Up @@ -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',
Expand Down
2 changes: 2 additions & 0 deletions libcli/nbt/libnbt.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
*/
Expand Down
6 changes: 4 additions & 2 deletions librpc/ndr/libndr.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,10 @@
#define __LIBNDR_H__

#include <talloc.h>
#include <sys/time.h>
#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"

/*
Expand Down
1 change: 1 addition & 0 deletions librpc/ndr/ndr_basic.c
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down
1 change: 1 addition & 0 deletions librpc/rpc/rpc_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down

0 comments on commit ffbd9c4

Please sign in to comment.