r14542: Remove librpc, libndr and libnbt from includes.h
[ira/wip.git] / source / include / includes.h
index 3fe3b78c901cb9ffdf3249b7dee14077ca7b9676..b87e6acff7b5f5b0b1e3dd2206aed02437604cb7 100644 (file)
@@ -23,7 +23,6 @@
 
 #ifndef NO_CONFIG_H /* for some tests */
 #include "config.h"
-#include "smb_build.h"
 #endif
 
 #include "local.h"
 /** Feel free to add definitions for other compilers here. */
 #endif
 
+#ifndef _PUBLIC_
+#ifdef HAVE_VISIBILITY_ATTR
+#  define _PUBLIC_ __attribute__((visibility("default")))
+#else
+#  define _PUBLIC_
+#endif
+#endif
+
+#ifndef PRINTF_ATTRIBUTE
+#if !defined(NO_PRINTF_ATTRIBUTE) && (__GNUC__ >= 3)
+/** Use gcc attribute to check printf fns.  a1 is the 1-based index of
+ * the parameter containing the format, and a2 the index of the first
+ * argument. Note that some gcc 2.x versions don't handle this
+ * properly **/
+#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format (__printf__, a1, a2)))
+#else
+#define PRINTF_ATTRIBUTE(a1, a2)
+#endif
+#endif
+
+#ifndef NORETURN_ATTRIBUTE
+#if (__GNUC__ >= 3)
+#define NORETURN_ATTRIBUTE __attribute__ ((noreturn))
+#else
+#define NORETURN_ATTRIBUTE
+#endif
+#endif
+
+/* mark smb_panic() as noreturn, so static analysers know that it is
+   used like abort */
+_PUBLIC_ void smb_panic(const char *why) NORETURN_ATTRIBUTE;
+
 #include <sys/types.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <stdint.h>
 #endif
 
+#ifdef HAVE_INTTYPES_H
+#include <inttypes.h>
+#endif
+
 #ifdef HAVE_STRING_H
 #include <string.h>
 #endif
 #include <varargs.h>
 #endif
 
-#ifdef HAVE_WINSOCK2_H
-#include <winsock2.h>
-#endif
-
-#ifdef HAVE_WINDOWS_H
-#include <windows.h>
-#endif
-
-/* we support ADS if we want it and have krb5 and ldap libs */
-#if defined(WITH_ADS) && defined(HAVE_KRB5) && defined(HAVE_LDAP)
-#define HAVE_ADS
-#endif
-
-/* tell ldb we have the internal ldap code */
-#define HAVE_ILDAP 1
-
-/*
- * Define VOLATILE if needed.
- */
-
-#define False (0)
-#define True (1)
-#define Auto (2)
-
-typedef int BOOL;
-
-/*
-  we use struct ipv4_addr to avoid having to include all the
-  system networking headers everywhere
-*/
-struct ipv4_addr {
-       uint32_t addr;
-};
-
-#ifndef HAVE_STRERROR
-extern char *sys_errlist[];
-#define strerror(i) sys_errlist[i]
-#endif
-
-#ifndef HAVE_ERRNO_DECL
-extern int errno;
-#endif
-
+#define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2)
 #include "lib/replace/replace.h"
 
 /* Lists, trees, caching, database... */
-#include "xfile.h"
-#include "lib/talloc/talloc.h"
-#include "nt_status.h"
-#include "structs.h"
-#include "trans2.h"
-#include "nterr.h"
-#include "charset.h"
-#include "debug.h"
-#include "doserr.h"
-#include "enums.h"
-#include "smb_macros.h"
-#include "smb.h"
-#include "byteorder.h"
-#include "module.h"
-#include "librpc/ndr/libndr.h"
-#include "librpc/gen_ndr/ndr_misc.h"
-#include "librpc/gen_ndr/ndr_dcerpc.h"
-#include "librpc/ndr/ndr_orpc.h"
-#include "librpc/gen_ndr/ndr_orpc.h"
-#include "librpc/rpc/dcerpc.h"
-#include "smb_interfaces.h"
-#include "ntvfs/ntvfs.h"
-#include "cli_context.h"
-#include "lib/com/com.h"
-#include "credentials.h"
-
-
-
-#define malloc_p(type) (type *)malloc(sizeof(type))
-#define malloc_array_p(type, count) (type *)realloc_array(NULL, sizeof(type), count)
-#define realloc_p(p, type, count) (type *)realloc_array(p, sizeof(type), count)
-
-/***** automatically generated prototypes *****/
-#define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2)
-#include "proto.h"
-#undef _PRINTF_ATTRIBUTE
-#define _PRINTF_ATTRIBUTE(a1, a2)
+#include "talloc/talloc.h"
+#include "core.h"
+#include "charset/charset.h"
+#include "util/util.h"
+#include "param/param.h"
+#include "libcli/util/nterr.h"
+#include "libcli/util/doserr.h"
+#include "librpc/gen_ndr/misc.h"
+
+struct smbcli_tree;
+#include "libcli/util/proto.h"
 
 /* String routines */
-
-#include "safe_string.h"
-
-#ifndef HAVE_PIPE
-#define SYNC_DNS 1
-#endif
-
-extern int DEBUGLEVEL;
-
-#if defined(VALGRIND)
-#define strlen(x) valgrind_strlen(x)
-#endif
+#include "util/safe_string.h"
 
 #if 0
 /* darn, we can't do this now that we don't link the ldb tools to all the smb libs */
 #define TALLOC_ABORT(reason) smb_panic(reason)
 #endif
 
-/*
-  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.
-*/
-#ifdef HAVE_INTPTR_T
-#define discard_const(ptr) ((void *)((intptr_t)(ptr)))
-#else
-#define discard_const(ptr) ((void *)(ptr))
-#endif
-#define discard_const_p(type, ptr) ((type *)discard_const(ptr))
-
-#ifndef HAVE_SSIZE_T
-#define ssize_t int
-#endif
-
-/*
-  type safe varient of smb_xmalloc()
-*/
-#define smb_xmalloc_p(type) (type *)smb_xmalloc(sizeof(type))
-
 #endif /* _INCLUDES_H */
-