2003-08-13 01:53:07 +00:00
# ifndef _INCLUDES_H
# define _INCLUDES_H
/*
Unix SMB / CIFS implementation .
Machine customisation and include handling
Copyright ( C ) Andrew Tridgell 1994 - 1998
Copyright ( C ) 2002 by Martin Pool < mbp @ samba . org >
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 2 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 , write to the Free Software
Foundation , Inc . , 675 Mass Ave , Cambridge , MA 0213 9 , USA .
*/
# ifndef NO_CONFIG_H /* for some tests */
# include "config.h"
2004-05-13 10:20:53 +00:00
# include "smb_build.h"
2003-08-13 01:53:07 +00:00
# endif
# include "local.h"
# ifdef __GNUC__
/** gcc attribute used on function parameters so that it does not emit
* warnings about them being unused . * */
# define UNUSED(param) param __attribute__ ((unused))
# else
# define UNUSED(param) param
/** Feel free to add definitions for other compilers here. */
# endif
# include <sys/types.h>
# include <stdio.h>
2004-11-02 01:42:45 +00:00
# include <stdlib.h>
2004-11-02 02:57:18 +00:00
# include <stddef.h>
2005-02-11 10:50:54 +00:00
# include <sys/time.h>
2003-08-13 01:53:07 +00:00
2004-11-02 01:42:45 +00:00
# ifdef HAVE_STDINT_H
# include <stdint.h>
2003-08-13 01:53:07 +00:00
# endif
2005-07-22 11:16:32 +00:00
# ifdef HAVE_INTTYPES_H
# include <inttypes.h>
# endif
2003-08-13 01:53:07 +00:00
# ifdef HAVE_STRING_H
# include <string.h>
# endif
# include <signal.h>
# include <errno.h>
# ifdef HAVE_STDARG_H
# include <stdarg.h>
# else
# include <varargs.h>
# endif
2005-05-12 10:46:57 +00:00
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
# endif
2005-07-13 22:11:52 +00:00
# ifdef HAVE_WS2TCPIP_H
# include <ws2tcpip.h>
# endif
2005-05-12 10:46:57 +00:00
# ifdef HAVE_WINDOWS_H
# include <windows.h>
# endif
2005-07-13 20:44:46 +00:00
# if defined(_MSC_VER) || defined(__MINGW32__)
# include "lib/replace/win32/replace.h"
# endif
2003-08-13 01:53:07 +00:00
/* 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
2005-06-17 02:48:48 +00:00
/* tell ldb we have the internal ldap code */
# define HAVE_ILDAP 1
2003-08-13 01:53:07 +00:00
/*
* Define VOLATILE if needed .
*/
2004-11-03 00:17:12 +00:00
# define False (0)
# define True (1)
# define Auto (2)
typedef int BOOL ;
2005-02-01 04:12:44 +00:00
/*
we use struct ipv4_addr to avoid having to include all the
system networking headers everywhere
*/
struct ipv4_addr {
uint32_t addr ;
} ;
2003-08-13 01:53:07 +00:00
# ifndef HAVE_STRERROR
extern char * sys_errlist [ ] ;
# define strerror(i) sys_errlist[i]
# endif
# ifndef HAVE_ERRNO_DECL
extern int errno ;
# endif
2005-07-11 04:17:54 +00:00
# include "lib/replace/replace.h"
2003-08-13 01:53:07 +00:00
/* Lists, trees, caching, database... */
# include "xfile.h"
2005-01-02 07:47:34 +00:00
# include "lib/talloc/talloc.h"
2004-11-16 09:00:52 +00:00
# include "nt_status.h"
# include "structs.h"
2003-08-13 01:53:07 +00:00
# include "trans2.h"
# include "nterr.h"
# include "charset.h"
2004-11-03 00:17:12 +00:00
# include "debug.h"
# include "doserr.h"
# include "enums.h"
# include "smb_macros.h"
2003-08-13 01:53:07 +00:00
# include "smb.h"
# include "byteorder.h"
2003-11-25 03:15:26 +00:00
# include "module.h"
2005-08-02 20:12:31 +00:00
# include "lib/tdr/tdr.h"
2004-11-01 05:26:28 +00:00
# include "librpc/ndr/libndr.h"
2005-07-27 21:09:16 +00:00
# include "librpc/gen_ndr/misc.h"
# include "librpc/gen_ndr/dcerpc.h"
2005-03-06 21:43:54 +00:00
# include "librpc/ndr/ndr_orpc.h"
2005-07-27 21:09:16 +00:00
# include "librpc/gen_ndr/orpc.h"
2003-11-06 12:34:04 +00:00
# include "librpc/rpc/dcerpc.h"
2004-11-01 05:26:28 +00:00
# include "smb_interfaces.h"
2004-02-03 11:18:54 +00:00
# include "ntvfs/ntvfs.h"
2003-12-12 03:59:09 +00:00
# include "cli_context.h"
2005-02-21 14:30:49 +00:00
# include "lib/com/com.h"
2005-05-01 19:29:00 +00:00
# include "credentials.h"
2004-10-25 01:34:56 +00:00
2005-06-07 07:22:25 +00:00
2004-04-10 06:10:26 +00:00
# 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)
2003-08-13 01:53:07 +00:00
/***** automatically generated prototypes *****/
2004-05-26 08:02:20 +00:00
# define _PRINTF_ATTRIBUTE(a1, a2) PRINTF_ATTRIBUTE(a1, a2)
2005-07-21 21:27:39 +00:00
# include "include/proto.h"
2004-05-26 08:02:20 +00:00
# undef _PRINTF_ATTRIBUTE
# define _PRINTF_ATTRIBUTE(a1, a2)
2003-08-13 01:53:07 +00:00
/* 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
2005-01-02 07:47:34 +00:00
#if 0
/* darn, we can't do this now that we don't link the ldb tools to all the smb libs */
2004-09-29 06:31:14 +00:00
# define TALLOC_ABORT(reason) smb_panic(reason)
2005-01-02 07:47:34 +00:00
# endif
2004-10-11 01:03:27 +00:00
/*
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 .
*/
2004-10-13 13:27:52 +00:00
# ifdef HAVE_INTPTR_T
2004-10-11 01:03:27 +00:00
# define discard_const(ptr) ((void *)((intptr_t)(ptr)))
2004-10-13 13:27:52 +00:00
# else
# define discard_const(ptr) ((void *)(ptr))
# endif
2004-10-11 01:03:27 +00:00
# define discard_const_p(type, ptr) ((type *)discard_const(ptr))
2005-07-11 02:34:23 +00:00
# ifndef HAVE_SSIZE_T
# define ssize_t int
# endif
2005-07-13 11:17:32 +00:00
# ifndef UINT16_MAX
# define UINT16_MAX 65535
# endif
2004-12-04 09:30:38 +00:00
/*
type safe varient of smb_xmalloc ( )
*/
# define smb_xmalloc_p(type) (type *)smb_xmalloc(sizeof(type))
2005-01-21 13:29:24 +00:00
# endif /* _INCLUDES_H */