#define _SAMBA_UTIL_H_
#if _SAMBA_BUILD_ == 4
-#include "lib/charset/charset.h"
+#include "../lib/util/charset/charset.h"
#endif
#include "../lib/util/attr.h"
#include "../lib/util/xfile.h"
#include "../lib/util/mutex.h"
#include "../lib/util/byteorder.h"
-
-/**
- this is a warning hack. The idea is to use this everywhere that we
- get the "discarding const" warning from gcc. That doesn't actually
- fix the problem of course, but it means that when we do get to
- cleaning them up we can do it by searching the code for
- discard_const.
-
- It also means that other error types aren't as swamped by the noise
- of hundreds of const warnings, so we are more likely to notice when
- we get new errors.
-
- Please only add more uses of this macro when you find it
- _really_ hard to fix const warnings. Our aim is to eventually use
- this function in only a very few places.
-
- Also, please call this via the discard_const_p() macro interface, as that
- makes the return type safe.
-*/
-#ifndef discard_const
-#define discard_const(ptr) ((void *)((uintptr_t)(ptr)))
-#endif
-
-/** Type-safe version of discard_const */
-#ifndef discard_const_p
-#define discard_const_p(type, ptr) ((type *)discard_const(ptr))
-#endif
+#include "../lib/util/talloc_stack.h"
/**
* assert macros
/* The following definitions come from lib/util/util_strlist.c */
+/* separators for lists */
+#define LIST_SEP " \t,\n\r"
/**
build a null terminated list of strings from a input string and a
**/
_PUBLIC_ char *fd_load(int fd, size_t *size, size_t maxsize, TALLOC_CTX *mem_ctx);
+
+char **file_lines_parse(char *p, size_t size, int *numlines, TALLOC_CTX *mem_ctx);
+
/**
load a file into memory
**/
/**
Check if an IP is the 0.0.0.0.
**/
-_PUBLIC_ bool is_zero_ip(struct in_addr ip);
+_PUBLIC_ bool is_zero_ip_v4(struct in_addr ip);
/**
Are two IPs on the same subnet?
**/
-_PUBLIC_ bool same_net(struct in_addr ip1,struct in_addr ip2,struct in_addr mask);
+_PUBLIC_ bool same_net_v4(struct in_addr ip1,struct in_addr ip2,struct in_addr mask);
+
+_PUBLIC_ bool is_ipaddress_v4(const char *str);
/**
Check if a process exists. Does this work on all unixes?
**/
_PUBLIC_ char *smb_xstrdup(const char *s);
+char *smb_xstrndup(const char *s, size_t n);
+
/**
Like strdup but for memory.
**/
*/
_PUBLIC_ void *realloc_array(void *ptr, size_t el_size, unsigned count, bool free_on_fail);
+void *malloc_array(size_t el_size, unsigned int count);
+
/* The following definitions come from lib/util/fsusage.c */
#define talloc_get_type_abort(ptr, type) \
(type *)talloc_check_name_abort(ptr, #type)
+bool unmap_file(void *start, size_t size);
+
+void print_asc(int level, const uint8_t *buf,int len);
+
#endif /* _SAMBA_UTIL_H_ */