X-Git-Url: http://git.samba.org/?p=samba.git;a=blobdiff_plain;f=source3%2Finclude%2Fincludes.h;h=d345ea38defc3fb7fc8eefb0f35098e84f28803e;hp=265e838be0dce36d605d4df1a6cd551f197c7806;hb=f888868f46a5418bac9ab528497136c152895305;hpb=aa864415c5183c948fe9ae221023d40265c38013 diff --git a/source3/include/includes.h b/source3/include/includes.h index 265e838be0d..d345ea38def 100644 --- a/source3/include/includes.h +++ b/source3/include/includes.h @@ -4,7 +4,7 @@ Unix SMB/Netbios implementation. Version 1.9. Machine customisation and include handling - Copyright (C) Andrew Tridgell 1994-1997 + Copyright (C) Andrew Tridgell 1994-1998 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 @@ -182,6 +182,10 @@ #ifdef POSIX_H #include #else +#ifdef OSF1 +#include +#include +#endif #include #endif #endif @@ -193,7 +197,7 @@ #include #endif -#if defined(SHADOW_PWD) && !defined(NETBSD) && !defined(FreeBSD) && !defined(CONVEX) +#if defined(SHADOW_PWD) && !defined(NETBSD) && !defined(FreeBSD) && !defined(CONVEX) && !defined(__OpenBSD__) #include #endif @@ -201,6 +205,9 @@ #include #endif +#ifdef HAVE_REGEX_H +#include +#endif /*************************************************************************** @@ -214,16 +221,26 @@ Here come some platform specific sections #include #include #include -#ifndef NO_ASMSIGNALH -#include +#ifdef GLIBC2 +#define _LINUX_C_LIB_VERSION_MAJOR 6 +#include +#include +#include +#include +#include #endif +#ifndef QSORT_CAST +#define QSORT_CAST (int (*)(const void *, const void *)) +#endif /* QSORT_CAST */ #define SIGNAL_CAST (__sighandler_t) #define USE_GETCWD #define USE_SETSID #define HAVE_BZERO #define HAVE_MEMMOVE +#define HAVE_VSNPRINTF #define USE_SIGPROCMASK #define USE_WAITPID +#define USE_SYSV_IPC #if 0 /* SETFS disabled until we can check on some bug reports */ #if _LINUX_C_LIB_VERSION_MAJOR >= 5 @@ -271,6 +288,7 @@ typedef unsigned short mode_t; #ifndef USE_WAITPID #define USE_WAITPID #endif +#define USE_SYSV_IPC /* SunOS doesn't have POSIX atexit */ #define atexit on_exit #endif @@ -291,9 +309,10 @@ typedef unsigned short mode_t; #include #include #include -#ifndef USE_LIBDES +#include +#if !defined(USE_LIBDES) && !defined(KRB4_AUTH) #include -#endif /* USE_LIBDES */ +#endif /* !USE_LIBDES && !KRB4_AUTH */ extern int gettimeofday (struct timeval *, void *); extern int gethostname (char *name, int namelen); extern int innetgr (const char *, const char *, const char *, const char *); @@ -307,8 +326,16 @@ extern int innetgr (const char *, const char *, const char *, const char *); #define USE_STATVFS #define USE_GETCWD #define USE_SETSID +#define USE_SYSV_IPC +#define NO_SEMUN +#ifndef REPLACE_GETPASS #define REPLACE_GETPASS +#endif /* REPLACE_GETPASS */ #define USE_SIGPROCMASK +#ifndef QSORT_CAST +#define QSORT_CAST (int (*)(const void *, const void *)) +#endif /* QSORT_CAST */ +#define HAVE_VSNPRINTF #endif @@ -329,7 +356,7 @@ char *getwd(char *); #define USE_WAITPID #endif -#ifdef SGI +#ifdef SGI4 #include #include #include @@ -341,11 +368,15 @@ char *getwd(char *); #define STATFS4 #define USE_WAITPID #define USE_DIRECT +#define USE_SETSID +#define USE_SYSV_IPC #endif -#ifdef SGI5 +#if defined(SGI5) || defined(SGI6) #include #include +#include +#include #include #include #include @@ -358,6 +389,11 @@ char *getwd(char *); #define SIGNAL_CAST (void (*)()) #define USE_STATVFS #define USE_WAITPID +#define USE_SETSID +#define USE_SYSV_IPC +#ifndef QSORT_CAST +#define QSORT_CAST (int (*)(const void *, const void *)) +#endif /* QSORT_CAST */ #endif @@ -414,6 +450,8 @@ extern struct passwd *getpwnam(); #define USE_STATVFS #define USE_GETCWD #define USE_SETSID +#define USE_SYSV_IPC +#define NO_SEMUN #endif @@ -439,6 +477,8 @@ char *mktemp(char *); /* No standard include */ #define PASSWORD_LENGTH 16 #define NEED_AUTH_PARAMETERS #endif /* OSF1_ENH_SEC */ +#define USE_SYSV_IPC +#define NO_SEMUN #endif @@ -454,7 +494,9 @@ char *mktemp(char *); /* No standard include */ #define NO_FSYNC #define USE_GETCWD #define USE_SETSID +#ifndef REPLACE_GETPASS #define REPLACE_GETPASS +#endif /* REPLACE_GETPASS */ #define NO_GETRLIMIT #endif /* CLIX */ @@ -468,16 +510,22 @@ char *mktemp(char *); /* No standard include */ #endif -#ifdef NETBSD -#include +#ifdef NETBSD +#ifdef NetBSD1_3 +#include +#ifdef ALLOW_CHANGE_PASSWORD +#include +#endif /* ALLOW_CHANGE_PASSWORD */ +#else /* NetBSD1_3 */ +#include +#endif /* NetBSD1_3 */ #include /* you may not need this */ -#define NO_GETSPNAM +#define NO_GETSPNAM #define SIGNAL_CAST (void (*)()) #define USE_DIRECT #define REPLACE_INNETGR -#endif - +#endif #ifdef FreeBSD @@ -486,21 +534,50 @@ char *mktemp(char *); /* No standard include */ #include #include #include -#define SIGNAL_CAST (void (*)()) +#include +#include +#if __FreeBSD__ >= 3 +#include +#else +#define USE_DIRECT +#endif +#define SIGNAL_CAST (void (*)(int)) #define USE_SETVBUF #define USE_SETSID #define USE_GETCWD #define USE_WAITPID -#define USE_DIRECT #define HAVE_MEMMOVE #define HAVE_BZERO #define HAVE_GETTIMEOFDAY #define HAVE_PATHCONF #define HAVE_GETGRNAM 1 +#define HAVE_VSNPRINTF +#define QSORT_CAST (int (*)(const void *, const void *)) +#if !defined(O_SYNC) +#if defined(O_FSYNC) +#define O_SYNC O_FSYNC +#else /* defined(O_FSYNC) */ +#define O_SYNC 0 +#endif /* defined(O_FSYNC) */ +#endif /* !defined(O_SYNC) */ +#endif /* FreeBSD */ + +#ifdef __OpenBSD__ +#include +#include +#define NO_GETSPNAM +#define SIGNAL_CAST (void (*)()) +#define USE_DIRECT +#define REPLACE_INNETGR +#define HAVE_BZERO +#define HAVE_PATHCONF +#define HAVE_GETGRNAM 1 +#define HAVE_GETTIMEOFDAY +#define HAVE_MEMMOVE +#define USE_GETCWD +#define USE_SETSID #endif - - #ifdef AIX #include #include @@ -510,6 +587,10 @@ char *mktemp(char *); /* No standard include */ #include #include #include +/* According to AIX 4.1 man pages, inet_ntoa needs the following headers */ +#include +#include +#include #include #include #define SYSV @@ -530,22 +611,31 @@ char *mktemp(char *); /* No standard include */ #include #include #include +#include /* needed for inet_ntoa proto */ #ifdef HPUX_10_TRUSTED #include #include #define NEED_AUTH_PARAMETERS #endif #define SIGNAL_CAST (void (*)(__harg)) +#ifndef HPUX10 /* This is only needed for HPUX 9.x */ #define SELECT_CAST (int *) +#endif /* HPUX10 */ #define SYSV #define USE_WAITPID #define WAIT3_CAST2 (int *) #define USE_GETCWD #define USE_SETSID #define USE_SETRES +#define USE_SYSV_IPC +#define NO_SEMUN +#define HAVE_VALLOC #define DEFAULT_PRINTING PRINT_HPUX -#define SIGCLD_IGNORE -#endif +/* Ken Weiss tells us that SIGCLD_IGNORE is + not good for HPUX */ +/* #define SIGCLD_IGNORE */ +#define USE_SIGPROCMASK /* Needed to stop zombie processes on HPUX 9.x and 10.x.*/ +#endif /* HPUX */ #ifdef SEQUENT @@ -654,6 +744,7 @@ char *mktemp(char *); /* No standard include */ #include #include #include +#include #include #include #include @@ -661,38 +752,35 @@ char *mktemp(char *); /* No standard include */ #include #ifdef EVEREST #include -#endif +#endif /* EVEREST */ #ifdef NETGROUP #include -#endif +#endif /* NETGROUP */ #ifdef SecureWare #include #include #include #define crypt bigcrypt -#endif -#ifndef EVEREST - #define ftruncate(f,l) syscall(0x0a28,f,l) -#endif +#endif /* SecureWare */ #define SIGNAL_CAST (void (*)(int)) #define USE_WAITPID #define USE_GETCWD #define USE_SETSID #ifdef SCO3_2_2 -#define NO_EID -#else +#define setuid(u) setreuid(u,-1) +#define seteuid(u) setreuid(-1,u) +#else /* SCO3_2_2 */ #ifndef EVEREST +#define ftruncate(f,l) syscall(0x0a28,f,l) #define USE_IFREQ -#endif -#endif +#define NO_INITGROUPS +#endif /* EVEREST */ +#endif /* SCO3_2_2 */ #define STATFS4 #define NO_FSYNC -#ifndef EVEREST -#define NO_INITGROUPS -#endif #define HAVE_PATHCONF #define NO_GETRLIMIT -#endif +#endif /* SCO */ @@ -966,6 +1054,12 @@ typedef int mode_t; #define HAVE_VFORK 1 #endif +/* For UnixWare 2.x's ia_uinfo routines. (tangent@cyberport.com) */ +#ifdef IA_UINFO +#include +#include +#endif + /******************************************************************* end of the platform specific sections @@ -1039,6 +1133,40 @@ struct spwd { /* fake shadow password structure */ #endif #endif +/* This defines the name of the printcap file. It is MOST UNLIKELY that + this will change BUT! Specifying a file with the format of a printcap + file but containing only a subset of the printers actually in your real + printcap file is a quick-n-dirty way to allow dynamic access to a subset + of available printers. +*/ +#ifndef PRINTCAP_NAME +#ifdef AIX +#define PRINTCAP_NAME "/etc/qconfig" +#elif defined(SYSV) +#define PRINTCAP_NAME "lpstat" +#else +#define PRINTCAP_NAME "/etc/printcap" +#endif +#endif + + +#ifdef USE_SYSV_IPC +#include +#include +#include +#ifdef NO_SEMUN +union semun { + int val; + struct semid_ds *buf; + unsigned short *array; +}; +#endif +#if defined(HPUX) && defined(HPUX10) +#ifdef SEMMSL +#undef SEMMSL +#endif /* SEMMSL */ +#endif /* HPUX && HPUX10 */ +#endif #ifdef AFS_AUTH #include @@ -1050,6 +1178,19 @@ struct spwd { /* fake shadow password structure */ #include #endif +#ifdef KRB5_AUTH +#include +#endif + +#ifdef KRB4_AUTH +#include +#endif + +#ifdef USE_LDAP +#include +#include +#endif + #ifdef NO_UTIMBUF struct utimbuf { time_t actime; @@ -1075,22 +1216,36 @@ extern char *sys_errlist[]; #include "version.h" #include "smb.h" #include "nameserv.h" -#include "proto.h" +#include "ubiqx/ubi_dLinkList.h" + #include "byteorder.h" #include "kanji.h" #include "charset.h" +#ifndef MAXCODEPAGELINES +#define MAXCODEPAGELINES 256 +#endif + +/***** automatically generated prototypes *****/ +#include "proto.h" + + + #ifndef S_IFREG #define S_IFREG 0100000 #endif #ifndef S_ISREG -#define S_ISREG(x) ((S_IFREG & x)!=0) +#define S_ISREG(x) ((S_IFREG & (x))!=0) #endif #ifndef S_ISDIR -#define S_ISDIR(x) ((S_IFDIR & x)!=0) +#define S_ISDIR(x) ((S_IFDIR & (x))!=0) +#endif + +#if !defined(S_ISLNK) && defined(S_IFLNK) +#define S_ISLNK(x) ((S_IFLNK & (x))!=0) #endif #ifdef UFC_CRYPT @@ -1164,9 +1319,13 @@ it works and getting lots of bug reports */ #define QSORT_CAST (int (*)()) #endif +#ifndef INADDR_LOOPBACK +#define INADDR_LOOPBACK 0x7f000001 +#endif /* INADDR_LOOPBACK */ + /* this is a rough check to see if this machine has a lstat() call. it is not guaranteed to work */ -#if !(defined(S_ISLNK) || defined(S_IFLNK)) +#if !defined(S_ISLNK) #define lstat stat #endif @@ -1200,55 +1359,29 @@ extern int errno; #define strncasecmp(s1,s2,n) StrnCaseCmp(s1,s2,n) #endif -#ifndef strcpy -#define strcpy(dest,src) StrCpy(dest,src) -#endif +#ifdef strcpy +#undef strcpy +#endif /* strcpy */ +#define strcpy(dest,src) __ERROR__XX__NEVER_USE_STRCPY___; +#ifdef strcat +#undef strcat +#endif /* strcat */ +#define strcat(dest,src) __ERROR__XX__NEVER_USE_STRCAT___; -/* possibly wrap the malloc calls */ -#if WRAP_MALLOC +#ifdef sprintf +#undef sprintf +#endif /* sprintf */ +#define sprintf __ERROR__XX__NEVER_USE_SPRINTF__>; -/* undo the old malloc def if necessary */ -#ifdef malloc -#define xx_old_malloc malloc -#undef malloc -#endif +#define pstrcpy(d,s) safe_strcpy((d),(s),sizeof(pstring)-1) +#define pstrcat(d,s) safe_strcat((d),(s),sizeof(pstring)-1) +#define fstrcpy(d,s) safe_strcpy((d),(s),sizeof(fstring)-1) +#define fstrcat(d,s) safe_strcat((d),(s),sizeof(fstring)-1) -#define malloc(size) malloc_wrapped(size,__FILE__,__LINE__) +#if MEM_MAN +#include "mem_man/mem_man.h" +#endif /* MEM_MAN */ -/* undo the old realloc def if necessary */ -#ifdef realloc -#define xx_old_realloc realloc -#undef realloc -#endif - -#define realloc(ptr,size) realloc_wrapped(ptr,size,__FILE__,__LINE__) - -/* undo the old free def if necessary */ -#ifdef free -#define xx_old_free free -#undef free -#endif - -#define free(ptr) free_wrapped(ptr,__FILE__,__LINE__) - -/* and the malloc prototypes */ -void *malloc_wrapped(int,char *,int); -void *realloc_wrapped(void *,int,char *,int); -void free_wrapped(void *,char *,int); - -#endif - - -#if WRAP_MEMCPY -/* undo the old memcpy def if necessary */ -#ifdef memcpy -#define xx_old_memcpy memcpy -#undef memcpy -#endif - -#define memcpy(d,s,l) memcpy_wrapped(d,s,l,__FILE__,__LINE__) -void *memcpy_wrapped(void *d,void *s,int l,char *fname,int line); -#endif #endif