/* * NuFX archive manipulation library * Copyright (C) 2000 by Andy McFadden, All Rights Reserved. * This is free software; you can redistribute it and/or modify it under the * terms of the GNU Library General Public License, see the file COPYING.LIB. * * External type definitions and function prototypes. */ #ifndef __SysDefs__ #define __SysDefs__ #ifdef HAVE_CONFIG_H # include #endif #ifdef DEBUG_VERBOSE # define DEBUG_MSGS #endif /* these should exist everywhere */ #include #include #include #include #include #include #include /* basic Win32 stuff -- info-zip has much more complete defs */ #if defined(WIN32) || defined(MSDOS) # define WINDOWS_LIKE # ifndef HAVE_CONFIG_H # define HAVE_FCNTL_H # define HAVE_MALLOC_H # define HAVE_STDLIB_H # define HAVE_SYS_STAT_H # undef HAVE_SYS_TIME_H # define HAVE_SYS_TYPES_H # undef HAVE_UNISTD_H # undef HAVE_UTIME_H # define HAVE_SYS_UTIME_H # define HAVE_WINDOWS_H # define HAVE_FDOPEN # undef HAVE_FTRUNCATE # define HAVE_MEMMOVE # undef HAVE_MKSTEMP # define HAVE_MKTIME # define HAVE_SNPRINTF # undef HAVE_STRCASECMP # undef HAVE_STRNCASECMP # define HAVE_STRERROR # define HAVE_STRTOUL # define HAVE_VSNPRINTF # define SNPRINTF_DECLARED # define VSNPRINTF_DECLARED # define SPRINTF_RETURNS_INT # define uchar unsigned char # define ushort unsigned short # define uint unsigned int # define ulong unsigned long # define inline /*Visual C++6.0 can't inline ".c" files*/ # define mode_t int # endif # include # include # define FOPEN_WANTS_B # define HAVE_CHSIZE # define snprintf _snprintf # define vsnprintf _vsnprintf #endif #ifdef HAVE_MALLOC_H # include #endif #ifdef HAVE_STDLIB_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef HAVE_SYS_TIME_H # include #endif #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_UNISTD_H # include #endif #ifdef HAVE_UTIME_H # include #endif #ifdef HAVE_SYS_UTIME_H # include #endif #if defined(WINDOWS_LIKE) # ifndef F_OK # define F_OK 02 # endif #endif #if defined(__unix__) || defined(__unix) || defined(__BEOS__) || \ defined(__hpux) || defined(_AIX) || defined(__APPLE__) # define UNIX_LIKE /* standardize */ #endif #if defined(UNIX_LIKE) # ifdef USE_REENTRANT_CALLS # define _REENTRANT /* Solaris 2.x convention */ # endif #endif #ifdef MAC # define HAS_RESOURCE_FORKS #endif #ifdef __ORCAC__ # define HAS_RESOURCE_FORKS #endif /* __FUNCTION__ was missing from BeOS __MWERKS__, and might be gcc-only */ #ifdef __GNUC__ # define HAS__FUNCTION__ #endif #if defined(__sun__) && !defined(__SVR4) # include "SunOS4.h" #endif #if defined(__linux__) # define HAS_MALLOC_CHECK_ #endif #endif /*__SysDefs__*/