1/* 2 Unix SMB/CIFS implementation. 3 4 Winbind daemon for ntdom nss module 5 6 Copyright (C) Tim Potter 2000 7 8 This library is free software; you can redistribute it and/or 9 modify it under the terms of the GNU Library General Public 10 License as published by the Free Software Foundation; either 11 version 2 of the License, or (at your option) any later version. 12 13 This library is distributed in the hope that it will be useful, 14 but WITHOUT ANY WARRANTY; without even the implied warranty of 15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 Library General Public License for more details. 17 18 You should have received a copy of the GNU Library General Public 19 License along with this library; if not, write to the 20 Free Software Foundation, Inc., 59 Temple Place - Suite 330, 21 Boston, MA 02111-1307, USA. 22*/ 23 24#ifndef _WINBIND_NSS_CONFIG_H 25#define _WINBIND_NSS_CONFIG_H 26 27/* shutup the compiler warnings due to krb5.h on 64-bit sles9 */ 28#ifdef SIZEOF_LONG 29#undef SIZEOF_LONG 30#endif 31 32 33/* Include header files from data in config.h file */ 34 35#ifndef NO_CONFIG_H 36#include "lib/replace/replace.h" 37#endif 38 39#include "system/passwd.h" 40#include "system/filesys.h" 41#include "system/network.h" 42 43#include "nsswitch/winbind_nss.h" 44 45/* I'm trying really hard not to include anything from smb.h with the 46 result of some silly looking redeclaration of structures. */ 47 48#ifndef _PSTRING 49#define _PSTRING 50#define PSTRING_LEN 1024 51#define FSTRING_LEN 256 52typedef char pstring[PSTRING_LEN]; 53typedef char fstring[FSTRING_LEN]; 54#endif 55 56#ifndef _UPPER_BOOL 57#define _UPPER_BOOL 58#define False (0) 59#define True (1) 60#define Auto (2) 61typedef int BOOL; 62#endif 63 64#if !defined(uint32) 65#if (SIZEOF_INT == 4) 66#define uint32 unsigned int 67#elif (SIZEOF_LONG == 4) 68#define uint32 unsigned long 69#elif (SIZEOF_SHORT == 4) 70#define uint32 unsigned short 71#endif 72#endif 73 74#if !defined(uint16) 75#if (SIZEOF_SHORT == 4) 76#define uint16 __ERROR___CANNOT_DETERMINE_TYPE_FOR_INT16; 77#else /* SIZEOF_SHORT != 4 */ 78#define uint16 unsigned short 79#endif /* SIZEOF_SHORT != 4 */ 80#endif 81 82#ifndef uint8 83#define uint8 unsigned char 84#endif 85 86/* 87 * check for 8 byte long long 88 */ 89 90#if !defined(uint64) 91#if (SIZEOF_LONG == 8) 92#define uint64 unsigned long 93#elif (SIZEOF_LONG_LONG == 8) 94#define uint64 unsigned long long 95#endif /* don't lie. If we don't have it, then don't use it */ 96#endif 97 98#if !defined(int64) 99#if (SIZEOF_LONG == 8) 100#define int64 long 101#elif (SIZEOF_LONG_LONG == 8) 102#define int64 long long 103#endif /* don't lie. If we don't have it, then don't use it */ 104#endif 105 106/* Some systems (SCO) treat UNIX domain sockets as FIFOs */ 107 108#ifndef S_IFSOCK 109#define S_IFSOCK S_IFIFO 110#endif 111 112#ifndef S_ISSOCK 113#define S_ISSOCK(mode) ((mode & S_IFSOCK) == S_IFSOCK) 114#endif 115 116#ifndef HAVE_SOCKLEN_T_TYPE 117#define HAVE_SOCKLEN_T_TYPE 118typedef int socklen_t; 119#endif 120 121#endif 122