Blame src/lzo_supp.h

Packit Service 5195f2
/* lzo_supp.h -- architecture, OS and compiler specific defines
Packit Service 5195f2
Packit Service 5195f2
   This file is part of the LZO real-time data compression library.
Packit Service 5195f2
Packit Service 5195f2
   Copyright (C) 1996-2014 Markus Franz Xaver Johannes Oberhumer
Packit Service 5195f2
   All Rights Reserved.
Packit Service 5195f2
Packit Service 5195f2
   The LZO library is free software; you can redistribute it and/or
Packit Service 5195f2
   modify it under the terms of the GNU General Public License as
Packit Service 5195f2
   published by the Free Software Foundation; either version 2 of
Packit Service 5195f2
   the License, or (at your option) any later version.
Packit Service 5195f2
Packit Service 5195f2
   The LZO library is distributed in the hope that it will be useful,
Packit Service 5195f2
   but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service 5195f2
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
Packit Service 5195f2
   GNU General Public License for more details.
Packit Service 5195f2
Packit Service 5195f2
   You should have received a copy of the GNU General Public License
Packit Service 5195f2
   along with the LZO library; see the file COPYING.
Packit Service 5195f2
   If not, write to the Free Software Foundation, Inc.,
Packit Service 5195f2
   51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
Packit Service 5195f2
Packit Service 5195f2
   Markus F.X.J. Oberhumer
Packit Service 5195f2
   <markus@oberhumer.com>
Packit Service 5195f2
   http://www.oberhumer.com/opensource/lzo/
Packit Service 5195f2
 */
Packit Service 5195f2
Packit Service 5195f2
Packit Service 5195f2
#ifndef __LZO_SUPP_H_INCLUDED
Packit Service 5195f2
#define __LZO_SUPP_H_INCLUDED 1
Packit Service 5195f2
#if (LZO_CFG_NO_CONFIG_HEADER)
Packit Service 5195f2
#elif defined(LZO_CFG_CONFIG_HEADER)
Packit Service 5195f2
#else
Packit Service 5195f2
#if !(LZO_CFG_AUTO_NO_HEADERS)
Packit Service 5195f2
#if (LZO_LIBC_NAKED)
Packit Service 5195f2
#elif (LZO_LIBC_FREESTANDING)
Packit Service 5195f2
#  define HAVE_LIMITS_H 1
Packit Service 5195f2
#  define HAVE_STDARG_H 1
Packit Service 5195f2
#  define HAVE_STDDEF_H 1
Packit Service 5195f2
#elif (LZO_LIBC_MOSTLY_FREESTANDING)
Packit Service 5195f2
#  define HAVE_LIMITS_H 1
Packit Service 5195f2
#  define HAVE_SETJMP_H 1
Packit Service 5195f2
#  define HAVE_STDARG_H 1
Packit Service 5195f2
#  define HAVE_STDDEF_H 1
Packit Service 5195f2
#  define HAVE_STDIO_H 1
Packit Service 5195f2
#  define HAVE_STRING_H 1
Packit Service 5195f2
#else
Packit Service 5195f2
#define STDC_HEADERS 1
Packit Service 5195f2
#define HAVE_ASSERT_H 1
Packit Service 5195f2
#define HAVE_CTYPE_H 1
Packit Service 5195f2
#define HAVE_DIRENT_H 1
Packit Service 5195f2
#define HAVE_ERRNO_H 1
Packit Service 5195f2
#define HAVE_FCNTL_H 1
Packit Service 5195f2
#define HAVE_FLOAT_H 1
Packit Service 5195f2
#define HAVE_LIMITS_H 1
Packit Service 5195f2
#define HAVE_MALLOC_H 1
Packit Service 5195f2
#define HAVE_MEMORY_H 1
Packit Service 5195f2
#define HAVE_SETJMP_H 1
Packit Service 5195f2
#define HAVE_SIGNAL_H 1
Packit Service 5195f2
#define HAVE_STDARG_H 1
Packit Service 5195f2
#define HAVE_STDDEF_H 1
Packit Service 5195f2
#define HAVE_STDIO_H 1
Packit Service 5195f2
#define HAVE_STDLIB_H 1
Packit Service 5195f2
#define HAVE_STRING_H 1
Packit Service 5195f2
#define HAVE_TIME_H 1
Packit Service 5195f2
#define HAVE_UNISTD_H 1
Packit Service 5195f2
#define HAVE_UTIME_H 1
Packit Service 5195f2
#define HAVE_SYS_STAT_H 1
Packit Service 5195f2
#define HAVE_SYS_TIME_H 1
Packit Service 5195f2
#define HAVE_SYS_TYPES_H 1
Packit Service 5195f2
#if (LZO_OS_POSIX)
Packit Service 5195f2
#  if (LZO_OS_POSIX_AIX)
Packit Service 5195f2
#    define HAVE_SYS_RESOURCE_H 1
Packit Service 5195f2
#  elif (LZO_OS_POSIX_FREEBSD || LZO_OS_POSIX_MACOSX || LZO_OS_POSIX_NETBSD || LZO_OS_POSIX_OPENBSD)
Packit Service 5195f2
#    define HAVE_STRINGS_H 1
Packit Service 5195f2
#    undef HAVE_MALLOC_H
Packit Service 5195f2
#  elif (LZO_OS_POSIX_HPUX || LZO_OS_POSIX_INTERIX)
Packit Service 5195f2
#    define HAVE_ALLOCA_H 1
Packit Service 5195f2
#  elif (LZO_OS_POSIX_MACOSX && LZO_LIBC_MSL)
Packit Service 5195f2
#    undef HAVE_SYS_TIME_H
Packit Service 5195f2
#    undef HAVE_SYS_TYPES_H
Packit Service 5195f2
#  elif (LZO_OS_POSIX_SOLARIS || LZO_OS_POSIX_SUNOS)
Packit Service 5195f2
#    define HAVE_ALLOCA_H 1
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (LZO_LIBC_DIETLIBC || LZO_LIBC_GLIBC || LZO_LIBC_UCLIBC)
Packit Service 5195f2
#    define HAVE_STRINGS_H 1
Packit Service 5195f2
#    define HAVE_SYS_MMAN_H 1
Packit Service 5195f2
#    define HAVE_SYS_RESOURCE_H 1
Packit Service 5195f2
#    define HAVE_SYS_WAIT_H 1
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (LZO_LIBC_NEWLIB)
Packit Service 5195f2
#    undef HAVE_STRINGS_H
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_OS_CYGWIN)
Packit Service 5195f2
#  define HAVE_IO_H 1
Packit Service 5195f2
#elif (LZO_OS_EMX)
Packit Service 5195f2
#  define HAVE_ALLOCA_H 1
Packit Service 5195f2
#  define HAVE_IO_H 1
Packit Service 5195f2
#elif (LZO_ARCH_M68K && LZO_OS_TOS && LZO_CC_GNUC)
Packit Service 5195f2
#  if !defined(__MINT__)
Packit Service 5195f2
#    undef HAVE_MALLOC_H
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_FCNTL_H
Packit Service 5195f2
#  undef HAVE_MALLOC_H
Packit Service 5195f2
#  undef HAVE_MEMORY_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  undef HAVE_UTIME_H
Packit Service 5195f2
#  undef HAVE_SYS_STAT_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#  undef HAVE_SYS_TYPES_H
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
Packit Service 5195f2
#define HAVE_CONIO_H 1
Packit Service 5195f2
#define HAVE_DIRECT_H 1
Packit Service 5195f2
#define HAVE_DOS_H 1
Packit Service 5195f2
#define HAVE_IO_H 1
Packit Service 5195f2
#define HAVE_SHARE_H 1
Packit Service 5195f2
#if (LZO_CC_AZTECC)
Packit Service 5195f2
#  undef HAVE_CONIO_H
Packit Service 5195f2
#  undef HAVE_DIRECT_H
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_MALLOC_H
Packit Service 5195f2
#  undef HAVE_SHARE_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  undef HAVE_UTIME_H
Packit Service 5195f2
#  undef HAVE_SYS_STAT_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#  undef HAVE_SYS_TYPES_H
Packit Service 5195f2
#elif (LZO_CC_BORLANDC)
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#  if (LZO_OS_WIN32 || LZO_OS_WIN64)
Packit Service 5195f2
#    undef HAVE_DIRENT_H
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (__BORLANDC__ < 0x0400)
Packit Service 5195f2
#    undef HAVE_DIRENT_H
Packit Service 5195f2
#    undef HAVE_UTIME_H
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_CC_DMC)
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  define HAVE_SYS_DIRENT_H 1
Packit Service 5195f2
#elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__)
Packit Service 5195f2
#elif (LZO_OS_DOS32 && LZO_CC_HIGHC)
Packit Service 5195f2
#  define HAVE_ALLOCA_H 1
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#elif (LZO_CC_IBMC && LZO_OS_OS2)
Packit Service 5195f2
#  undef HAVE_DOS_H
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  undef HAVE_UTIME_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#  define HAVE_SYS_UTIME_H 1
Packit Service 5195f2
#elif (LZO_CC_GHS || LZO_CC_INTELC || LZO_CC_MSC)
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  undef HAVE_UTIME_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#  define HAVE_SYS_UTIME_H 1
Packit Service 5195f2
#elif (LZO_CC_LCCWIN32)
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_DOS_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__MINGW32__)
Packit Service 5195f2
#  undef HAVE_UTIME_H
Packit Service 5195f2
#  define HAVE_SYS_UTIME_H 1
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_LIBC_MSL)
Packit Service 5195f2
#  define HAVE_ALLOCA_H 1
Packit Service 5195f2
#  undef HAVE_DOS_H
Packit Service 5195f2
#  undef HAVE_SHARE_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#elif (LZO_CC_NDPC)
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_DOS_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  undef HAVE_UTIME_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#elif (LZO_CC_PACIFICC)
Packit Service 5195f2
#  undef HAVE_DIRECT_H
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_FCNTL_H
Packit Service 5195f2
#  undef HAVE_IO_H
Packit Service 5195f2
#  undef HAVE_MALLOC_H
Packit Service 5195f2
#  undef HAVE_MEMORY_H
Packit Service 5195f2
#  undef HAVE_SHARE_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  undef HAVE_UTIME_H
Packit Service 5195f2
#  undef HAVE_SYS_STAT_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#  undef HAVE_SYS_TYPES_H
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_CC_PELLESC)
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_DOS_H
Packit Service 5195f2
#  undef HAVE_MALLOC_H
Packit Service 5195f2
#  undef HAVE_SHARE_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  undef HAVE_UTIME_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#  if (__POCC__ < 280)
Packit Service 5195f2
#  else
Packit Service 5195f2
#    define HAVE_SYS_UTIME_H 1
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_CC_PGI) && defined(__MINGW32__)
Packit Service 5195f2
#  undef HAVE_UTIME_H
Packit Service 5195f2
#  define HAVE_SYS_UTIME_H 1
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
Packit Service 5195f2
#elif (LZO_CC_SYMANTECC)
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  if (__SC__ < 0x700)
Packit Service 5195f2
#    undef HAVE_UTIME_H
Packit Service 5195f2
#    undef HAVE_SYS_TIME_H
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_CC_TOPSPEEDC)
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  undef HAVE_UTIME_H
Packit Service 5195f2
#  undef HAVE_SYS_STAT_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#  undef HAVE_SYS_TYPES_H
Packit Service 5195f2
#elif (LZO_CC_TURBOC)
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#  undef HAVE_SYS_TYPES_H
Packit Service 5195f2
#  if (LZO_OS_WIN32 || LZO_OS_WIN64)
Packit Service 5195f2
#    undef HAVE_DIRENT_H
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (__TURBOC__ < 0x0200)
Packit Service 5195f2
#    undef HAVE_SIGNAL_H
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (__TURBOC__ < 0x0400)
Packit Service 5195f2
#    undef HAVE_DIRECT_H
Packit Service 5195f2
#    undef HAVE_DIRENT_H
Packit Service 5195f2
#    undef HAVE_MALLOC_H
Packit Service 5195f2
#    undef HAVE_MEMORY_H
Packit Service 5195f2
#    undef HAVE_UTIME_H
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_CC_WATCOMC)
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_UTIME_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#  define HAVE_SYS_UTIME_H 1
Packit Service 5195f2
#  if (__WATCOMC__ < 950)
Packit Service 5195f2
#    undef HAVE_UNISTD_H
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_CC_ZORTECHC)
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_MEMORY_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  undef HAVE_UTIME_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_CONSOLE)
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_EMBEDDED)
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_LIBC_ISOC90 || LZO_LIBC_ISOC99)
Packit Service 5195f2
#  undef HAVE_DIRENT_H
Packit Service 5195f2
#  undef HAVE_FCNTL_H
Packit Service 5195f2
#  undef HAVE_MALLOC_H
Packit Service 5195f2
#  undef HAVE_UNISTD_H
Packit Service 5195f2
#  undef HAVE_UTIME_H
Packit Service 5195f2
#  undef HAVE_SYS_STAT_H
Packit Service 5195f2
#  undef HAVE_SYS_TIME_H
Packit Service 5195f2
#  undef HAVE_SYS_TYPES_H
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_LIBC_GLIBC >= 0x020100ul)
Packit Service 5195f2
#  define HAVE_STDINT_H 1
Packit Service 5195f2
#elif (LZO_LIBC_DIETLIBC)
Packit Service 5195f2
#  undef HAVE_STDINT_H
Packit Service 5195f2
#elif (LZO_LIBC_UCLIBC)
Packit Service 5195f2
#  define HAVE_STDINT_H 1
Packit Service 5195f2
#elif (LZO_CC_BORLANDC) && (__BORLANDC__ >= 0x560)
Packit Service 5195f2
#  undef HAVE_STDINT_H
Packit Service 5195f2
#elif (LZO_CC_DMC) && (__DMC__ >= 0x825)
Packit Service 5195f2
#  define HAVE_STDINT_H 1
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_SYS_TIME_H && HAVE_TIME_H)
Packit Service 5195f2
#  define TIME_WITH_SYS_TIME 1
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !(LZO_CFG_AUTO_NO_FUNCTIONS)
Packit Service 5195f2
#if (LZO_LIBC_NAKED)
Packit Service 5195f2
#elif (LZO_LIBC_FREESTANDING)
Packit Service 5195f2
#elif (LZO_LIBC_MOSTLY_FREESTANDING)
Packit Service 5195f2
#  define HAVE_LONGJMP 1
Packit Service 5195f2
#  define HAVE_MEMCMP 1
Packit Service 5195f2
#  define HAVE_MEMCPY 1
Packit Service 5195f2
#  define HAVE_MEMMOVE 1
Packit Service 5195f2
#  define HAVE_MEMSET 1
Packit Service 5195f2
#  define HAVE_SETJMP 1
Packit Service 5195f2
#else
Packit Service 5195f2
#define HAVE_ACCESS 1
Packit Service 5195f2
#define HAVE_ALLOCA 1
Packit Service 5195f2
#define HAVE_ATEXIT 1
Packit Service 5195f2
#define HAVE_ATOI 1
Packit Service 5195f2
#define HAVE_ATOL 1
Packit Service 5195f2
#define HAVE_CHMOD 1
Packit Service 5195f2
#define HAVE_CHOWN 1
Packit Service 5195f2
#define HAVE_CTIME 1
Packit Service 5195f2
#define HAVE_DIFFTIME 1
Packit Service 5195f2
#define HAVE_FILENO 1
Packit Service 5195f2
#define HAVE_FSTAT 1
Packit Service 5195f2
#define HAVE_GETENV 1
Packit Service 5195f2
#define HAVE_GETTIMEOFDAY 1
Packit Service 5195f2
#define HAVE_GMTIME 1
Packit Service 5195f2
#define HAVE_ISATTY 1
Packit Service 5195f2
#define HAVE_LOCALTIME 1
Packit Service 5195f2
#define HAVE_LONGJMP 1
Packit Service 5195f2
#define HAVE_LSTAT 1
Packit Service 5195f2
#define HAVE_MEMCMP 1
Packit Service 5195f2
#define HAVE_MEMCPY 1
Packit Service 5195f2
#define HAVE_MEMMOVE 1
Packit Service 5195f2
#define HAVE_MEMSET 1
Packit Service 5195f2
#define HAVE_MKDIR 1
Packit Service 5195f2
#define HAVE_MKTIME 1
Packit Service 5195f2
#define HAVE_QSORT 1
Packit Service 5195f2
#define HAVE_RAISE 1
Packit Service 5195f2
#define HAVE_RMDIR 1
Packit Service 5195f2
#define HAVE_SETJMP 1
Packit Service 5195f2
#define HAVE_SIGNAL 1
Packit Service 5195f2
#define HAVE_SNPRINTF 1
Packit Service 5195f2
#define HAVE_STAT 1
Packit Service 5195f2
#define HAVE_STRCHR 1
Packit Service 5195f2
#define HAVE_STRDUP 1
Packit Service 5195f2
#define HAVE_STRERROR 1
Packit Service 5195f2
#define HAVE_STRFTIME 1
Packit Service 5195f2
#define HAVE_STRRCHR 1
Packit Service 5195f2
#define HAVE_STRSTR 1
Packit Service 5195f2
#define HAVE_TIME 1
Packit Service 5195f2
#define HAVE_UMASK 1
Packit Service 5195f2
#define HAVE_UTIME 1
Packit Service 5195f2
#define HAVE_VSNPRINTF 1
Packit Service 5195f2
#if (LZO_OS_BEOS || LZO_OS_CYGWIN || LZO_OS_POSIX || LZO_OS_QNX || LZO_OS_VMS)
Packit Service 5195f2
#  define HAVE_STRCASECMP 1
Packit Service 5195f2
#  define HAVE_STRNCASECMP 1
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
Packit Service 5195f2
#  define HAVE_STRCASECMP 1
Packit Service 5195f2
#  define HAVE_STRNCASECMP 1
Packit Service 5195f2
#else
Packit Service 5195f2
#  define HAVE_STRICMP 1
Packit Service 5195f2
#  define HAVE_STRNICMP 1
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_POSIX)
Packit Service 5195f2
#  if (LZO_OS_POSIX_AIX)
Packit Service 5195f2
#    define HAVE_GETRUSAGE 1
Packit Service 5195f2
#  elif (LZO_OS_POSIX_MACOSX && LZO_LIBC_MSL)
Packit Service 5195f2
#    undef HAVE_CHOWN
Packit Service 5195f2
#    undef HAVE_LSTAT
Packit Service 5195f2
#  elif (LZO_OS_POSIX_UNICOS)
Packit Service 5195f2
#    undef HAVE_ALLOCA
Packit Service 5195f2
#    undef HAVE_SNPRINTF
Packit Service 5195f2
#    undef HAVE_VSNPRINTF
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (LZO_CC_TINYC)
Packit Service 5195f2
#    undef HAVE_ALLOCA
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (LZO_LIBC_DIETLIBC || LZO_LIBC_GLIBC || LZO_LIBC_UCLIBC)
Packit Service 5195f2
#    define HAVE_GETRUSAGE 1
Packit Service 5195f2
#    define HAVE_GETPAGESIZE 1
Packit Service 5195f2
#    define HAVE_MMAP 1
Packit Service 5195f2
#    define HAVE_MPROTECT 1
Packit Service 5195f2
#    define HAVE_MUNMAP 1
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_OS_CYGWIN)
Packit Service 5195f2
#  if (LZO_CC_GNUC < 0x025a00ul)
Packit Service 5195f2
#    undef HAVE_GETTIMEOFDAY
Packit Service 5195f2
#    undef HAVE_LSTAT
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (LZO_CC_GNUC < 0x025f00ul)
Packit Service 5195f2
#    undef HAVE_SNPRINTF
Packit Service 5195f2
#    undef HAVE_VSNPRINTF
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_OS_EMX)
Packit Service 5195f2
#  undef HAVE_CHOWN
Packit Service 5195f2
#  undef HAVE_LSTAT
Packit Service 5195f2
#elif (LZO_ARCH_M68K && LZO_OS_TOS && LZO_CC_GNUC)
Packit Service 5195f2
#  if !defined(__MINT__)
Packit Service 5195f2
#    undef HAVE_SNPRINTF
Packit Service 5195f2
#    undef HAVE_VSNPRINTF
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
Packit Service 5195f2
#  undef HAVE_ALLOCA
Packit Service 5195f2
#  undef HAVE_ACCESS
Packit Service 5195f2
#  undef HAVE_CHMOD
Packit Service 5195f2
#  undef HAVE_CHOWN
Packit Service 5195f2
#  undef HAVE_FSTAT
Packit Service 5195f2
#  undef HAVE_GETTIMEOFDAY
Packit Service 5195f2
#  undef HAVE_LSTAT
Packit Service 5195f2
#  undef HAVE_SNPRINTF
Packit Service 5195f2
#  undef HAVE_UMASK
Packit Service 5195f2
#  undef HAVE_UTIME
Packit Service 5195f2
#  undef HAVE_VSNPRINTF
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
Packit Service 5195f2
#undef HAVE_CHOWN
Packit Service 5195f2
#undef HAVE_GETTIMEOFDAY
Packit Service 5195f2
#undef HAVE_LSTAT
Packit Service 5195f2
#undef HAVE_UMASK
Packit Service 5195f2
#if (LZO_CC_AZTECC)
Packit Service 5195f2
#  undef HAVE_ALLOCA
Packit Service 5195f2
#  undef HAVE_DIFFTIME
Packit Service 5195f2
#  undef HAVE_FSTAT
Packit Service 5195f2
#  undef HAVE_STRDUP
Packit Service 5195f2
#  undef HAVE_SNPRINTF
Packit Service 5195f2
#  undef HAVE_UTIME
Packit Service 5195f2
#  undef HAVE_VSNPRINTF
Packit Service 5195f2
#elif (LZO_CC_BORLANDC)
Packit Service 5195f2
#  if (__BORLANDC__ < 0x0400)
Packit Service 5195f2
#    undef HAVE_ALLOCA
Packit Service 5195f2
#    undef HAVE_UTIME
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if ((__BORLANDC__ < 0x0410) && LZO_OS_WIN16)
Packit Service 5195f2
#    undef HAVE_ALLOCA
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (__BORLANDC__ < 0x0550)
Packit Service 5195f2
#    undef HAVE_SNPRINTF
Packit Service 5195f2
#    undef HAVE_VSNPRINTF
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_CC_DMC)
Packit Service 5195f2
#  if (LZO_OS_WIN16)
Packit Service 5195f2
#    undef HAVE_ALLOCA
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  define snprintf _snprintf
Packit Service 5195f2
#  define vsnprintf _vsnprintf
Packit Service 5195f2
#elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__)
Packit Service 5195f2
#  undef HAVE_SNPRINTF
Packit Service 5195f2
#  undef HAVE_VSNPRINTF
Packit Service 5195f2
#elif (LZO_OS_DOS32 && LZO_CC_HIGHC)
Packit Service 5195f2
#  undef HAVE_SNPRINTF
Packit Service 5195f2
#  undef HAVE_VSNPRINTF
Packit Service 5195f2
#elif (LZO_CC_GHS)
Packit Service 5195f2
#  undef HAVE_ALLOCA
Packit Service 5195f2
#  ifndef snprintf
Packit Service 5195f2
#  define snprintf _snprintf
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  ifndef vsnprintf
Packit Service 5195f2
#  define vsnprintf _vsnprintf
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_CC_IBMC)
Packit Service 5195f2
#  undef HAVE_SNPRINTF
Packit Service 5195f2
#  undef HAVE_VSNPRINTF
Packit Service 5195f2
#elif (LZO_CC_INTELC)
Packit Service 5195f2
#  ifndef snprintf
Packit Service 5195f2
#  define snprintf _snprintf
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  ifndef vsnprintf
Packit Service 5195f2
#  define vsnprintf _vsnprintf
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_CC_LCCWIN32)
Packit Service 5195f2
#  define utime _utime
Packit Service 5195f2
#elif (LZO_CC_MSC)
Packit Service 5195f2
#  if (_MSC_VER < 600)
Packit Service 5195f2
#    undef HAVE_STRFTIME
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (_MSC_VER < 700)
Packit Service 5195f2
#    undef HAVE_SNPRINTF
Packit Service 5195f2
#    undef HAVE_VSNPRINTF
Packit Service 5195f2
#  elif (_MSC_VER < 1500)
Packit Service 5195f2
#    ifndef snprintf
Packit Service 5195f2
#    define snprintf _snprintf
Packit Service 5195f2
#    endif
Packit Service 5195f2
#    ifndef vsnprintf
Packit Service 5195f2
#    define vsnprintf _vsnprintf
Packit Service 5195f2
#    endif
Packit Service 5195f2
#  else
Packit Service 5195f2
#    ifndef snprintf
Packit Service 5195f2
#    define snprintf _snprintf
Packit Service 5195f2
#    endif
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if ((_MSC_VER < 800) && LZO_OS_WIN16)
Packit Service 5195f2
#    undef HAVE_ALLOCA
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (LZO_ARCH_I086) && defined(__cplusplus)
Packit Service 5195f2
#    undef HAVE_LONGJMP
Packit Service 5195f2
#    undef HAVE_SETJMP
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__MINGW32__)
Packit Service 5195f2
#  if (LZO_CC_GNUC < 0x025f00ul)
Packit Service 5195f2
#    undef HAVE_SNPRINTF
Packit Service 5195f2
#    undef HAVE_VSNPRINTF
Packit Service 5195f2
#  else
Packit Service 5195f2
#    define snprintf _snprintf
Packit Service 5195f2
#    define vsnprintf _vsnprintf
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_LIBC_MSL)
Packit Service 5195f2
#  if (__MSL__ < 0x8000ul)
Packit Service 5195f2
#    undef HAVE_CHMOD
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_CC_NDPC)
Packit Service 5195f2
#  undef HAVE_ALLOCA
Packit Service 5195f2
#  undef HAVE_SNPRINTF
Packit Service 5195f2
#  undef HAVE_STRNICMP
Packit Service 5195f2
#  undef HAVE_UTIME
Packit Service 5195f2
#  undef HAVE_VSNPRINTF
Packit Service 5195f2
#  if defined(__cplusplus)
Packit Service 5195f2
#    undef HAVE_STAT
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_CC_PACIFICC)
Packit Service 5195f2
#  undef HAVE_ACCESS
Packit Service 5195f2
#  undef HAVE_ALLOCA
Packit Service 5195f2
#  undef HAVE_CHMOD
Packit Service 5195f2
#  undef HAVE_DIFFTIME
Packit Service 5195f2
#  undef HAVE_FSTAT
Packit Service 5195f2
#  undef HAVE_MKTIME
Packit Service 5195f2
#  undef HAVE_RAISE
Packit Service 5195f2
#  undef HAVE_SNPRINTF
Packit Service 5195f2
#  undef HAVE_STRFTIME
Packit Service 5195f2
#  undef HAVE_UTIME
Packit Service 5195f2
#  undef HAVE_VSNPRINTF
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_CC_PELLESC)
Packit Service 5195f2
#  if (__POCC__ < 280)
Packit Service 5195f2
#    define alloca _alloca
Packit Service 5195f2
#    undef HAVE_UTIME
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_CC_PGI) && defined(__MINGW32__)
Packit Service 5195f2
#  define snprintf _snprintf
Packit Service 5195f2
#  define vsnprintf _vsnprintf
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
Packit Service 5195f2
#  undef HAVE_SNPRINTF
Packit Service 5195f2
#  undef HAVE_VSNPRINTF
Packit Service 5195f2
#elif (LZO_CC_SYMANTECC)
Packit Service 5195f2
#  if (LZO_OS_WIN16 && (LZO_MM_MEDIUM || LZO_MM_LARGE || LZO_MM_HUGE))
Packit Service 5195f2
#    undef HAVE_ALLOCA
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (__SC__ < 0x600)
Packit Service 5195f2
#    undef HAVE_SNPRINTF
Packit Service 5195f2
#    undef HAVE_VSNPRINTF
Packit Service 5195f2
#  else
Packit Service 5195f2
#    define snprintf _snprintf
Packit Service 5195f2
#    define vsnprintf _vsnprintf
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (__SC__ < 0x700)
Packit Service 5195f2
#    undef HAVE_DIFFTIME
Packit Service 5195f2
#    undef HAVE_UTIME
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_CC_TOPSPEEDC)
Packit Service 5195f2
#  undef HAVE_SNPRINTF
Packit Service 5195f2
#  undef HAVE_VSNPRINTF
Packit Service 5195f2
#elif (LZO_CC_TURBOC)
Packit Service 5195f2
#  undef HAVE_ALLOCA
Packit Service 5195f2
#  undef HAVE_SNPRINTF
Packit Service 5195f2
#  undef HAVE_VSNPRINTF
Packit Service 5195f2
#  if (__TURBOC__ < 0x0200)
Packit Service 5195f2
#    undef HAVE_RAISE
Packit Service 5195f2
#    undef HAVE_SIGNAL
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (__TURBOC__ < 0x0295)
Packit Service 5195f2
#    undef HAVE_MKTIME
Packit Service 5195f2
#    undef HAVE_STRFTIME
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (__TURBOC__ < 0x0400)
Packit Service 5195f2
#    undef HAVE_UTIME
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_CC_WATCOMC)
Packit Service 5195f2
#  if (__WATCOMC__ < 1100)
Packit Service 5195f2
#    undef HAVE_SNPRINTF
Packit Service 5195f2
#    undef HAVE_VSNPRINTF
Packit Service 5195f2
#  elif (__WATCOMC__ < 1200)
Packit Service 5195f2
#    define snprintf _snprintf
Packit Service 5195f2
#    define vsnprintf _vsnprintf
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_CC_ZORTECHC)
Packit Service 5195f2
#  if (LZO_OS_WIN16 && (LZO_MM_MEDIUM || LZO_MM_LARGE || LZO_MM_HUGE))
Packit Service 5195f2
#    undef HAVE_ALLOCA
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  undef HAVE_DIFFTIME
Packit Service 5195f2
#  undef HAVE_SNPRINTF
Packit Service 5195f2
#  undef HAVE_UTIME
Packit Service 5195f2
#  undef HAVE_VSNPRINTF
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_CONSOLE)
Packit Service 5195f2
#  undef HAVE_ACCESS
Packit Service 5195f2
#  undef HAVE_CHMOD
Packit Service 5195f2
#  undef HAVE_CHOWN
Packit Service 5195f2
#  undef HAVE_GETTIMEOFDAY
Packit Service 5195f2
#  undef HAVE_LSTAT
Packit Service 5195f2
#  undef HAVE_TIME
Packit Service 5195f2
#  undef HAVE_UMASK
Packit Service 5195f2
#  undef HAVE_UTIME
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_LIBC_ISOC90 || LZO_LIBC_ISOC99)
Packit Service 5195f2
#  undef HAVE_ACCESS
Packit Service 5195f2
#  undef HAVE_CHMOD
Packit Service 5195f2
#  undef HAVE_CHOWN
Packit Service 5195f2
#  undef HAVE_FILENO
Packit Service 5195f2
#  undef HAVE_FSTAT
Packit Service 5195f2
#  undef HAVE_GETTIMEOFDAY
Packit Service 5195f2
#  undef HAVE_LSTAT
Packit Service 5195f2
#  undef HAVE_STAT
Packit Service 5195f2
#  undef HAVE_UMASK
Packit Service 5195f2
#  undef HAVE_UTIME
Packit Service 5195f2
# if 1
Packit Service 5195f2
#  undef HAVE_ALLOCA
Packit Service 5195f2
#  undef HAVE_ISATTY
Packit Service 5195f2
#  undef HAVE_MKDIR
Packit Service 5195f2
#  undef HAVE_RMDIR
Packit Service 5195f2
#  undef HAVE_STRDUP
Packit Service 5195f2
#  undef HAVE_STRICMP
Packit Service 5195f2
#  undef HAVE_STRNICMP
Packit Service 5195f2
# endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !(LZO_CFG_AUTO_NO_SIZES)
Packit Service 5195f2
#if !defined(SIZEOF_SHORT) && defined(LZO_SIZEOF_SHORT)
Packit Service 5195f2
#  define SIZEOF_SHORT          LZO_SIZEOF_SHORT
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(SIZEOF_INT) && defined(LZO_SIZEOF_INT)
Packit Service 5195f2
#  define SIZEOF_INT            LZO_SIZEOF_INT
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(SIZEOF_LONG) && defined(LZO_SIZEOF_LONG)
Packit Service 5195f2
#  define SIZEOF_LONG           LZO_SIZEOF_LONG
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(SIZEOF_LONG_LONG) && defined(LZO_SIZEOF_LONG_LONG)
Packit Service 5195f2
#  define SIZEOF_LONG_LONG      LZO_SIZEOF_LONG_LONG
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(SIZEOF___INT32) && defined(LZO_SIZEOF___INT32)
Packit Service 5195f2
#  define SIZEOF___INT32        LZO_SIZEOF___INT32
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(SIZEOF___INT64) && defined(LZO_SIZEOF___INT64)
Packit Service 5195f2
#  define SIZEOF___INT64        LZO_SIZEOF___INT64
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(SIZEOF_VOID_P) && defined(LZO_SIZEOF_VOID_P)
Packit Service 5195f2
#  define SIZEOF_VOID_P         LZO_SIZEOF_VOID_P
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(SIZEOF_SIZE_T) && defined(LZO_SIZEOF_SIZE_T)
Packit Service 5195f2
#  define SIZEOF_SIZE_T         LZO_SIZEOF_SIZE_T
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(SIZEOF_PTRDIFF_T) && defined(LZO_SIZEOF_PTRDIFF_T)
Packit Service 5195f2
#  define SIZEOF_PTRDIFF_T      LZO_SIZEOF_PTRDIFF_T
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_SIGNAL) && !defined(RETSIGTYPE)
Packit Service 5195f2
#  define RETSIGTYPE void
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !(LZO_CFG_SKIP_LZO_TYPES)
Packit Service 5195f2
#if 1 && !defined(lzo_signo_t) && defined(__linux__) && defined(__dietlibc__) && (LZO_SIZEOF_INT != 4)
Packit Service 5195f2
#  define lzo_signo_t               lzo_int32e_t
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(lzo_signo_t)
Packit Service 5195f2
#  define lzo_signo_t               int
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(__cplusplus)
Packit Service 5195f2
extern "C" {
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_BROKEN_CDECL_ALT_SYNTAX)
Packit Service 5195f2
typedef void __lzo_cdecl_sighandler (*lzo_sighandler_t)(lzo_signo_t);
Packit Service 5195f2
#elif defined(RETSIGTYPE)
Packit Service 5195f2
typedef RETSIGTYPE (__lzo_cdecl_sighandler *lzo_sighandler_t)(lzo_signo_t);
Packit Service 5195f2
#else
Packit Service 5195f2
typedef void (__lzo_cdecl_sighandler *lzo_sighandler_t)(lzo_signo_t);
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(__cplusplus)
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACC_INCD_H)
Packit Service 5195f2
#  undef LZO_WANT_ACC_INCD_H
Packit Service 5195f2
#ifndef __LZO_INCD_H_INCLUDED
Packit Service 5195f2
#define __LZO_INCD_H_INCLUDED 1
Packit Service 5195f2
#if (LZO_LIBC_NAKED)
Packit Service 5195f2
#ifndef __LZO_FALLBACK_STDDEF_H_INCLUDED
Packit Service 5195f2
#define __LZO_FALLBACK_STDDEF_H_INCLUDED 1
Packit Service 5195f2
#if defined(__PTRDIFF_TYPE__)
Packit Service 5195f2
typedef __PTRDIFF_TYPE__ lzo_fallback_ptrdiff_t;
Packit Service 5195f2
#elif defined(__MIPS_PSX2__)
Packit Service 5195f2
typedef int lzo_fallback_ptrdiff_t;
Packit Service 5195f2
#else
Packit Service 5195f2
typedef long lzo_fallback_ptrdiff_t;
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(__SIZE_TYPE__)
Packit Service 5195f2
typedef __SIZE_TYPE__ lzo_fallback_size_t;
Packit Service 5195f2
#elif defined(__MIPS_PSX2__)
Packit Service 5195f2
typedef unsigned int lzo_fallback_size_t;
Packit Service 5195f2
#else
Packit Service 5195f2
typedef unsigned long lzo_fallback_size_t;
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(ptrdiff_t)
Packit Service 5195f2
typedef lzo_fallback_ptrdiff_t ptrdiff_t;
Packit Service 5195f2
#ifndef _PTRDIFF_T_DEFINED
Packit Service 5195f2
#define _PTRDIFF_T_DEFINED 1
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(size_t)
Packit Service 5195f2
typedef lzo_fallback_size_t size_t;
Packit Service 5195f2
#ifndef _SIZE_T_DEFINED
Packit Service 5195f2
#define _SIZE_T_DEFINED 1
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(__cplusplus) && !defined(wchar_t)
Packit Service 5195f2
typedef unsigned short wchar_t;
Packit Service 5195f2
#ifndef _WCHAR_T_DEFINED
Packit Service 5195f2
#define _WCHAR_T_DEFINED 1
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef NULL
Packit Service 5195f2
#if defined(__cplusplus) && defined(__GNUC__) && (__GNUC__ >= 4)
Packit Service 5195f2
#define NULL    __null
Packit Service 5195f2
#elif defined(__cplusplus)
Packit Service 5195f2
#define NULL    0
Packit Service 5195f2
#else
Packit Service 5195f2
#define NULL    ((void*)0)
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef offsetof
Packit Service 5195f2
#define offsetof(s,m)   ((size_t)((ptrdiff_t)&(((s*)0)->m)))
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#elif (LZO_LIBC_FREESTANDING)
Packit Service 5195f2
# if defined(HAVE_STDDEF_H) && (HAVE_STDDEF_H+0)
Packit Service 5195f2
#  include <stddef.h>
Packit Service 5195f2
# endif
Packit Service 5195f2
# if defined(HAVE_STDINT_H) && (HAVE_STDINT_H+0)
Packit Service 5195f2
#  include <stdint.h>
Packit Service 5195f2
# endif
Packit Service 5195f2
#elif (LZO_LIBC_MOSTLY_FREESTANDING)
Packit Service 5195f2
# if defined(HAVE_STDIO_H) && (HAVE_STDIO_H+0)
Packit Service 5195f2
#  include <stdio.h>
Packit Service 5195f2
# endif
Packit Service 5195f2
# if defined(HAVE_STDDEF_H) && (HAVE_STDDEF_H+0)
Packit Service 5195f2
#  include <stddef.h>
Packit Service 5195f2
# endif
Packit Service 5195f2
# if defined(HAVE_STDINT_H) && (HAVE_STDINT_H+0)
Packit Service 5195f2
#  include <stdint.h>
Packit Service 5195f2
# endif
Packit Service 5195f2
#else
Packit Service 5195f2
#include <stdio.h>
Packit Service 5195f2
#if defined(HAVE_TIME_H) && (HAVE_TIME_H+0) && defined(__MSL__) && defined(__cplusplus)
Packit Service 5195f2
# include <time.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(HAVE_SYS_TYPES_H) && (HAVE_SYS_TYPES_H+0)
Packit Service 5195f2
# include <sys/types.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(HAVE_SYS_STAT_H) && (HAVE_SYS_STAT_H+0)
Packit Service 5195f2
# include <sys/stat.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(STDC_HEADERS) && (STDC_HEADERS+0)
Packit Service 5195f2
# include <stdlib.h>
Packit Service 5195f2
#elif defined(HAVE_STDLIB_H) && (HAVE_STDLIB_H+0)
Packit Service 5195f2
# include <stdlib.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#include <stddef.h>
Packit Service 5195f2
#if defined(HAVE_STRING_H) && (HAVE_STRING_H+0)
Packit Service 5195f2
# if defined(STDC_HEADERS) && (STDC_HEADERS+0)
Packit Service 5195f2
# elif defined(HAVE_MEMORY_H) && (HAVE_MEMORY_H+0)
Packit Service 5195f2
#  include <memory.h>
Packit Service 5195f2
# endif
Packit Service 5195f2
# include <string.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(HAVE_STRINGS_H) && (HAVE_STRINGS_H+0)
Packit Service 5195f2
# include <strings.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(HAVE_INTTYPES_H) && (HAVE_INTTYPES_H+0)
Packit Service 5195f2
# include <inttypes.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(HAVE_STDINT_H) && (HAVE_STDINT_H+0)
Packit Service 5195f2
# include <stdint.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(HAVE_UNISTD_H) && (HAVE_UNISTD_H+0)
Packit Service 5195f2
# include <unistd.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACC_INCE_H)
Packit Service 5195f2
#  undef LZO_WANT_ACC_INCE_H
Packit Service 5195f2
#ifndef __LZO_INCE_H_INCLUDED
Packit Service 5195f2
#define __LZO_INCE_H_INCLUDED 1
Packit Service 5195f2
#if (LZO_LIBC_NAKED)
Packit Service 5195f2
#elif (LZO_LIBC_FREESTANDING)
Packit Service 5195f2
#elif (LZO_LIBC_MOSTLY_FREESTANDING)
Packit Service 5195f2
#  if (HAVE_SETJMP_H)
Packit Service 5195f2
#    include <setjmp.h>
Packit Service 5195f2
#  endif
Packit Service 5195f2
#else
Packit Service 5195f2
#if (HAVE_STDARG_H)
Packit Service 5195f2
#  include <stdarg.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_CTYPE_H)
Packit Service 5195f2
#  include <ctype.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_ERRNO_H)
Packit Service 5195f2
#  include <errno.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_MALLOC_H)
Packit Service 5195f2
#  include <malloc.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_ALLOCA_H)
Packit Service 5195f2
#  include <alloca.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_FCNTL_H)
Packit Service 5195f2
#  include <fcntl.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_DIRENT_H)
Packit Service 5195f2
#  include <dirent.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_SETJMP_H)
Packit Service 5195f2
#  include <setjmp.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_SIGNAL_H)
Packit Service 5195f2
#  include <signal.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (TIME_WITH_SYS_TIME)
Packit Service 5195f2
#  include <sys/time.h>
Packit Service 5195f2
#  include <time.h>
Packit Service 5195f2
#elif (HAVE_TIME_H)
Packit Service 5195f2
#  include <time.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_UTIME_H)
Packit Service 5195f2
#  include <utime.h>
Packit Service 5195f2
#elif (HAVE_SYS_UTIME_H)
Packit Service 5195f2
#  include <sys/utime.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_IO_H)
Packit Service 5195f2
#  include <io.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_DOS_H)
Packit Service 5195f2
#  include <dos.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_DIRECT_H)
Packit Service 5195f2
#  include <direct.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_SHARE_H)
Packit Service 5195f2
#  include <share.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_CC_NDPC)
Packit Service 5195f2
#  include <os.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(__TOS__) && (defined(__PUREC__) || defined(__TURBOC__))
Packit Service 5195f2
#  include <ext.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACC_INCI_H)
Packit Service 5195f2
#  undef LZO_WANT_ACC_INCI_H
Packit Service 5195f2
#ifndef __LZO_INCI_H_INCLUDED
Packit Service 5195f2
#define __LZO_INCI_H_INCLUDED 1
Packit Service 5195f2
#if (LZO_LIBC_NAKED)
Packit Service 5195f2
#elif (LZO_LIBC_FREESTANDING)
Packit Service 5195f2
#elif (LZO_LIBC_MOSTLY_FREESTANDING)
Packit Service 5195f2
#else
Packit Service 5195f2
#if (LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
Packit Service 5195f2
#  include <tos.h>
Packit Service 5195f2
#elif (LZO_HAVE_WINDOWS_H)
Packit Service 5195f2
#  if 1 && !defined(WIN32_LEAN_AND_MEAN)
Packit Service 5195f2
#    define WIN32_LEAN_AND_MEAN 1
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if 1 && !defined(_WIN32_WINNT)
Packit Service 5195f2
#    define _WIN32_WINNT 0x0400
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  include <windows.h>
Packit Service 5195f2
#  if (LZO_CC_BORLANDC || LZO_CC_TURBOC)
Packit Service 5195f2
#    include <dir.h>
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_WIN16)
Packit Service 5195f2
#  if (LZO_CC_AZTECC)
Packit Service 5195f2
#    include <model.h>
Packit Service 5195f2
#    include <stat.h>
Packit Service 5195f2
#  elif (LZO_CC_BORLANDC || LZO_CC_TURBOC)
Packit Service 5195f2
#    include <alloc.h>
Packit Service 5195f2
#    include <dir.h>
Packit Service 5195f2
#  elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__)
Packit Service 5195f2
#    include <sys/exceptn.h>
Packit Service 5195f2
#  elif (LZO_CC_PACIFICC)
Packit Service 5195f2
#    include <unixio.h>
Packit Service 5195f2
#    include <stat.h>
Packit Service 5195f2
#    include <sys.h>
Packit Service 5195f2
#  elif (LZO_CC_WATCOMC)
Packit Service 5195f2
#    include <i86.h>
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif (LZO_OS_OS216)
Packit Service 5195f2
#  if (LZO_CC_WATCOMC)
Packit Service 5195f2
#    include <i86.h>
Packit Service 5195f2
#  endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_SYS_MMAN_H)
Packit Service 5195f2
#  include <sys/mman.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_SYS_RESOURCE_H)
Packit Service 5195f2
#  include <sys/resource.h>
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
Packit Service 5195f2
#  if defined(FP_OFF)
Packit Service 5195f2
#    define LZO_PTR_FP_OFF(x)   FP_OFF(x)
Packit Service 5195f2
#  elif defined(_FP_OFF)
Packit Service 5195f2
#    define LZO_PTR_FP_OFF(x)   _FP_OFF(x)
Packit Service 5195f2
#  else
Packit Service 5195f2
#    define LZO_PTR_FP_OFF(x)   (((const unsigned __far*)&(x))[0])
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if defined(FP_SEG)
Packit Service 5195f2
#    define LZO_PTR_FP_SEG(x)   FP_SEG(x)
Packit Service 5195f2
#  elif defined(_FP_SEG)
Packit Service 5195f2
#    define LZO_PTR_FP_SEG(x)   _FP_SEG(x)
Packit Service 5195f2
#  else
Packit Service 5195f2
#    define LZO_PTR_FP_SEG(x)   (((const unsigned __far*)&(x))[1])
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if defined(MK_FP)
Packit Service 5195f2
#    define LZO_PTR_MK_FP(s,o)  MK_FP(s,o)
Packit Service 5195f2
#  elif defined(_MK_FP)
Packit Service 5195f2
#    define LZO_PTR_MK_FP(s,o)  _MK_FP(s,o)
Packit Service 5195f2
#  else
Packit Service 5195f2
#    define LZO_PTR_MK_FP(s,o)  ((void __far*)(((unsigned long)(s)<<16)+(unsigned)(o)))
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if 0
Packit Service 5195f2
#    undef LZO_PTR_FP_OFF
Packit Service 5195f2
#    undef LZO_PTR_FP_SEG
Packit Service 5195f2
#    undef LZO_PTR_MK_FP
Packit Service 5195f2
#    define LZO_PTR_FP_OFF(x)   (((const unsigned __far*)&(x))[0])
Packit Service 5195f2
#    define LZO_PTR_FP_SEG(x)   (((const unsigned __far*)&(x))[1])
Packit Service 5195f2
#    define LZO_PTR_MK_FP(s,o)  ((void __far*)(((unsigned long)(s)<<16)+(unsigned)(o)))
Packit Service 5195f2
#  endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACC_LIB_H)
Packit Service 5195f2
#  undef LZO_WANT_ACC_LIB_H
Packit Service 5195f2
#ifndef __LZO_LIB_H_INCLUDED
Packit Service 5195f2
#define __LZO_LIB_H_INCLUDED 1
Packit Service 5195f2
#if !defined(__LZOLIB_FUNCNAME)
Packit Service 5195f2
#  define __LZOLIB_FUNCNAME(f)  f
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(LZOLIB_EXTERN)
Packit Service 5195f2
#  define LZOLIB_EXTERN(r,f)                extern r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(LZOLIB_EXTERN_NOINLINE)
Packit Service 5195f2
#  if defined(__lzo_noinline)
Packit Service 5195f2
#    define LZOLIB_EXTERN_NOINLINE(r,f)     extern __lzo_noinline r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#  else
Packit Service 5195f2
#    define LZOLIB_EXTERN_NOINLINE(r,f)     extern r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#  endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_SIZEOF_LONG > LZO_SIZEOF_VOID_P)
Packit Service 5195f2
#  define lzolib_handle_t       long
Packit Service 5195f2
#else
Packit Service 5195f2
#  define lzolib_handle_t       lzo_intptr_t
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 0
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_ascii_digit)   (int);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_ascii_islower) (int);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_ascii_isupper) (int);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_ascii_tolower) (int);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_ascii_toupper) (int);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_ascii_utolower) (int);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_ascii_utoupper) (int);
Packit Service 5195f2
#endif
Packit Service 5195f2
#define lzo_ascii_isdigit(c)    ((LZO_ICAST(unsigned, c) - 48) < 10)
Packit Service 5195f2
#define lzo_ascii_islower(c)    ((LZO_ICAST(unsigned, c) - 97) < 26)
Packit Service 5195f2
#define lzo_ascii_isupper(c)    ((LZO_ICAST(unsigned, c) - 65) < 26)
Packit Service 5195f2
#define lzo_ascii_tolower(c)    (LZO_ICAST(int, c) + (lzo_ascii_isupper(c) << 5))
Packit Service 5195f2
#define lzo_ascii_toupper(c)    (LZO_ICAST(int, c) - (lzo_ascii_islower(c) << 5))
Packit Service 5195f2
#define lzo_ascii_utolower(c)   lzo_ascii_tolower(LZO_ITRUNC(unsigned char, c))
Packit Service 5195f2
#define lzo_ascii_utoupper(c)   lzo_ascii_toupper(LZO_ITRUNC(unsigned char, c))
Packit Service 5195f2
#ifndef lzo_hsize_t
Packit Service 5195f2
#if (LZO_HAVE_MM_HUGE_PTR)
Packit Service 5195f2
#  define lzo_hsize_t   unsigned long
Packit Service 5195f2
#  define lzo_hvoid_p   void __huge *
Packit Service 5195f2
#  define lzo_hchar_p   char __huge *
Packit Service 5195f2
#  define lzo_hchar_pp  char __huge * __huge *
Packit Service 5195f2
#  define lzo_hbyte_p   unsigned char __huge *
Packit Service 5195f2
#else
Packit Service 5195f2
#  define lzo_hsize_t   size_t
Packit Service 5195f2
#  define lzo_hvoid_p   void *
Packit Service 5195f2
#  define lzo_hchar_p   char *
Packit Service 5195f2
#  define lzo_hchar_pp  char **
Packit Service 5195f2
#  define lzo_hbyte_p   unsigned char *
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hvoid_p, lzo_halloc) (lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_hfree) (lzo_hvoid_p);
Packit Service 5195f2
#if (LZO_OS_DOS16 || LZO_OS_OS216)
Packit Service 5195f2
LZOLIB_EXTERN(void __far*, lzo_dos_alloc) (unsigned long);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_dos_free) (void __far*);
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_hmemcmp) (const lzo_hvoid_p, const lzo_hvoid_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemcpy) (lzo_hvoid_p, const lzo_hvoid_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemmove) (lzo_hvoid_p, const lzo_hvoid_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemset) (lzo_hvoid_p, int, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrlen) (const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_hstrcmp) (const lzo_hchar_p, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_hstrncmp)(const lzo_hchar_p, const lzo_hchar_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_ascii_hstricmp) (const lzo_hchar_p, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_ascii_hstrnicmp)(const lzo_hchar_p, const lzo_hchar_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_ascii_hmemicmp) (const lzo_hvoid_p, const lzo_hvoid_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrstr) (const lzo_hchar_p, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_ascii_hstristr) (const lzo_hchar_p, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemmem) (const lzo_hvoid_p, lzo_hsize_t, const lzo_hvoid_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hvoid_p, lzo_ascii_hmemimem) (const lzo_hvoid_p, lzo_hsize_t, const lzo_hvoid_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrcpy) (lzo_hchar_p, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrcat) (lzo_hchar_p, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrlcpy) (lzo_hchar_p, const lzo_hchar_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrlcat) (lzo_hchar_p, const lzo_hchar_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_hstrscpy) (lzo_hchar_p, const lzo_hchar_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_hstrscat) (lzo_hchar_p, const lzo_hchar_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrccpy) (lzo_hchar_p, const lzo_hchar_p, int);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemccpy) (lzo_hvoid_p, const lzo_hvoid_p, int, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrchr)  (const lzo_hchar_p, int);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrrchr) (const lzo_hchar_p, int);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_ascii_hstrichr) (const lzo_hchar_p, int);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_ascii_hstrrichr) (const lzo_hchar_p, int);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemchr)  (const lzo_hvoid_p, int, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hvoid_p, lzo_hmemrchr) (const lzo_hvoid_p, int, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hvoid_p, lzo_ascii_hmemichr) (const lzo_hvoid_p, int, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hvoid_p, lzo_ascii_hmemrichr) (const lzo_hvoid_p, int, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrspn)  (const lzo_hchar_p, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrrspn) (const lzo_hchar_p, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrcspn)  (const lzo_hchar_p, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hsize_t, lzo_hstrrcspn) (const lzo_hchar_p, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrpbrk)  (const lzo_hchar_p, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrrpbrk) (const lzo_hchar_p, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrsep)  (lzo_hchar_pp, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_hstrrsep) (lzo_hchar_pp, const lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_ascii_hstrlwr) (lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hchar_p, lzo_ascii_hstrupr) (lzo_hchar_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hvoid_p, lzo_ascii_hmemlwr) (lzo_hvoid_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hvoid_p, lzo_ascii_hmemupr) (lzo_hvoid_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hsize_t, lzo_hfread) (void *, lzo_hvoid_p, lzo_hsize_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_hsize_t, lzo_hfwrite) (void *, const lzo_hvoid_p, lzo_hsize_t);
Packit Service 5195f2
#if (LZO_HAVE_MM_HUGE_PTR)
Packit Service 5195f2
LZOLIB_EXTERN(long, lzo_hread) (int, lzo_hvoid_p, long);
Packit Service 5195f2
LZOLIB_EXTERN(long, lzo_hwrite) (int, const lzo_hvoid_p, long);
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN(long, lzo_safe_hread) (int, lzo_hvoid_p, long);
Packit Service 5195f2
LZOLIB_EXTERN(long, lzo_safe_hwrite) (int, const lzo_hvoid_p, long);
Packit Service 5195f2
LZOLIB_EXTERN(unsigned, lzo_ua_get_be16) (const lzo_hvoid_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint32l_t, lzo_ua_get_be24) (const lzo_hvoid_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint32l_t, lzo_ua_get_be32) (const lzo_hvoid_p);
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_ua_set_be16) (lzo_hvoid_p, unsigned);
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_ua_set_be24) (lzo_hvoid_p, lzo_uint32l_t);
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_ua_set_be32) (lzo_hvoid_p, lzo_uint32l_t);
Packit Service 5195f2
LZOLIB_EXTERN(unsigned, lzo_ua_get_le16) (const lzo_hvoid_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint32l_t, lzo_ua_get_le24) (const lzo_hvoid_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint32l_t, lzo_ua_get_le32) (const lzo_hvoid_p);
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_ua_set_le16) (lzo_hvoid_p, unsigned);
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_ua_set_le24) (lzo_hvoid_p, lzo_uint32l_t);
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_ua_set_le32) (lzo_hvoid_p, lzo_uint32l_t);
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint64l_t, lzo_ua_get_be64) (const lzo_hvoid_p);
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_ua_set_be64) (lzo_hvoid_p, lzo_uint64l_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint64l_t, lzo_ua_get_le64) (const lzo_hvoid_p);
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_ua_set_le64) (lzo_hvoid_p, lzo_uint64l_t);
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(short, lzo_vget_short) (short, int);
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(int, lzo_vget_int) (int, int);
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(long, lzo_vget_long) (long, int);
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(lzo_int64l_t, lzo_vget_lzo_int64l_t) (lzo_int64l_t, int);
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(lzo_hsize_t, lzo_vget_lzo_hsize_t) (lzo_hsize_t, int);
Packit Service 5195f2
#if !(LZO_CFG_NO_FLOAT)
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(float, lzo_vget_float) (float, int);
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !(LZO_CFG_NO_DOUBLE)
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(double, lzo_vget_double) (double, int);
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(lzo_hvoid_p, lzo_vget_lzo_hvoid_p) (lzo_hvoid_p, int);
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(const lzo_hvoid_p, lzo_vget_lzo_hvoid_cp) (const lzo_hvoid_p, int);
Packit Service 5195f2
#if !defined(LZO_FN_PATH_MAX)
Packit Service 5195f2
#if (LZO_OS_DOS16 || LZO_OS_WIN16)
Packit Service 5195f2
#  define LZO_FN_PATH_MAX   143
Packit Service 5195f2
#elif (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN32 || LZO_OS_WIN64)
Packit Service 5195f2
#  define LZO_FN_PATH_MAX   259
Packit Service 5195f2
#elif (LZO_OS_TOS)
Packit Service 5195f2
#  define LZO_FN_PATH_MAX   259
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(LZO_FN_PATH_MAX)
Packit Service 5195f2
#  define LZO_FN_PATH_MAX   1023
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(LZO_FN_NAME_MAX)
Packit Service 5195f2
#if (LZO_OS_DOS16 || LZO_OS_WIN16)
Packit Service 5195f2
#  define LZO_FN_NAME_MAX   12
Packit Service 5195f2
#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
Packit Service 5195f2
#  define LZO_FN_NAME_MAX   12
Packit Service 5195f2
#elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__)
Packit Service 5195f2
#elif (LZO_OS_DOS32)
Packit Service 5195f2
#  define LZO_FN_NAME_MAX   12
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(LZO_FN_NAME_MAX)
Packit Service 5195f2
#  define LZO_FN_NAME_MAX   LZO_FN_PATH_MAX
Packit Service 5195f2
#endif
Packit Service 5195f2
#define LZO_FNMATCH_NOESCAPE        1
Packit Service 5195f2
#define LZO_FNMATCH_PATHNAME        2
Packit Service 5195f2
#define LZO_FNMATCH_PATHSTAR        4
Packit Service 5195f2
#define LZO_FNMATCH_PERIOD          8
Packit Service 5195f2
#define LZO_FNMATCH_ASCII_CASEFOLD  16
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_fnmatch) (const lzo_hchar_p, const lzo_hchar_p, int);
Packit Service 5195f2
#undef __LZOLIB_USE_OPENDIR
Packit Service 5195f2
#if (HAVE_DIRENT_H || LZO_CC_WATCOMC)
Packit Service 5195f2
#  define __LZOLIB_USE_OPENDIR 1
Packit Service 5195f2
#  if (LZO_OS_DOS32 && defined(__BORLANDC__))
Packit Service 5195f2
#  elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__)
Packit Service 5195f2
#  elif (LZO_OS_OS2 || LZO_OS_OS216)
Packit Service 5195f2
#  elif (LZO_ARCH_M68K && LZO_OS_TOS && LZO_CC_GNUC)
Packit Service 5195f2
#  elif (LZO_OS_WIN32 && !(LZO_HAVE_WINDOWS_H))
Packit Service 5195f2
#  elif (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_TOS || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
Packit Service 5195f2
#    undef __LZOLIB_USE_OPENDIR
Packit Service 5195f2
#  endif
Packit Service 5195f2
#endif
Packit Service 5195f2
typedef struct
Packit Service 5195f2
{
Packit Service 5195f2
#if defined(__LZOLIB_USE_OPENDIR)
Packit Service 5195f2
    void* u_dirp;
Packit Service 5195f2
# if (LZO_CC_WATCOMC)
Packit Service 5195f2
    unsigned short f_time;
Packit Service 5195f2
    unsigned short f_date;
Packit Service 5195f2
    unsigned long f_size;
Packit Service 5195f2
# endif
Packit Service 5195f2
    char f_name[LZO_FN_NAME_MAX+1];
Packit Service 5195f2
#elif (LZO_OS_WIN32 || LZO_OS_WIN64)
Packit Service 5195f2
    lzolib_handle_t u_handle;
Packit Service 5195f2
    unsigned f_attr;
Packit Service 5195f2
    unsigned f_size_low;
Packit Service 5195f2
    unsigned f_size_high;
Packit Service 5195f2
    char f_name[LZO_FN_NAME_MAX+1];
Packit Service 5195f2
#elif (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_TOS || LZO_OS_WIN16)
Packit Service 5195f2
    char u_dta[21];
Packit Service 5195f2
    unsigned char f_attr;
Packit Service 5195f2
    unsigned short f_time;
Packit Service 5195f2
    unsigned short f_date;
Packit Service 5195f2
    unsigned short f_size_low;
Packit Service 5195f2
    unsigned short f_size_high;
Packit Service 5195f2
    char f_name[LZO_FN_NAME_MAX+1];
Packit Service 5195f2
    char u_dirp;
Packit Service 5195f2
#else
Packit Service 5195f2
    void* u_dirp;
Packit Service 5195f2
    char f_name[LZO_FN_NAME_MAX+1];
Packit Service 5195f2
#endif
Packit Service 5195f2
} lzo_dir_t;
Packit Service 5195f2
#ifndef lzo_dir_p
Packit Service 5195f2
#define lzo_dir_p lzo_dir_t *
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_opendir)  (lzo_dir_p, const char*);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_readdir)  (lzo_dir_p);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_closedir) (lzo_dir_p);
Packit Service 5195f2
#if (LZO_CC_GNUC) && (defined(__CYGWIN__) || defined(__MINGW32__))
Packit Service 5195f2
#  define lzo_alloca(x)     __builtin_alloca((x))
Packit Service 5195f2
#elif (LZO_CC_GNUC) && (LZO_OS_CONSOLE_PS2)
Packit Service 5195f2
#  define lzo_alloca(x)     __builtin_alloca((x))
Packit Service 5195f2
#elif (LZO_CC_BORLANDC || LZO_CC_LCC) && defined(__linux__)
Packit Service 5195f2
#elif (HAVE_ALLOCA)
Packit Service 5195f2
#  define lzo_alloca(x)     LZO_STATIC_CAST(void *, alloca((x)))
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__)
Packit Service 5195f2
#  define lzo_stackavail()  stackavail()
Packit Service 5195f2
#elif (LZO_ARCH_I086 && LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0410))
Packit Service 5195f2
#  define lzo_stackavail()  stackavail()
Packit Service 5195f2
#elif (LZO_ARCH_I086 && LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0400))
Packit Service 5195f2
#  if (LZO_OS_WIN16) && (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
Packit Service 5195f2
#  else
Packit Service 5195f2
#    define lzo_stackavail()  stackavail()
Packit Service 5195f2
#  endif
Packit Service 5195f2
#elif ((LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_CC_DMC || LZO_CC_SYMANTECC))
Packit Service 5195f2
#  define lzo_stackavail()  stackavail()
Packit Service 5195f2
#elif ((LZO_ARCH_I086) && LZO_CC_MSC && (_MSC_VER >= 700))
Packit Service 5195f2
#  define lzo_stackavail()  _stackavail()
Packit Service 5195f2
#elif ((LZO_ARCH_I086) && LZO_CC_MSC)
Packit Service 5195f2
#  define lzo_stackavail()  stackavail()
Packit Service 5195f2
#elif ((LZO_ARCH_I086 || LZO_ARCH_I386) && LZO_CC_TURBOC && (__TURBOC__ >= 0x0450))
Packit Service 5195f2
#  define lzo_stackavail()  stackavail()
Packit Service 5195f2
#elif (LZO_ARCH_I086 && LZO_CC_TURBOC && (__TURBOC__ >= 0x0400))
Packit Service 5195f2
   LZO_EXTERN_C size_t __cdecl stackavail(void);
Packit Service 5195f2
#  define lzo_stackavail()  stackavail()
Packit Service 5195f2
#elif ((LZO_ARCH_I086 || LZO_ARCH_I386) && (LZO_CC_WATCOMC))
Packit Service 5195f2
#  define lzo_stackavail()  stackavail()
Packit Service 5195f2
#elif (LZO_ARCH_I086 && LZO_CC_ZORTECHC)
Packit Service 5195f2
#  define lzo_stackavail()  _chkstack()
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN(lzo_intptr_t, lzo_get_osfhandle) (int);
Packit Service 5195f2
LZOLIB_EXTERN(const char *, lzo_getenv) (const char *);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_isatty) (int);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_mkdir) (const char*, unsigned);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_rmdir) (const char*);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_response) (int*, char***);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_set_binmode) (int, int);
Packit Service 5195f2
#if defined(lzo_int32e_t)
Packit Service 5195f2
LZOLIB_EXTERN(lzo_int32e_t, lzo_muldiv32s) (lzo_int32e_t, lzo_int32e_t, lzo_int32e_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint32e_t, lzo_muldiv32u) (lzo_uint32e_t, lzo_uint32e_t, lzo_uint32e_t);
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_wildargv) (int*, char***);
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(void, lzo_debug_break) (void);
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(void, lzo_debug_nop) (void);
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(int, lzo_debug_align_check_query) (void);
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(int, lzo_debug_align_check_enable) (int);
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(unsigned, lzo_debug_running_on_qemu) (void);
Packit Service 5195f2
LZOLIB_EXTERN_NOINLINE(unsigned, lzo_debug_running_on_valgrind) (void);
Packit Service 5195f2
#if defined(lzo_int32e_t)
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_tsc_read) (lzo_uint32e_t*);
Packit Service 5195f2
#endif
Packit Service 5195f2
struct lzo_pclock_handle_t;
Packit Service 5195f2
struct lzo_pclock_t;
Packit Service 5195f2
typedef struct lzo_pclock_handle_t lzo_pclock_handle_t;
Packit Service 5195f2
typedef struct lzo_pclock_t lzo_pclock_t;
Packit Service 5195f2
#ifndef lzo_pclock_handle_p
Packit Service 5195f2
#define lzo_pclock_handle_p lzo_pclock_handle_t *
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef lzo_pclock_p
Packit Service 5195f2
#define lzo_pclock_p lzo_pclock_t *
Packit Service 5195f2
#endif
Packit Service 5195f2
#define LZO_PCLOCK_REALTIME             0
Packit Service 5195f2
#define LZO_PCLOCK_MONOTONIC            1
Packit Service 5195f2
#define LZO_PCLOCK_PROCESS_CPUTIME_ID   2
Packit Service 5195f2
#define LZO_PCLOCK_THREAD_CPUTIME_ID    3
Packit Service 5195f2
typedef int (*lzo_pclock_gettime_t) (lzo_pclock_handle_p, lzo_pclock_p);
Packit Service 5195f2
struct lzo_pclock_handle_t {
Packit Service 5195f2
    lzolib_handle_t h;
Packit Service 5195f2
    int mode;
Packit Service 5195f2
    int read_error;
Packit Service 5195f2
    const char* name;
Packit Service 5195f2
    lzo_pclock_gettime_t gettime;
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
    lzo_uint64l_t ticks_base;
Packit Service 5195f2
#endif
Packit Service 5195f2
};
Packit Service 5195f2
struct lzo_pclock_t {
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
    lzo_int64l_t tv_sec;
Packit Service 5195f2
#else
Packit Service 5195f2
    lzo_int32l_t tv_sec_high;
Packit Service 5195f2
    lzo_uint32l_t tv_sec_low;
Packit Service 5195f2
#endif
Packit Service 5195f2
    lzo_uint32l_t tv_nsec;
Packit Service 5195f2
};
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_pclock_open)  (lzo_pclock_handle_p, int);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_pclock_open_default) (lzo_pclock_handle_p);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_pclock_close) (lzo_pclock_handle_p);
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_pclock_read) (lzo_pclock_handle_p, lzo_pclock_p);
Packit Service 5195f2
#if !(LZO_CFG_NO_DOUBLE)
Packit Service 5195f2
LZOLIB_EXTERN(double, lzo_pclock_get_elapsed) (lzo_pclock_handle_p, const lzo_pclock_p, const lzo_pclock_p);
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_pclock_flush_cpu_cache) (lzo_pclock_handle_p, unsigned);
Packit Service 5195f2
struct lzo_getopt_t;
Packit Service 5195f2
typedef struct lzo_getopt_t lzo_getopt_t;
Packit Service 5195f2
#ifndef lzo_getopt_p
Packit Service 5195f2
#define lzo_getopt_p lzo_getopt_t *
Packit Service 5195f2
#endif
Packit Service 5195f2
struct lzo_getopt_longopt_t;
Packit Service 5195f2
typedef struct lzo_getopt_longopt_t lzo_getopt_longopt_t;
Packit Service 5195f2
#ifndef lzo_getopt_longopt_p
Packit Service 5195f2
#define lzo_getopt_longopt_p lzo_getopt_longopt_t *
Packit Service 5195f2
#endif
Packit Service 5195f2
struct lzo_getopt_longopt_t {
Packit Service 5195f2
    const char* name;
Packit Service 5195f2
    int has_arg;
Packit Service 5195f2
    int* flag;
Packit Service 5195f2
    int val;
Packit Service 5195f2
};
Packit Service 5195f2
typedef void (*lzo_getopt_opterr_t)(lzo_getopt_p, const char*, void *);
Packit Service 5195f2
struct lzo_getopt_t {
Packit Service 5195f2
    void *user;
Packit Service 5195f2
    const char *progname;
Packit Service 5195f2
    int bad_option;
Packit Service 5195f2
    char *optarg;
Packit Service 5195f2
    lzo_getopt_opterr_t opterr;
Packit Service 5195f2
    int optind;
Packit Service 5195f2
    int optopt;
Packit Service 5195f2
    int errcount;
Packit Service 5195f2
    int argc; char** argv;
Packit Service 5195f2
    int eof; int shortpos;
Packit Service 5195f2
    int pending_rotate_first, pending_rotate_middle;
Packit Service 5195f2
};
Packit Service 5195f2
enum { LZO_GETOPT_NO_ARG, LZO_GETOPT_REQUIRED_ARG, LZO_GETOPT_OPTIONAL_ARG, LZO_GETOPT_EXACT_ARG = 0x10 };
Packit Service 5195f2
enum { LZO_GETOPT_PERMUTE, LZO_GETOPT_RETURN_IN_ORDER, LZO_GETOPT_REQUIRE_ORDER };
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_getopt_init) (lzo_getopt_p g,
Packit Service 5195f2
                                      int start_argc, int argc, char** argv);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_getopt) (lzo_getopt_p g,
Packit Service 5195f2
                                const char* shortopts,
Packit Service 5195f2
                                const lzo_getopt_longopt_p longopts,
Packit Service 5195f2
                                int* longind);
Packit Service 5195f2
typedef struct {
Packit Service 5195f2
    lzo_uint32l_t seed;
Packit Service 5195f2
} lzo_rand31_t;
Packit Service 5195f2
#ifndef lzo_rand31_p
Packit Service 5195f2
#define lzo_rand31_p lzo_rand31_t *
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_srand31) (lzo_rand31_p, lzo_uint32l_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint32l_t, lzo_rand31) (lzo_rand31_p);
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
typedef struct {
Packit Service 5195f2
    lzo_uint64l_t seed;
Packit Service 5195f2
} lzo_rand48_t;
Packit Service 5195f2
#ifndef lzo_rand48_p
Packit Service 5195f2
#define lzo_rand48_p lzo_rand48_t *
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_srand48) (lzo_rand48_p, lzo_uint32l_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint32l_t, lzo_rand48) (lzo_rand48_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint32l_t, lzo_rand48_r32) (lzo_rand48_p);
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
typedef struct {
Packit Service 5195f2
    lzo_uint64l_t seed;
Packit Service 5195f2
} lzo_rand64_t;
Packit Service 5195f2
#ifndef lzo_rand64_p
Packit Service 5195f2
#define lzo_rand64_p lzo_rand64_t *
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_srand64) (lzo_rand64_p, lzo_uint64l_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint32l_t, lzo_rand64) (lzo_rand64_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint32l_t, lzo_rand64_r32) (lzo_rand64_p);
Packit Service 5195f2
#endif
Packit Service 5195f2
typedef struct {
Packit Service 5195f2
    unsigned n;
Packit Service 5195f2
    lzo_uint32l_t s[624];
Packit Service 5195f2
} lzo_randmt_t;
Packit Service 5195f2
#ifndef lzo_randmt_p
Packit Service 5195f2
#define lzo_randmt_p lzo_randmt_t *
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_srandmt) (lzo_randmt_p, lzo_uint32l_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint32l_t, lzo_randmt) (lzo_randmt_p);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint32l_t, lzo_randmt_r32) (lzo_randmt_p);
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
typedef struct {
Packit Service 5195f2
    unsigned n;
Packit Service 5195f2
    lzo_uint64l_t s[312];
Packit Service 5195f2
} lzo_randmt64_t;
Packit Service 5195f2
#ifndef lzo_randmt64_p
Packit Service 5195f2
#define lzo_randmt64_p lzo_randmt64_t *
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_EXTERN(void, lzo_srandmt64) (lzo_randmt64_p, lzo_uint64l_t);
Packit Service 5195f2
LZOLIB_EXTERN(lzo_uint64l_t, lzo_randmt64_r64) (lzo_randmt64_p);
Packit Service 5195f2
#endif
Packit Service 5195f2
#define LZO_SPAWN_P_WAIT    0
Packit Service 5195f2
#define LZO_SPAWN_P_NOWAIT  1
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_spawnv)  (int mode, const char* fn, const char* const * argv);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_spawnvp) (int mode, const char* fn, const char* const * argv);
Packit Service 5195f2
LZOLIB_EXTERN(int, lzo_spawnve) (int mode, const char* fn, const char* const * argv, const char * const envp);
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACC_CXX_H)
Packit Service 5195f2
#  undef LZO_WANT_ACC_CXX_H
Packit Service 5195f2
#ifndef __LZO_CXX_H_INCLUDED
Packit Service 5195f2
#define __LZO_CXX_H_INCLUDED 1
Packit Service 5195f2
#if defined(__cplusplus)
Packit Service 5195f2
#if defined(LZO_CXX_NOTHROW)
Packit Service 5195f2
#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020800ul))
Packit Service 5195f2
#elif (LZO_CC_BORLANDC && (__BORLANDC__ < 0x0450))
Packit Service 5195f2
#elif (LZO_CC_GHS && !defined(__EXCEPTIONS))
Packit Service 5195f2
#elif (LZO_CC_HIGHC)
Packit Service 5195f2
#elif (LZO_CC_MSC && (_MSC_VER < 1100))
Packit Service 5195f2
#elif (LZO_CC_NDPC)
Packit Service 5195f2
#elif (LZO_CC_TURBOC)
Packit Service 5195f2
#elif (LZO_CC_WATCOMC && !defined(_CPPUNWIND))
Packit Service 5195f2
#elif (LZO_CC_ZORTECHC)
Packit Service 5195f2
#else
Packit Service 5195f2
#  define LZO_CXX_NOTHROW           throw()
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(LZO_CXX_NOTHROW)
Packit Service 5195f2
#  define LZO_CXX_NOTHROW           /*empty*/
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(__LZO_CXX_DO_NEW)
Packit Service 5195f2
#elif (LZO_CC_GHS || LZO_CC_NDPC || LZO_CC_PGI)
Packit Service 5195f2
#  define __LZO_CXX_DO_NEW          { return 0; }
Packit Service 5195f2
#elif ((LZO_CC_BORLANDC || LZO_CC_TURBOC) && LZO_ARCH_I086)
Packit Service 5195f2
#  define __LZO_CXX_DO_NEW          { return 0; }
Packit Service 5195f2
#else
Packit Service 5195f2
#  define __LZO_CXX_DO_NEW          ;
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(__LZO_CXX_DO_DELETE)
Packit Service 5195f2
#elif (LZO_CC_BORLANDC || LZO_CC_TURBOC)
Packit Service 5195f2
#  define __LZO_CXX_DO_DELETE       { }
Packit Service 5195f2
#else
Packit Service 5195f2
#  define __LZO_CXX_DO_DELETE       LZO_CXX_NOTHROW { }
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_CC_BORLANDC && (__BORLANDC__ < 0x0450))
Packit Service 5195f2
#elif (LZO_CC_MSC && LZO_MM_HUGE)
Packit Service 5195f2
#  define LZO_CXX_DISABLE_NEW_DELETE private:
Packit Service 5195f2
#elif (LZO_CC_MSC && (_MSC_VER < 1100))
Packit Service 5195f2
#elif (LZO_CC_NDPC)
Packit Service 5195f2
#elif (LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
Packit Service 5195f2
#elif (LZO_CC_TURBOC)
Packit Service 5195f2
#elif (LZO_CC_WATCOMC && (__WATCOMC__ < 1100))
Packit Service 5195f2
#else
Packit Service 5195f2
#  define __LZO_CXX_HAVE_ARRAY_NEW 1
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (__LZO_CXX_HAVE_ARRAY_NEW)
Packit Service 5195f2
#  define __LZO_CXX_HAVE_PLACEMENT_NEW 1
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (__LZO_CXX_HAVE_PLACEMENT_NEW)
Packit Service 5195f2
#  if (LZO_CC_GNUC >= 0x030000ul)
Packit Service 5195f2
#    define __LZO_CXX_HAVE_PLACEMENT_DELETE 1
Packit Service 5195f2
#  elif (LZO_CC_INTELC)
Packit Service 5195f2
#    define __LZO_CXX_HAVE_PLACEMENT_DELETE 1
Packit Service 5195f2
#  elif (LZO_CC_MSC && (_MSC_VER >= 1200))
Packit Service 5195f2
#    define __LZO_CXX_HAVE_PLACEMENT_DELETE 1
Packit Service 5195f2
#  elif (LZO_CC_CLANG || LZO_CC_LLVM || LZO_CC_PATHSCALE)
Packit Service 5195f2
#    define __LZO_CXX_HAVE_PLACEMENT_DELETE 1
Packit Service 5195f2
#  elif (LZO_CC_PGI)
Packit Service 5195f2
#    define __LZO_CXX_HAVE_PLACEMENT_DELETE 1
Packit Service 5195f2
#  endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_CXX_DISABLE_NEW_DELETE)
Packit Service 5195f2
#elif defined(new) || defined(delete)
Packit Service 5195f2
#  define LZO_CXX_DISABLE_NEW_DELETE private:
Packit Service 5195f2
#elif (LZO_CC_GNUC && (LZO_CC_GNUC < 0x025b00ul))
Packit Service 5195f2
#  define LZO_CXX_DISABLE_NEW_DELETE private:
Packit Service 5195f2
#elif  (LZO_CC_HIGHC)
Packit Service 5195f2
#  define LZO_CXX_DISABLE_NEW_DELETE private:
Packit Service 5195f2
#elif !(__LZO_CXX_HAVE_ARRAY_NEW)
Packit Service 5195f2
#  define LZO_CXX_DISABLE_NEW_DELETE \
Packit Service 5195f2
        protected: static void operator delete(void*) __LZO_CXX_DO_DELETE \
Packit Service 5195f2
        protected: static void* operator new(size_t) __LZO_CXX_DO_NEW \
Packit Service 5195f2
        private:
Packit Service 5195f2
#else
Packit Service 5195f2
#  define LZO_CXX_DISABLE_NEW_DELETE \
Packit Service 5195f2
        protected: static void operator delete(void*) __LZO_CXX_DO_DELETE \
Packit Service 5195f2
                   static void operator delete[](void*) __LZO_CXX_DO_DELETE \
Packit Service 5195f2
        private:   static void* operator new(size_t)  __LZO_CXX_DO_NEW \
Packit Service 5195f2
                   static void* operator new[](size_t) __LZO_CXX_DO_NEW
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_CXX_TRIGGER_FUNCTION)
Packit Service 5195f2
#else
Packit Service 5195f2
#  define LZO_CXX_TRIGGER_FUNCTION \
Packit Service 5195f2
        protected: virtual const void* lzo_cxx_trigger_function() const; \
Packit Service 5195f2
        private:
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_CXX_TRIGGER_FUNCTION_IMPL)
Packit Service 5195f2
#else
Packit Service 5195f2
#  define LZO_CXX_TRIGGER_FUNCTION_IMPL(klass) \
Packit Service 5195f2
        const void* klass::lzo_cxx_trigger_function() const { return LZO_STATIC_CAST(const void *, 0); }
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACC_CHK_CH)
Packit Service 5195f2
#  undef LZO_WANT_ACC_CHK_CH
Packit Service 5195f2
#if !defined(LZOCHK_ASSERT)
Packit Service 5195f2
#  define LZOCHK_ASSERT(expr)   LZO_COMPILE_TIME_ASSERT_HEADER(expr)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(LZOCHK_ASSERT_SIGN_T)
Packit Service 5195f2
#  define LZOCHK_ASSERT_SIGN_T(type,relop) \
Packit Service 5195f2
        LZOCHK_ASSERT( LZO_STATIC_CAST(type, -1)  relop  LZO_STATIC_CAST(type, 0)) \
Packit Service 5195f2
        LZOCHK_ASSERT( LZO_STATIC_CAST(type, ~LZO_STATIC_CAST(type, 0)) relop  LZO_STATIC_CAST(type, 0)) \
Packit Service 5195f2
        LZOCHK_ASSERT( LZO_STATIC_CAST(type, ~LZO_STATIC_CAST(type, 0)) ==     LZO_STATIC_CAST(type, -1))
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(LZOCHK_ASSERT_IS_SIGNED_T)
Packit Service 5195f2
#  define LZOCHK_ASSERT_IS_SIGNED_T(type)       LZOCHK_ASSERT_SIGN_T(type,<)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(LZOCHK_ASSERT_IS_UNSIGNED_T)
Packit Service 5195f2
#  if (LZO_BROKEN_INTEGRAL_PROMOTION)
Packit Service 5195f2
#    define LZOCHK_ASSERT_IS_UNSIGNED_T(type) \
Packit Service 5195f2
        LZOCHK_ASSERT( LZO_STATIC_CAST(type, -1) > LZO_STATIC_CAST(type, 0) )
Packit Service 5195f2
#  else
Packit Service 5195f2
#    define LZOCHK_ASSERT_IS_UNSIGNED_T(type)   LZOCHK_ASSERT_SIGN_T(type,>)
Packit Service 5195f2
#  endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZOCHK_CFG_PEDANTIC)
Packit Service 5195f2
#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0550) && (__BORLANDC__ < 0x0560))
Packit Service 5195f2
#  pragma option push -w-8055
Packit Service 5195f2
#elif (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0550))
Packit Service 5195f2
#  pragma option push -w-osh
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_0xffffffffL - LZO_UINT32_C(4294967294) != 1)
Packit Service 5195f2
#  error "preprocessor error"
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_0xffffffffL - LZO_UINT32_C(0xfffffffd) != 2)
Packit Service 5195f2
#  error "preprocessor error"
Packit Service 5195f2
#endif
Packit Service 5195f2
#if +0
Packit Service 5195f2
#  error "preprocessor error"
Packit Service 5195f2
#endif
Packit Service 5195f2
#if -0
Packit Service 5195f2
#  error "preprocessor error"
Packit Service 5195f2
#endif
Packit Service 5195f2
#if +0 != 0
Packit Service 5195f2
#  error "preprocessor error"
Packit Service 5195f2
#endif
Packit Service 5195f2
#if -0 != 0
Packit Service 5195f2
#  error "preprocessor error"
Packit Service 5195f2
#endif
Packit Service 5195f2
#define LZOCHK_VAL  1
Packit Service 5195f2
#define LZOCHK_TMP1 LZOCHK_VAL
Packit Service 5195f2
#undef LZOCHK_VAL
Packit Service 5195f2
#define LZOCHK_VAL  2
Packit Service 5195f2
#define LZOCHK_TMP2 LZOCHK_VAL
Packit Service 5195f2
#if (LZOCHK_TMP1 != 2)
Packit Service 5195f2
#  error "preprocessor error 3a"
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZOCHK_TMP2 != 2)
Packit Service 5195f2
#  error "preprocessor error 3b"
Packit Service 5195f2
#endif
Packit Service 5195f2
#undef LZOCHK_VAL
Packit Service 5195f2
#if (LZOCHK_TMP2)
Packit Service 5195f2
#  error "preprocessor error 3c"
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZOCHK_TMP2 + 0 != 0)
Packit Service 5195f2
#  error "preprocessor error 3d"
Packit Service 5195f2
#endif
Packit Service 5195f2
#undef LZOCHK_TMP1
Packit Service 5195f2
#undef LZOCHK_TMP2
Packit Service 5195f2
#if 0 || defined(LZOCHK_CFG_PEDANTIC)
Packit Service 5195f2
#  if (LZO_ARCH_MIPS) && defined(_MIPS_SZINT)
Packit Service 5195f2
    LZOCHK_ASSERT((_MIPS_SZINT) == 8 * sizeof(int))
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (LZO_ARCH_MIPS) && defined(_MIPS_SZLONG)
Packit Service 5195f2
    LZOCHK_ASSERT((_MIPS_SZLONG) == 8 * sizeof(long))
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  if (LZO_ARCH_MIPS) && defined(_MIPS_SZPTR)
Packit Service 5195f2
    LZOCHK_ASSERT((_MIPS_SZPTR) == 8 * sizeof(void *))
Packit Service 5195f2
#  endif
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(1 == 1)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1u,1) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1u,2) == 3)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1u,3) == 7)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1u,8) == 255)
Packit Service 5195f2
#if (SIZEOF_INT >= 2)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1,15) == 32767)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1u,16) == 0xffffU)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(0u,16) == 0u)
Packit Service 5195f2
#else
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1ul,16) == 0xffffUL)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(0ul,16) == 0ul)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (SIZEOF_INT >= 4)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1,31) == 2147483647)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1u,32) == 0xffffffffU)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(0u,32) == 0u)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (SIZEOF_LONG >= 4)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1ul,32) == 0xffffffffUL)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(0ul,32) == 0ul)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (SIZEOF_LONG >= 8)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1ul,64) == 0xffffffffffffffffUL)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(0ul,64) == 0ul)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !(LZO_BROKEN_INTEGRAL_PROMOTION)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1u,SIZEOF_INT*8) == ~0u)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1ul,SIZEOF_LONG*8) == ~0ul)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 1
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(0,0) == 0)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(1,0) == 0)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(2,0) == 0)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(4,0) == 0)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 1
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(2,1) == 2)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(4,1) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(8,1) == 8)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(2,2) == 2+4)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(4,2) == 4+8)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(8,2) == 8+16)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(2,3) == 2+4+8)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(4,3) == 4+8+16)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(8,3) == 8+16+32)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(7,1) == 7)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(7,2) == 7+14)
Packit Service 5195f2
    LZOCHK_ASSERT(__LZO_MASK_GEN(7,3) == 7+14+28)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !(LZO_BROKEN_SIGNED_RIGHT_SHIFT)
Packit Service 5195f2
    LZOCHK_ASSERT(((-1) >> 7) == -1)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(((1)  >> 7) == 0)
Packit Service 5195f2
#if (LZO_CC_INTELC && (__INTEL_COMPILER >= 900))
Packit Service 5195f2
#  pragma warning(push)
Packit Service 5195f2
#  pragma warning(disable: 1025)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT((~0l  & ~0)  == ~0l)
Packit Service 5195f2
    LZOCHK_ASSERT((~0l  & ~0u) == ~0u)
Packit Service 5195f2
    LZOCHK_ASSERT((~0ul & ~0)  == ~0ul)
Packit Service 5195f2
    LZOCHK_ASSERT((~0ul & ~0u) == ~0u)
Packit Service 5195f2
#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
Packit Service 5195f2
#elif (SIZEOF_INT == 2)
Packit Service 5195f2
    LZOCHK_ASSERT((~0l  & ~0u) == 0xffffU)
Packit Service 5195f2
    LZOCHK_ASSERT((~0ul & ~0u) == 0xffffU)
Packit Service 5195f2
#elif (SIZEOF_INT == 4)
Packit Service 5195f2
    LZOCHK_ASSERT((~0l  & ~0u) == 0xffffffffU)
Packit Service 5195f2
    LZOCHK_ASSERT((~0ul & ~0u) == 0xffffffffU)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_CC_INTELC && (__INTEL_COMPILER >= 900))
Packit Service 5195f2
#  pragma warning(pop)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(signed char)
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(unsigned char)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(signed char) == sizeof(char))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(unsigned char) == sizeof(char))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(char) == 1)
Packit Service 5195f2
#if (LZO_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L))
Packit Service 5195f2
#else
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(char) == sizeof(LZO_STATIC_CAST(char, 0)))
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(__cplusplus)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof('\0') == sizeof(char))
Packit Service 5195f2
#else
Packit Service 5195f2
#  if (LZO_CC_DMC)
Packit Service 5195f2
#  else
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof('\0') == sizeof(int))
Packit Service 5195f2
#  endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(__lzo_alignof)
Packit Service 5195f2
    LZOCHK_ASSERT(__lzo_alignof(char) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT(__lzo_alignof(signed char) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT(__lzo_alignof(unsigned char) == 1)
Packit Service 5195f2
#if defined(lzo_int16e_t)
Packit Service 5195f2
    LZOCHK_ASSERT(__lzo_alignof(lzo_int16e_t) >= 1)
Packit Service 5195f2
    LZOCHK_ASSERT(__lzo_alignof(lzo_int16e_t) <= 2)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(lzo_int32e_t)
Packit Service 5195f2
    LZOCHK_ASSERT(__lzo_alignof(lzo_int32e_t) >= 1)
Packit Service 5195f2
    LZOCHK_ASSERT(__lzo_alignof(lzo_int32e_t) <= 4)
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(short)
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(unsigned short)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(short) == sizeof(unsigned short))
Packit Service 5195f2
#if !(LZO_ABI_I8LP16)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(short) >= 2)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(short) >= sizeof(char))
Packit Service 5195f2
#if (LZO_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L))
Packit Service 5195f2
#else
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(short) == sizeof(LZO_STATIC_CAST(short, 0)))
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (SIZEOF_SHORT > 0)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(short) == SIZEOF_SHORT)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(int)
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(unsigned int)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(int) == sizeof(unsigned int))
Packit Service 5195f2
#if !(LZO_ABI_I8LP16)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(int) >= 2)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(int) >= sizeof(short))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(int) == sizeof(0))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(int) == sizeof(LZO_STATIC_CAST(int, 0)))
Packit Service 5195f2
#if (SIZEOF_INT > 0)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(int) == SIZEOF_INT)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(0) == sizeof(int))
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(long)
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(unsigned long)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(long) == sizeof(unsigned long))
Packit Service 5195f2
#if !(LZO_ABI_I8LP16)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(long) >= 4)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(long) >= sizeof(int))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(long) == sizeof(0L))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(long) == sizeof(LZO_STATIC_CAST(long, 0)))
Packit Service 5195f2
#if (SIZEOF_LONG > 0)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(long) == SIZEOF_LONG)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(0L) == sizeof(long))
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(size_t)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(size_t) >= sizeof(int))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(size_t) == sizeof(sizeof(0)))
Packit Service 5195f2
#if (SIZEOF_SIZE_T > 0)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(size_t) == SIZEOF_SIZE_T)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(ptrdiff_t)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(int))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(size_t))
Packit Service 5195f2
#if !(LZO_BROKEN_SIZEOF)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(LZO_STATIC_CAST(char*, 0) - LZO_STATIC_CAST(char*, 0)))
Packit Service 5195f2
# if (LZO_HAVE_MM_HUGE_PTR)
Packit Service 5195f2
    LZOCHK_ASSERT(4 == sizeof(LZO_STATIC_CAST(char __huge*, 0) - LZO_STATIC_CAST(char __huge*, 0)))
Packit Service 5195f2
# endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (SIZEOF_PTRDIFF_T > 0)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(ptrdiff_t) == SIZEOF_PTRDIFF_T)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void*) >= sizeof(char*))
Packit Service 5195f2
#if (SIZEOF_VOID_P > 0)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void*) == SIZEOF_VOID_P)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(char*) == SIZEOF_VOID_P)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_HAVE_MM_HUGE_PTR)
Packit Service 5195f2
    LZOCHK_ASSERT(4 == sizeof(void __huge*))
Packit Service 5195f2
    LZOCHK_ASSERT(4 == sizeof(char __huge*))
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_ABI_I8LP16)
Packit Service 5195f2
    LZOCHK_ASSERT((((1u  <<  7) + 1) >>  7) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT((((1ul << 15) + 1) >> 15) == 1)
Packit Service 5195f2
#else
Packit Service 5195f2
    LZOCHK_ASSERT((((1u  << 15) + 1) >> 15) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT((((1ul << 31) + 1) >> 31) == 1)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZOCHK_CFG_PEDANTIC)
Packit Service 5195f2
#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
Packit Service 5195f2
#else
Packit Service 5195f2
    LZOCHK_ASSERT((1   << (8*SIZEOF_INT-1)) < 0)
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT((1u  << (8*SIZEOF_INT-1)) > 0)
Packit Service 5195f2
#if defined(LZOCHK_CFG_PEDANTIC)
Packit Service 5195f2
    LZOCHK_ASSERT((1l  << (8*SIZEOF_LONG-1)) < 0)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT((1ul << (8*SIZEOF_LONG-1)) > 0)
Packit Service 5195f2
#if defined(lzo_int16e_t)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int16e_t) == 2)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int16e_t) == LZO_SIZEOF_LZO_INT16E_T)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_uint16e_t) == 2)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int16e_t) == sizeof(lzo_uint16e_t))
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(lzo_int16e_t)
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint16e_t)
Packit Service 5195f2
#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
Packit Service 5195f2
#else
Packit Service 5195f2
    LZOCHK_ASSERT((LZO_STATIC_CAST(lzo_uint16e_t, (~LZO_STATIC_CAST(lzo_uint16e_t,0ul))) >> 15) == 1)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT( LZO_STATIC_CAST(lzo_int16e_t, (1 + ~LZO_STATIC_CAST(lzo_int16e_t, 0))) == 0)
Packit Service 5195f2
#if defined(LZOCHK_CFG_PEDANTIC)
Packit Service 5195f2
    LZOCHK_ASSERT( LZO_STATIC_CAST(lzo_uint16e_t, (1 + ~LZO_STATIC_CAST(lzo_uint16e_t, 0))) == 0)
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(lzo_int32e_t)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32e_t) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32e_t) == LZO_SIZEOF_LZO_INT32E_T)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_uint32e_t) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32e_t) == sizeof(lzo_uint32e_t))
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(lzo_int32e_t)
Packit Service 5195f2
    LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_int32e_t, 1) << 30) + 1) >> 30) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint32e_t)
Packit Service 5195f2
    LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_uint32e_t, 1) << 31) + 1) >> 31) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT((LZO_STATIC_CAST(lzo_uint32e_t, (~LZO_STATIC_CAST(lzo_uint32e_t, 0ul))) >> 31) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT( LZO_STATIC_CAST(lzo_int32e_t, (1 + ~LZO_STATIC_CAST(lzo_int32e_t, 0))) == 0)
Packit Service 5195f2
#if defined(LZOCHK_CFG_PEDANTIC)
Packit Service 5195f2
    LZOCHK_ASSERT( LZO_STATIC_CAST(lzo_uint32e_t, (1 + ~LZO_STATIC_CAST(lzo_uint32e_t, 0))) == 0)
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(lzo_int32e_t)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32l_t) >= sizeof(lzo_int32e_t))
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32l_t) >= 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32l_t) == LZO_SIZEOF_LZO_INT32L_T)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_uint32l_t) >= 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32l_t) == sizeof(lzo_uint32l_t))
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(lzo_int32l_t)
Packit Service 5195f2
    LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_int32l_t, 1) << 30) + 1) >> 30) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint32l_t)
Packit Service 5195f2
    LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_uint32l_t, 1) << 31) + 1) >> 31) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32f_t) >= sizeof(int))
Packit Service 5195f2
#if defined(lzo_int32e_t)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32f_t) >= sizeof(lzo_int32e_t))
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32f_t) >= sizeof(lzo_int32l_t))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32f_t) >= 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32f_t) >= sizeof(lzo_int32l_t))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32f_t) == LZO_SIZEOF_LZO_INT32F_T)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_uint32f_t) >= 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_uint32f_t) >= sizeof(lzo_uint32l_t))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int32f_t) == sizeof(lzo_uint32f_t))
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(lzo_int32f_t)
Packit Service 5195f2
    LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_int32f_t, 1) << 30) + 1) >> 30) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint32f_t)
Packit Service 5195f2
    LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_uint32f_t, 1) << 31) + 1) >> 31) == 1)
Packit Service 5195f2
#if defined(lzo_int64e_t)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int64e_t) == 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int64e_t) == LZO_SIZEOF_LZO_INT64E_T)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_uint64e_t) == 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int64e_t) == sizeof(lzo_uint64e_t))
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(lzo_int64e_t)
Packit Service 5195f2
#if (LZO_CC_BORLANDC && (__BORLANDC__ < 0x0530))
Packit Service 5195f2
#else
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint64e_t)
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
#if defined(lzo_int64e_t)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int64l_t) >= sizeof(lzo_int64e_t))
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int64l_t) >= 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int64l_t) == LZO_SIZEOF_LZO_INT64L_T)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_uint64l_t) >= 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int64l_t) == sizeof(lzo_uint64l_t))
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(lzo_int64l_t)
Packit Service 5195f2
    LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_int64l_t, 1) << 62) + 1) >> 62) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT(((( LZO_INT64_C(1) << 62) + 1) >> 62) == 1)
Packit Service 5195f2
#if (LZO_CC_BORLANDC && (__BORLANDC__ < 0x0530))
Packit Service 5195f2
#else
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint64l_t)
Packit Service 5195f2
    LZOCHK_ASSERT(LZO_UINT64_C(18446744073709551615)     > 0)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(((( LZO_STATIC_CAST(lzo_uint64l_t, 1) << 63) + 1) >> 63) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT(((( LZO_UINT64_C(1) << 63) + 1) >> 63) == 1)
Packit Service 5195f2
#if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020600ul))
Packit Service 5195f2
    LZOCHK_ASSERT(LZO_INT64_C(9223372036854775807)       > LZO_INT64_C(0))
Packit Service 5195f2
#else
Packit Service 5195f2
    LZOCHK_ASSERT(LZO_INT64_C(9223372036854775807)       > 0)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(LZO_INT64_C(-9223372036854775807) - 1  < 0)
Packit Service 5195f2
    LZOCHK_ASSERT( LZO_INT64_C(9223372036854775807) % LZO_INT32_C(2147483629)  == 721)
Packit Service 5195f2
    LZOCHK_ASSERT( LZO_INT64_C(9223372036854775807) % LZO_INT32_C(2147483647)  == 1)
Packit Service 5195f2
    LZOCHK_ASSERT(LZO_UINT64_C(9223372036854775807) % LZO_UINT32_C(2147483629) == 721)
Packit Service 5195f2
    LZOCHK_ASSERT(LZO_UINT64_C(9223372036854775807) % LZO_UINT32_C(2147483647) == 1)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(lzo_int64f_t)
Packit Service 5195f2
#if defined(lzo_int64e_t)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int64f_t) >= sizeof(lzo_int64e_t))
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int64f_t) >= sizeof(lzo_int64l_t))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int64f_t) >= 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int64f_t) >= sizeof(lzo_int64l_t))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int64f_t) == LZO_SIZEOF_LZO_INT64F_T)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_uint64f_t) >= 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_uint64f_t) >= sizeof(lzo_uint64l_t))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int64f_t) == sizeof(lzo_uint64f_t))
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(lzo_int64f_t)
Packit Service 5195f2
#if (LZO_CC_BORLANDC && (__BORLANDC__ < 0x0530))
Packit Service 5195f2
#else
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint64f_t)
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(__LZO_INTPTR_T_IS_POINTER)
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(lzo_intptr_t)
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uintptr_t)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_intptr_t) >= sizeof(void *))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_intptr_t) == LZO_SIZEOF_LZO_INTPTR_T)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(lzo_uintptr_t))
Packit Service 5195f2
#if defined(lzo_word_t)
Packit Service 5195f2
    LZOCHK_ASSERT(LZO_WORDSIZE == LZO_SIZEOF_LZO_WORD_T)
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_word_t)
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(lzo_sword_t)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_word_t) == LZO_SIZEOF_LZO_WORD_T)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_word_t) == sizeof(lzo_sword_t))
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int8_t) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_uint8_t) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_int8_t) == sizeof(lzo_uint8_t))
Packit Service 5195f2
    LZOCHK_ASSERT_IS_SIGNED_T(lzo_int8_t)
Packit Service 5195f2
    LZOCHK_ASSERT_IS_UNSIGNED_T(lzo_uint8_t)
Packit Service 5195f2
#if defined(LZO_INT16_C)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(LZO_INT16_C(0)) >= 2)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(LZO_UINT16_C(0)) >= 2)
Packit Service 5195f2
    LZOCHK_ASSERT((LZO_UINT16_C(0xffff) >> 15) == 1)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_INT32_C)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(LZO_INT32_C(0)) >= 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(LZO_UINT32_C(0)) >= 4)
Packit Service 5195f2
    LZOCHK_ASSERT((LZO_UINT32_C(0xffffffff) >> 31) == 1)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_INT64_C)
Packit Service 5195f2
#if (LZO_CC_BORLANDC && (__BORLANDC__ < 0x0560))
Packit Service 5195f2
#else
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(LZO_INT64_C(0)) >= 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(LZO_UINT64_C(0)) >= 8)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZOCHK_ASSERT((LZO_UINT64_C(0xffffffffffffffff) >> 63) == 1)
Packit Service 5195f2
    LZOCHK_ASSERT((LZO_UINT64_C(0xffffffffffffffff) & ~0)  == LZO_UINT64_C(0xffffffffffffffff))
Packit Service 5195f2
    LZOCHK_ASSERT((LZO_UINT64_C(0xffffffffffffffff) & ~0l) == LZO_UINT64_C(0xffffffffffffffff))
Packit Service 5195f2
#if (SIZEOF_INT == 4)
Packit Service 5195f2
# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
Packit Service 5195f2
# else
Packit Service 5195f2
    LZOCHK_ASSERT((LZO_UINT64_C(0xffffffffffffffff) & (~0u+0u)) == 0xffffffffu)
Packit Service 5195f2
# endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (SIZEOF_LONG == 4)
Packit Service 5195f2
# if (LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
Packit Service 5195f2
# else
Packit Service 5195f2
    LZOCHK_ASSERT((LZO_UINT64_C(0xffffffffffffffff) & (~0ul+0ul)) == 0xfffffffful)
Packit Service 5195f2
# endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void*) == 2)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(ptrdiff_t) == 2)
Packit Service 5195f2
#elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void*) == 4)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_COMPACT)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void (*)(void)) == 2)
Packit Service 5195f2
#elif (LZO_MM_MEDIUM || LZO_MM_LARGE || LZO_MM_HUGE)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void (*)(void)) == 4)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_ABI_ILP32)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(int) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(long) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void*) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(size_t) == sizeof(void*))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *))
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_ABI_ILP64)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(int) == 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(long) == 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void*) == 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(size_t) == sizeof(void*))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *))
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_ABI_IP32L64)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(int) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(long) == 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void*) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(size_t) == sizeof(void*))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *))
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_ABI_LLP64)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(int) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(long) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void*) == 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(size_t) == sizeof(void*))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *))
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_ABI_LP32)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(int) == 2)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(long) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void*) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *))
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_ABI_LP64)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(int) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(long) == 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void*) == 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(size_t) == sizeof(void*))
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *))
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_ARCH_I086)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(size_t) == 2)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *))
Packit Service 5195f2
#elif (LZO_ARCH_I386 || LZO_ARCH_M68K)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(size_t) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(ptrdiff_t) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(lzo_intptr_t) == sizeof(void *))
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_WIN32)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(size_t) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(ptrdiff_t) == 4)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void (*)(void)) == 4)
Packit Service 5195f2
#elif (LZO_OS_WIN64)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(size_t) == 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(ptrdiff_t) == 8)
Packit Service 5195f2
    LZOCHK_ASSERT(sizeof(void (*)(void)) == 8)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_CC_NDPC)
Packit Service 5195f2
#elif (SIZEOF_INT > 1)
Packit Service 5195f2
    LZOCHK_ASSERT( LZO_STATIC_CAST(int, LZO_STATIC_CAST(unsigned char, LZO_STATIC_CAST(signed char, -1))) == 255)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZOCHK_CFG_PEDANTIC)
Packit Service 5195f2
#if (LZO_CC_KEILC)
Packit Service 5195f2
#elif (LZO_CC_NDPC)
Packit Service 5195f2
#elif !(LZO_BROKEN_INTEGRAL_PROMOTION) && (SIZEOF_INT > 1)
Packit Service 5195f2
    LZOCHK_ASSERT( ((LZO_STATIC_CAST(unsigned char, 128)) << LZO_STATIC_CAST(int, (8*sizeof(int)-8))) < 0)
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZOCHK_CFG_PEDANTIC)
Packit Service 5195f2
#if (LZO_CC_BORLANDC && (__BORLANDC__ >= 0x0530) && (__BORLANDC__ < 0x0560))
Packit Service 5195f2
#  pragma option pop
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACCLIB_VGET)
Packit Service 5195f2
#  undef LZO_WANT_ACCLIB_VGET
Packit Service 5195f2
#define __LZOLIB_VGET_CH_INCLUDED 1
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC)
Packit Service 5195f2
#  define LZOLIB_PUBLIC(r,f)                r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC_NOINLINE)
Packit Service 5195f2
#  if !defined(__lzo_noinline)
Packit Service 5195f2
#    define LZOLIB_PUBLIC_NOINLINE(r,f)     r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#  elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || LZO_CC_LLVM)
Packit Service 5195f2
#    define LZOLIB_PUBLIC_NOINLINE(r,f)     __lzo_noinline __attribute__((__used__)) r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#  else
Packit Service 5195f2
#    define LZOLIB_PUBLIC_NOINLINE(r,f)     __lzo_noinline r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#  endif
Packit Service 5195f2
#endif
Packit Service 5195f2
extern void* volatile lzo_vget_ptr__;
Packit Service 5195f2
#if (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || LZO_CC_LLVM)
Packit Service 5195f2
void* volatile __attribute__((__used__)) lzo_vget_ptr__ = LZO_STATIC_CAST(void *, 0);
Packit Service 5195f2
#else
Packit Service 5195f2
void* volatile lzo_vget_ptr__ = LZO_STATIC_CAST(void *, 0);
Packit Service 5195f2
#endif
Packit Service 5195f2
#ifndef __LZOLIB_VGET_BODY
Packit Service 5195f2
#define __LZOLIB_VGET_BODY(T) \
Packit Service 5195f2
    if __lzo_unlikely(lzo_vget_ptr__) { \
Packit Service 5195f2
        typedef T __lzo_may_alias TT; \
Packit Service 5195f2
        unsigned char e; expr &= 255; e = LZO_STATIC_CAST(unsigned char, expr); \
Packit Service 5195f2
        * LZO_STATIC_CAST(TT *, lzo_vget_ptr__) = v; \
Packit Service 5195f2
        * LZO_STATIC_CAST(unsigned char *, lzo_vget_ptr__) = e; \
Packit Service 5195f2
        v = * LZO_STATIC_CAST(TT *, lzo_vget_ptr__); \
Packit Service 5195f2
    } \
Packit Service 5195f2
    return v;
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(short, lzo_vget_short) (short v, int expr)
Packit Service 5195f2
{
Packit Service 5195f2
    __LZOLIB_VGET_BODY(short)
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(int, lzo_vget_int) (int v, int expr)
Packit Service 5195f2
{
Packit Service 5195f2
    __LZOLIB_VGET_BODY(int)
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(long, lzo_vget_long) (long v, int expr)
Packit Service 5195f2
{
Packit Service 5195f2
    __LZOLIB_VGET_BODY(long)
Packit Service 5195f2
}
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(lzo_int64l_t, lzo_vget_lzo_int64l_t) (lzo_int64l_t v, int expr)
Packit Service 5195f2
{
Packit Service 5195f2
    __LZOLIB_VGET_BODY(lzo_int64l_t)
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(lzo_hsize_t, lzo_vget_lzo_hsize_t) (lzo_hsize_t v, int expr)
Packit Service 5195f2
{
Packit Service 5195f2
    __LZOLIB_VGET_BODY(lzo_hsize_t)
Packit Service 5195f2
}
Packit Service 5195f2
#if !(LZO_CFG_NO_DOUBLE)
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(double, lzo_vget_double) (double v, int expr)
Packit Service 5195f2
{
Packit Service 5195f2
    __LZOLIB_VGET_BODY(double)
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(lzo_hvoid_p, lzo_vget_lzo_hvoid_p) (lzo_hvoid_p v, int expr)
Packit Service 5195f2
{
Packit Service 5195f2
    __LZOLIB_VGET_BODY(lzo_hvoid_p)
Packit Service 5195f2
}
Packit Service 5195f2
#if (LZO_ARCH_I086 && LZO_CC_TURBOC && (__TURBOC__ == 0x0295)) && !defined(__cplusplus)
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(lzo_hvoid_p, lzo_vget_lzo_hvoid_cp) (const lzo_hvoid_p vv, int expr)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_hvoid_p v = (lzo_hvoid_p) vv;
Packit Service 5195f2
    __LZOLIB_VGET_BODY(lzo_hvoid_p)
Packit Service 5195f2
}
Packit Service 5195f2
#else
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(const lzo_hvoid_p, lzo_vget_lzo_hvoid_cp) (const lzo_hvoid_p v, int expr)
Packit Service 5195f2
{
Packit Service 5195f2
    __LZOLIB_VGET_BODY(const lzo_hvoid_p)
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACCLIB_HMEMCPY)
Packit Service 5195f2
#  undef LZO_WANT_ACCLIB_HMEMCPY
Packit Service 5195f2
#define __LZOLIB_HMEMCPY_CH_INCLUDED 1
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC)
Packit Service 5195f2
#  define LZOLIB_PUBLIC(r,f)    r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC(int, lzo_hmemcmp) (const lzo_hvoid_p s1, const lzo_hvoid_p s2, lzo_hsize_t len)
Packit Service 5195f2
{
Packit Service 5195f2
#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCMP)
Packit Service 5195f2
    const lzo_hbyte_p p1 = LZO_STATIC_CAST(const lzo_hbyte_p, s1);
Packit Service 5195f2
    const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, s2);
Packit Service 5195f2
    if __lzo_likely(len > 0) do
Packit Service 5195f2
    {
Packit Service 5195f2
        int d = *p1 - *p2;
Packit Service 5195f2
        if (d != 0)
Packit Service 5195f2
            return d;
Packit Service 5195f2
        p1++; p2++;
Packit Service 5195f2
    } while __lzo_likely(--len > 0);
Packit Service 5195f2
    return 0;
Packit Service 5195f2
#else
Packit Service 5195f2
    return memcmp(s1, s2, len);
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemcpy) (lzo_hvoid_p dest, const lzo_hvoid_p src, lzo_hsize_t len)
Packit Service 5195f2
{
Packit Service 5195f2
#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMCPY)
Packit Service 5195f2
    lzo_hbyte_p p1 = LZO_STATIC_CAST(lzo_hbyte_p, dest);
Packit Service 5195f2
    const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, src);
Packit Service 5195f2
    if (!(len > 0) || p1 == p2)
Packit Service 5195f2
        return dest;
Packit Service 5195f2
    do
Packit Service 5195f2
        *p1++ = *p2++;
Packit Service 5195f2
    while __lzo_likely(--len > 0);
Packit Service 5195f2
    return dest;
Packit Service 5195f2
#else
Packit Service 5195f2
    return memcpy(dest, src, len);
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemmove) (lzo_hvoid_p dest, const lzo_hvoid_p src, lzo_hsize_t len)
Packit Service 5195f2
{
Packit Service 5195f2
#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMMOVE)
Packit Service 5195f2
    lzo_hbyte_p p1 = LZO_STATIC_CAST(lzo_hbyte_p, dest);
Packit Service 5195f2
    const lzo_hbyte_p p2 = LZO_STATIC_CAST(const lzo_hbyte_p, src);
Packit Service 5195f2
    if (!(len > 0) || p1 == p2)
Packit Service 5195f2
        return dest;
Packit Service 5195f2
    if (p1 < p2)
Packit Service 5195f2
    {
Packit Service 5195f2
        do
Packit Service 5195f2
            *p1++ = *p2++;
Packit Service 5195f2
        while __lzo_likely(--len > 0);
Packit Service 5195f2
    }
Packit Service 5195f2
    else
Packit Service 5195f2
    {
Packit Service 5195f2
        p1 += len;
Packit Service 5195f2
        p2 += len;
Packit Service 5195f2
        do
Packit Service 5195f2
            *--p1 = *--p2;
Packit Service 5195f2
        while __lzo_likely(--len > 0);
Packit Service 5195f2
    }
Packit Service 5195f2
    return dest;
Packit Service 5195f2
#else
Packit Service 5195f2
    return memmove(dest, src, len);
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_hvoid_p, lzo_hmemset) (lzo_hvoid_p s, int cc, lzo_hsize_t len)
Packit Service 5195f2
{
Packit Service 5195f2
#if (LZO_HAVE_MM_HUGE_PTR) || !(HAVE_MEMSET)
Packit Service 5195f2
    lzo_hbyte_p p = LZO_STATIC_CAST(lzo_hbyte_p, s);
Packit Service 5195f2
    unsigned char c = LZO_ITRUNC(unsigned char, cc);
Packit Service 5195f2
    if __lzo_likely(len > 0) do
Packit Service 5195f2
        *p++ = c;
Packit Service 5195f2
    while __lzo_likely(--len > 0);
Packit Service 5195f2
    return s;
Packit Service 5195f2
#else
Packit Service 5195f2
    return memset(s, cc, len);
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACCLIB_RAND)
Packit Service 5195f2
#  undef LZO_WANT_ACCLIB_RAND
Packit Service 5195f2
#define __LZOLIB_RAND_CH_INCLUDED 1
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC)
Packit Service 5195f2
#  define LZOLIB_PUBLIC(r,f)    r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC(void, lzo_srand31) (lzo_rand31_p r, lzo_uint32l_t seed)
Packit Service 5195f2
{
Packit Service 5195f2
    r->seed = seed & LZO_UINT32_C(0xffffffff);
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_uint32l_t, lzo_rand31) (lzo_rand31_p r)
Packit Service 5195f2
{
Packit Service 5195f2
    r->seed = r->seed * LZO_UINT32_C(1103515245) + 12345;
Packit Service 5195f2
    r->seed &= LZO_UINT32_C(0x7fffffff);
Packit Service 5195f2
    return r->seed;
Packit Service 5195f2
}
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
LZOLIB_PUBLIC(void, lzo_srand48) (lzo_rand48_p r, lzo_uint32l_t seed)
Packit Service 5195f2
{
Packit Service 5195f2
    r->seed = seed & LZO_UINT32_C(0xffffffff);
Packit Service 5195f2
    r->seed <<= 16; r->seed |= 0x330e;
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_uint32l_t, lzo_rand48) (lzo_rand48_p r)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_uint64l_t a;
Packit Service 5195f2
    r->seed = r->seed * LZO_UINT64_C(25214903917) + 11;
Packit Service 5195f2
    r->seed &= LZO_UINT64_C(0xffffffffffff);
Packit Service 5195f2
    a = r->seed >> 17;
Packit Service 5195f2
    return LZO_STATIC_CAST(lzo_uint32l_t, a);
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_uint32l_t, lzo_rand48_r32) (lzo_rand48_p r)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_uint64l_t a;
Packit Service 5195f2
    r->seed = r->seed * LZO_UINT64_C(25214903917) + 11;
Packit Service 5195f2
    r->seed &= LZO_UINT64_C(0xffffffffffff);
Packit Service 5195f2
    a = r->seed >> 16;
Packit Service 5195f2
    return LZO_STATIC_CAST(lzo_uint32l_t, a);
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
LZOLIB_PUBLIC(void, lzo_srand64) (lzo_rand64_p r, lzo_uint64l_t seed)
Packit Service 5195f2
{
Packit Service 5195f2
    r->seed = seed & LZO_UINT64_C(0xffffffffffffffff);
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_uint32l_t, lzo_rand64) (lzo_rand64_p r)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_uint64l_t a;
Packit Service 5195f2
    r->seed = r->seed * LZO_UINT64_C(6364136223846793005) + 1;
Packit Service 5195f2
#if (LZO_SIZEOF_LZO_INT64L_T > 8)
Packit Service 5195f2
    r->seed &= LZO_UINT64_C(0xffffffffffffffff);
Packit Service 5195f2
#endif
Packit Service 5195f2
    a = r->seed >> 33;
Packit Service 5195f2
    return LZO_STATIC_CAST(lzo_uint32l_t, a);
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_uint32l_t, lzo_rand64_r32) (lzo_rand64_p r)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_uint64l_t a;
Packit Service 5195f2
    r->seed = r->seed * LZO_UINT64_C(6364136223846793005) + 1;
Packit Service 5195f2
#if (LZO_SIZEOF_LZO_INT64L_T > 8)
Packit Service 5195f2
    r->seed &= LZO_UINT64_C(0xffffffffffffffff);
Packit Service 5195f2
#endif
Packit Service 5195f2
    a = r->seed >> 32;
Packit Service 5195f2
    return LZO_STATIC_CAST(lzo_uint32l_t, a);
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC(void, lzo_srandmt) (lzo_randmt_p r, lzo_uint32l_t seed)
Packit Service 5195f2
{
Packit Service 5195f2
    unsigned i = 0;
Packit Service 5195f2
    do {
Packit Service 5195f2
        r->s[i++] = (seed &= LZO_UINT32_C(0xffffffff));
Packit Service 5195f2
        seed ^= seed >> 30;
Packit Service 5195f2
        seed = seed * LZO_UINT32_C(0x6c078965) + i;
Packit Service 5195f2
    } while (i != 624);
Packit Service 5195f2
    r->n = i;
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_uint32l_t, lzo_randmt) (lzo_randmt_p r)
Packit Service 5195f2
{
Packit Service 5195f2
    return (__LZOLIB_FUNCNAME(lzo_randmt_r32)(r)) >> 1;
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_uint32l_t, lzo_randmt_r32) (lzo_randmt_p r)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_uint32l_t v;
Packit Service 5195f2
    if __lzo_unlikely(r->n == 624) {
Packit Service 5195f2
        unsigned i = 0, j;
Packit Service 5195f2
        r->n = 0;
Packit Service 5195f2
        do {
Packit Service 5195f2
            j = i - 623; if (LZO_STATIC_CAST(int, j) < 0) j += 624;
Packit Service 5195f2
            v = (r->s[i] & LZO_UINT32_C(0x80000000)) ^ (r->s[j] & LZO_UINT32_C(0x7fffffff));
Packit Service 5195f2
            j = i - 227; if (LZO_STATIC_CAST(int, j) < 0) j += 624;
Packit Service 5195f2
            r->s[i] = r->s[j] ^ (v >> 1);
Packit Service 5195f2
            if (v & 1) r->s[i] ^= LZO_UINT32_C(0x9908b0df);
Packit Service 5195f2
        } while (++i != 624);
Packit Service 5195f2
    }
Packit Service 5195f2
    { unsigned i = r->n++; v = r->s[i]; }
Packit Service 5195f2
    v ^= v >> 11; v ^= (v & LZO_UINT32_C(0x013a58ad)) << 7;
Packit Service 5195f2
    v ^= (v & LZO_UINT32_C(0x0001df8c)) << 15; v ^= v >> 18;
Packit Service 5195f2
    return v;
Packit Service 5195f2
}
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
LZOLIB_PUBLIC(void, lzo_srandmt64) (lzo_randmt64_p r, lzo_uint64l_t seed)
Packit Service 5195f2
{
Packit Service 5195f2
    unsigned i = 0;
Packit Service 5195f2
    do {
Packit Service 5195f2
        r->s[i++] = (seed &= LZO_UINT64_C(0xffffffffffffffff));
Packit Service 5195f2
        seed ^= seed >> 62;
Packit Service 5195f2
        seed = seed * LZO_UINT64_C(0x5851f42d4c957f2d) + i;
Packit Service 5195f2
    } while (i != 312);
Packit Service 5195f2
    r->n = i;
Packit Service 5195f2
}
Packit Service 5195f2
#if 0
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_uint32l_t, lzo_randmt64) (lzo_randmt64_p r)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_uint64l_t v;
Packit Service 5195f2
    v = (__LZOLIB_FUNCNAME(lzo_randmt64_r64)(r)) >> 33;
Packit Service 5195f2
    return LZO_STATIC_CAST(lzo_uint32l_t, v);
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_uint64l_t, lzo_randmt64_r64) (lzo_randmt64_p r)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_uint64l_t v;
Packit Service 5195f2
    if __lzo_unlikely(r->n == 312) {
Packit Service 5195f2
        unsigned i = 0, j;
Packit Service 5195f2
        r->n = 0;
Packit Service 5195f2
        do {
Packit Service 5195f2
            j = i - 311; if (LZO_STATIC_CAST(int, j) < 0) j += 312;
Packit Service 5195f2
            v = (r->s[i] & LZO_UINT64_C(0xffffffff80000000)) ^ (r->s[j] & LZO_UINT64_C(0x7fffffff));
Packit Service 5195f2
            j = i - 156; if (LZO_STATIC_CAST(int, j) < 0) j += 312;
Packit Service 5195f2
            r->s[i] = r->s[j] ^ (v >> 1);
Packit Service 5195f2
            if (v & 1) r->s[i] ^= LZO_UINT64_C(0xb5026f5aa96619e9);
Packit Service 5195f2
        } while (++i != 312);
Packit Service 5195f2
    }
Packit Service 5195f2
    { unsigned i = r->n++; v = r->s[i]; }
Packit Service 5195f2
    v ^= (v & LZO_UINT64_C(0xaaaaaaaaa0000000)) >> 29;
Packit Service 5195f2
    v ^= (v & LZO_UINT64_C(0x38eb3ffff6d3)) << 17;
Packit Service 5195f2
    v ^= (v & LZO_UINT64_C(0x7ffbf77)) << 37;
Packit Service 5195f2
    return v ^ (v >> 43);
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACCLIB_RDTSC)
Packit Service 5195f2
#  undef LZO_WANT_ACCLIB_RDTSC
Packit Service 5195f2
#define __LZOLIB_RDTSC_CH_INCLUDED 1
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC)
Packit Service 5195f2
#  define LZOLIB_PUBLIC(r,f)    r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(lzo_int32e_t)
Packit Service 5195f2
#if (LZO_OS_WIN32 && LZO_CC_PELLESC && (__POCC__ >= 290))
Packit Service 5195f2
#  pragma warn(push)
Packit Service 5195f2
#  pragma warn(disable:2007)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC)
Packit Service 5195f2
#if (LZO_ARCH_AMD64 && LZO_CC_INTELC)
Packit Service 5195f2
#  define __LZOLIB_RDTSC_REGS   : : "c" (t) : "memory", "rax", "rdx"
Packit Service 5195f2
#elif (LZO_ARCH_AMD64)
Packit Service 5195f2
#  define __LZOLIB_RDTSC_REGS   : : "c" (t) : "cc", "memory", "rax", "rdx"
Packit Service 5195f2
#elif (LZO_ARCH_I386 && LZO_CC_GNUC && (LZO_CC_GNUC < 0x020000ul))
Packit Service 5195f2
#  define __LZOLIB_RDTSC_REGS   : : "c" (t) : "ax", "dx"
Packit Service 5195f2
#elif (LZO_ARCH_I386 && LZO_CC_INTELC)
Packit Service 5195f2
#  define __LZOLIB_RDTSC_REGS   : : "c" (t) : "memory", "eax", "edx"
Packit Service 5195f2
#else
Packit Service 5195f2
#  define __LZOLIB_RDTSC_REGS   : : "c" (t) : "cc", "memory", "eax", "edx"
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC(int, lzo_tsc_read) (lzo_uint32e_t* t)
Packit Service 5195f2
{
Packit Service 5195f2
#if (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC)
Packit Service 5195f2
    __asm__ __volatile__(
Packit Service 5195f2
        "clc \n" ".byte 0x0f,0x31\n"
Packit Service 5195f2
        "movl %%eax,(%0)\n" "movl %%edx,4(%0)\n"
Packit Service 5195f2
        __LZOLIB_RDTSC_REGS
Packit Service 5195f2
    );
Packit Service 5195f2
    return 0;
Packit Service 5195f2
#elif (LZO_ARCH_I386) && (LZO_ASM_SYNTAX_MSC)
Packit Service 5195f2
    LZO_UNUSED(t);
Packit Service 5195f2
    __asm {
Packit Service 5195f2
        mov ecx, t
Packit Service 5195f2
        clc
Packit Service 5195f2
#  if (LZO_CC_MSC && (_MSC_VER < 1200))
Packit Service 5195f2
        _emit 0x0f
Packit Service 5195f2
        _emit 0x31
Packit Service 5195f2
#  else
Packit Service 5195f2
        rdtsc
Packit Service 5195f2
#  endif
Packit Service 5195f2
        mov [ecx], eax
Packit Service 5195f2
        mov [ecx+4], edx
Packit Service 5195f2
    }
Packit Service 5195f2
    return 0;
Packit Service 5195f2
#else
Packit Service 5195f2
    t[0] = t[1] = 0; return -1;
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
#if (LZO_OS_WIN32 && LZO_CC_PELLESC && (__POCC__ >= 290))
Packit Service 5195f2
#  pragma warn(pop)
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACCLIB_DOSALLOC)
Packit Service 5195f2
#  undef LZO_WANT_ACCLIB_DOSALLOC
Packit Service 5195f2
#define __LZOLIB_DOSALLOC_CH_INCLUDED 1
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC)
Packit Service 5195f2
#  define LZOLIB_PUBLIC(r,f)    r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_OS216)
Packit Service 5195f2
LZO_EXTERN_C unsigned short __far __pascal DosAllocHuge(unsigned short, unsigned short, unsigned short __far *, unsigned short, unsigned short);
Packit Service 5195f2
LZO_EXTERN_C unsigned short __far __pascal DosFreeSeg(unsigned short);
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_DOS16 || LZO_OS_WIN16)
Packit Service 5195f2
#if !(LZO_CC_AZTECC)
Packit Service 5195f2
LZOLIB_PUBLIC(void __far*, lzo_dos_alloc) (unsigned long size)
Packit Service 5195f2
{
Packit Service 5195f2
    void __far* p = 0;
Packit Service 5195f2
    union REGS ri, ro;
Packit Service 5195f2
    if ((long)size <= 0)
Packit Service 5195f2
        return p;
Packit Service 5195f2
    size = (size + 15) >> 4;
Packit Service 5195f2
    if (size > 0xffffu)
Packit Service 5195f2
        return p;
Packit Service 5195f2
    ri.x.ax = 0x4800;
Packit Service 5195f2
    ri.x.bx = (unsigned short) size;
Packit Service 5195f2
    int86(0x21, &ri, &ro);
Packit Service 5195f2
    if ((ro.x.cflag & 1) == 0)
Packit Service 5195f2
        p = (void __far*) LZO_PTR_MK_FP(ro.x.ax, 0);
Packit Service 5195f2
    return p;
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(int, lzo_dos_free) (void __far* p)
Packit Service 5195f2
{
Packit Service 5195f2
    union REGS ri, ro;
Packit Service 5195f2
    struct SREGS rs;
Packit Service 5195f2
    if (!p)
Packit Service 5195f2
        return 0;
Packit Service 5195f2
    if (LZO_PTR_FP_OFF(p) != 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    segread(&rs);
Packit Service 5195f2
    ri.x.ax = 0x4900;
Packit Service 5195f2
    rs.es = LZO_PTR_FP_SEG(p);
Packit Service 5195f2
    int86x(0x21, &ri, &ro, &rs);
Packit Service 5195f2
    if (ro.x.cflag & 1)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_OS216)
Packit Service 5195f2
LZOLIB_PUBLIC(void __far*, lzo_dos_alloc) (unsigned long size)
Packit Service 5195f2
{
Packit Service 5195f2
    void __far* p = 0;
Packit Service 5195f2
    unsigned short sel = 0;
Packit Service 5195f2
    if ((long)size <= 0)
Packit Service 5195f2
        return p;
Packit Service 5195f2
    if (DosAllocHuge((unsigned short)(size >> 16), (unsigned short)size, &sel, 0, 0) == 0)
Packit Service 5195f2
        p = (void __far*) LZO_PTR_MK_FP(sel, 0);
Packit Service 5195f2
    return p;
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(int, lzo_dos_free) (void __far* p)
Packit Service 5195f2
{
Packit Service 5195f2
    if (!p)
Packit Service 5195f2
        return 0;
Packit Service 5195f2
    if (LZO_PTR_FP_OFF(p) != 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    if (DosFreeSeg(LZO_PTR_FP_SEG(p)) != 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACCLIB_GETOPT)
Packit Service 5195f2
#  undef LZO_WANT_ACCLIB_GETOPT
Packit Service 5195f2
#define __LZOLIB_GETOPT_CH_INCLUDED 1
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC)
Packit Service 5195f2
#  define LZOLIB_PUBLIC(r,f)    r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC(void, lzo_getopt_init) (lzo_getopt_p g,
Packit Service 5195f2
                                      int start_argc, int argc, char** argv)
Packit Service 5195f2
{
Packit Service 5195f2
    memset(g, 0, sizeof(*g));
Packit Service 5195f2
    g->optind = start_argc;
Packit Service 5195f2
    g->argc = argc; g->argv = argv;
Packit Service 5195f2
    g->optopt = -1;
Packit Service 5195f2
}
Packit Service 5195f2
static int __LZOLIB_FUNCNAME(lzo_getopt_rotate) (char** p, int first, int middle, int last)
Packit Service 5195f2
{
Packit Service 5195f2
    int i = middle, n = middle - first;
Packit Service 5195f2
    if (first >= middle || middle >= last) return 0;
Packit Service 5195f2
    for (;;)
Packit Service 5195f2
    {
Packit Service 5195f2
        char* t = p[first]; p[first] = p[i]; p[i] = t;
Packit Service 5195f2
        if (++first == middle)
Packit Service 5195f2
        {
Packit Service 5195f2
            if (++i == last) break;
Packit Service 5195f2
            middle = i;
Packit Service 5195f2
        }
Packit Service 5195f2
        else if (++i == last)
Packit Service 5195f2
            i = middle;
Packit Service 5195f2
    }
Packit Service 5195f2
    return n;
Packit Service 5195f2
}
Packit Service 5195f2
static int __LZOLIB_FUNCNAME(lzo_getopt_perror) (lzo_getopt_p g, int ret, const char* f, ...)
Packit Service 5195f2
{
Packit Service 5195f2
    if (g->opterr)
Packit Service 5195f2
    {
Packit Service 5195f2
#if (HAVE_STDARG_H)
Packit Service 5195f2
        struct { va_list ap; } s;
Packit Service 5195f2
        va_start(s.ap, f);
Packit Service 5195f2
        g->opterr(g, f, &s);
Packit Service 5195f2
        va_end(s.ap);
Packit Service 5195f2
#else
Packit Service 5195f2
        g->opterr(g, f, NULL);
Packit Service 5195f2
#endif
Packit Service 5195f2
    }
Packit Service 5195f2
    ++g->errcount;
Packit Service 5195f2
    return ret;
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(int, lzo_getopt) (lzo_getopt_p g,
Packit Service 5195f2
                                const char* shortopts,
Packit Service 5195f2
                                const lzo_getopt_longopt_p longopts,
Packit Service 5195f2
                                int* longind)
Packit Service 5195f2
{
Packit Service 5195f2
#define pe  __LZOLIB_FUNCNAME(lzo_getopt_perror)
Packit Service 5195f2
    int ordering = LZO_GETOPT_PERMUTE;
Packit Service 5195f2
    int missing_arg_ret = g->bad_option;
Packit Service 5195f2
    char* a;
Packit Service 5195f2
    if (shortopts)
Packit Service 5195f2
    {
Packit Service 5195f2
        if (*shortopts == '-' || *shortopts == '+')
Packit Service 5195f2
            ordering = *shortopts++ == '-' ? LZO_GETOPT_RETURN_IN_ORDER : LZO_GETOPT_REQUIRE_ORDER;
Packit Service 5195f2
        if (*shortopts == ':')
Packit Service 5195f2
            missing_arg_ret = *shortopts++;
Packit Service 5195f2
    }
Packit Service 5195f2
    g->optarg = NULL;
Packit Service 5195f2
    if (g->optopt == -1)
Packit Service 5195f2
        g->optopt = g->bad_option;
Packit Service 5195f2
    if (longind)
Packit Service 5195f2
        *longind = -1;
Packit Service 5195f2
    if (g->eof)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    if (g->shortpos)
Packit Service 5195f2
        goto lzo_label_next_shortopt;
Packit Service 5195f2
    g->optind -= __LZOLIB_FUNCNAME(lzo_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
Packit Service 5195f2
    g->pending_rotate_first = g->pending_rotate_middle = g->optind;
Packit Service 5195f2
    if (ordering == LZO_GETOPT_PERMUTE)
Packit Service 5195f2
    {
Packit Service 5195f2
        while (g->optind < g->argc && !(g->argv[g->optind][0] == '-' && g->argv[g->optind][1]))
Packit Service 5195f2
            ++g->optind;
Packit Service 5195f2
        g->pending_rotate_middle = g->optind;
Packit Service 5195f2
    }
Packit Service 5195f2
    if (g->optind >= g->argc)
Packit Service 5195f2
    {
Packit Service 5195f2
        g->optind = g->pending_rotate_first;
Packit Service 5195f2
        goto lzo_label_eof;
Packit Service 5195f2
    }
Packit Service 5195f2
    a = g->argv[g->optind];
Packit Service 5195f2
    if (a[0] == '-' && a[1] == '-')
Packit Service 5195f2
    {
Packit Service 5195f2
        size_t l = 0;
Packit Service 5195f2
        const lzo_getopt_longopt_p o;
Packit Service 5195f2
        const lzo_getopt_longopt_p o1 = NULL;
Packit Service 5195f2
        const lzo_getopt_longopt_p o2 = NULL;
Packit Service 5195f2
        int need_exact = 0;
Packit Service 5195f2
        ++g->optind;
Packit Service 5195f2
        if (!a[2])
Packit Service 5195f2
            goto lzo_label_eof;
Packit Service 5195f2
        for (a += 2; a[l] && a[l] != '=' && a[l] != '#'; )
Packit Service 5195f2
            ++l;
Packit Service 5195f2
        for (o = longopts; l && o && o->name; ++o)
Packit Service 5195f2
        {
Packit Service 5195f2
            if (strncmp(a, o->name, l) != 0)
Packit Service 5195f2
                continue;
Packit Service 5195f2
            if (!o->name[l])
Packit Service 5195f2
                goto lzo_label_found_o;
Packit Service 5195f2
            need_exact |= o->has_arg & LZO_GETOPT_EXACT_ARG;
Packit Service 5195f2
            if (o1) o2 = o;
Packit Service 5195f2
            else    o1 = o;
Packit Service 5195f2
        }
Packit Service 5195f2
        if (!o1 || need_exact)
Packit Service 5195f2
            return pe(g, g->bad_option, "unrecognized option '--%s'", a);
Packit Service 5195f2
        if (o2)
Packit Service 5195f2
            return pe(g, g->bad_option, "option '--%s' is ambiguous (could be '--%s' or '--%s')", a, o1->name, o2->name);
Packit Service 5195f2
        o = o1;
Packit Service 5195f2
    lzo_label_found_o:
Packit Service 5195f2
        a += l;
Packit Service 5195f2
        switch (o->has_arg & 0x2f)
Packit Service 5195f2
        {
Packit Service 5195f2
        case LZO_GETOPT_OPTIONAL_ARG:
Packit Service 5195f2
            if (a[0])
Packit Service 5195f2
                g->optarg = a + 1;
Packit Service 5195f2
            break;
Packit Service 5195f2
        case LZO_GETOPT_REQUIRED_ARG:
Packit Service 5195f2
            if (a[0])
Packit Service 5195f2
                g->optarg = a + 1;
Packit Service 5195f2
            else if (g->optind < g->argc)
Packit Service 5195f2
                g->optarg = g->argv[g->optind++];
Packit Service 5195f2
            if (!g->optarg)
Packit Service 5195f2
                return pe(g, missing_arg_ret, "option '--%s' requires an argument", o->name);
Packit Service 5195f2
            break;
Packit Service 5195f2
        case LZO_GETOPT_REQUIRED_ARG | 0x20:
Packit Service 5195f2
            if (a[0] && a[1])
Packit Service 5195f2
                g->optarg = a + 1;
Packit Service 5195f2
            if (!g->optarg)
Packit Service 5195f2
                return pe(g, missing_arg_ret, "option '--%s=' requires an argument", o->name);
Packit Service 5195f2
            break;
Packit Service 5195f2
        default:
Packit Service 5195f2
            if (a[0])
Packit Service 5195f2
                return pe(g, g->bad_option, "option '--%s' doesn't allow an argument", o->name);
Packit Service 5195f2
            break;
Packit Service 5195f2
        }
Packit Service 5195f2
        if (longind)
Packit Service 5195f2
            *longind = (int) (o - longopts);
Packit Service 5195f2
        if (o->flag)
Packit Service 5195f2
        {
Packit Service 5195f2
            *o->flag = o->val;
Packit Service 5195f2
            return 0;
Packit Service 5195f2
        }
Packit Service 5195f2
        return o->val;
Packit Service 5195f2
    }
Packit Service 5195f2
    if (a[0] == '-' && a[1])
Packit Service 5195f2
    {
Packit Service 5195f2
        unsigned char c;
Packit Service 5195f2
        const char* s;
Packit Service 5195f2
    lzo_label_next_shortopt:
Packit Service 5195f2
        a = g->argv[g->optind] + ++g->shortpos;
Packit Service 5195f2
        c = (unsigned char) *a++; s = NULL;
Packit Service 5195f2
        if (c != ':' && shortopts)
Packit Service 5195f2
            s = strchr(shortopts, c);
Packit Service 5195f2
        if (!s || s[1] != ':')
Packit Service 5195f2
        {
Packit Service 5195f2
            if (!a[0])
Packit Service 5195f2
                ++g->optind, g->shortpos = 0;
Packit Service 5195f2
            if (!s)
Packit Service 5195f2
            {
Packit Service 5195f2
                g->optopt = c;
Packit Service 5195f2
                return pe(g, g->bad_option, "invalid option '-%c'", c);
Packit Service 5195f2
            }
Packit Service 5195f2
        }
Packit Service 5195f2
        else
Packit Service 5195f2
        {
Packit Service 5195f2
            ++g->optind, g->shortpos = 0;
Packit Service 5195f2
            if (a[0])
Packit Service 5195f2
                g->optarg = a;
Packit Service 5195f2
            else if (s[2] != ':')
Packit Service 5195f2
            {
Packit Service 5195f2
                if (g->optind < g->argc)
Packit Service 5195f2
                    g->optarg = g->argv[g->optind++];
Packit Service 5195f2
                else
Packit Service 5195f2
                {
Packit Service 5195f2
                    g->optopt = c;
Packit Service 5195f2
                    return pe(g, missing_arg_ret, "option '-%c' requires an argument", c);
Packit Service 5195f2
                }
Packit Service 5195f2
            }
Packit Service 5195f2
        }
Packit Service 5195f2
        return c;
Packit Service 5195f2
    }
Packit Service 5195f2
    if (ordering == LZO_GETOPT_RETURN_IN_ORDER)
Packit Service 5195f2
    {
Packit Service 5195f2
        ++g->optind;
Packit Service 5195f2
        g->optarg = a;
Packit Service 5195f2
        return 1;
Packit Service 5195f2
    }
Packit Service 5195f2
lzo_label_eof:
Packit Service 5195f2
    g->optind -= __LZOLIB_FUNCNAME(lzo_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
Packit Service 5195f2
    g->pending_rotate_first = g->pending_rotate_middle = g->optind;
Packit Service 5195f2
    g->eof = 1;
Packit Service 5195f2
    return -1;
Packit Service 5195f2
#undef pe
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACCLIB_HALLOC)
Packit Service 5195f2
#  undef LZO_WANT_ACCLIB_HALLOC
Packit Service 5195f2
#define __LZOLIB_HALLOC_CH_INCLUDED 1
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC)
Packit Service 5195f2
#  define LZOLIB_PUBLIC(r,f)    r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_HAVE_MM_HUGE_PTR)
Packit Service 5195f2
#if 1 && (LZO_OS_DOS16 && defined(BLX286))
Packit Service 5195f2
#  define __LZOLIB_HALLOC_USE_DAH 1
Packit Service 5195f2
#elif 1 && (LZO_OS_DOS16 && defined(DOSX286))
Packit Service 5195f2
#  define __LZOLIB_HALLOC_USE_DAH 1
Packit Service 5195f2
#elif 1 && (LZO_OS_OS216)
Packit Service 5195f2
#  define __LZOLIB_HALLOC_USE_DAH 1
Packit Service 5195f2
#elif 1 && (LZO_OS_WIN16)
Packit Service 5195f2
#  define __LZOLIB_HALLOC_USE_GA 1
Packit Service 5195f2
#elif 1 && (LZO_OS_DOS16) && (LZO_CC_BORLANDC) && defined(__DPMI16__)
Packit Service 5195f2
#  define __LZOLIB_HALLOC_USE_GA 1
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (__LZOLIB_HALLOC_USE_DAH)
Packit Service 5195f2
#if 0 && (LZO_OS_OS216)
Packit Service 5195f2
#include <os2.h>
Packit Service 5195f2
#else
Packit Service 5195f2
LZO_EXTERN_C unsigned short __far __pascal DosAllocHuge(unsigned short, unsigned short, unsigned short __far *, unsigned short, unsigned short);
Packit Service 5195f2
LZO_EXTERN_C unsigned short __far __pascal DosFreeSeg(unsigned short);
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (__LZOLIB_HALLOC_USE_GA)
Packit Service 5195f2
#if 0
Packit Service 5195f2
#define STRICT 1
Packit Service 5195f2
#include <windows.h>
Packit Service 5195f2
#else
Packit Service 5195f2
LZO_EXTERN_C const void __near* __far __pascal GlobalAlloc(unsigned, unsigned long);
Packit Service 5195f2
LZO_EXTERN_C const void __near* __far __pascal GlobalFree(const void __near*);
Packit Service 5195f2
LZO_EXTERN_C unsigned long __far __pascal GlobalHandle(unsigned);
Packit Service 5195f2
LZO_EXTERN_C void __far* __far __pascal GlobalLock(const void __near*);
Packit Service 5195f2
LZO_EXTERN_C int __far __pascal GlobalUnlock(const void __near*);
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_hvoid_p, lzo_halloc) (lzo_hsize_t size)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_hvoid_p p = LZO_STATIC_CAST(lzo_hvoid_p, 0);
Packit Service 5195f2
    if (!(size > 0))
Packit Service 5195f2
        return p;
Packit Service 5195f2
#if 0 && defined(__palmos__)
Packit Service 5195f2
    p = MemPtrNew(size);
Packit Service 5195f2
#elif !(LZO_HAVE_MM_HUGE_PTR)
Packit Service 5195f2
    if (size < LZO_STATIC_CAST(size_t, -1))
Packit Service 5195f2
        p = malloc(LZO_STATIC_CAST(size_t, size));
Packit Service 5195f2
#else
Packit Service 5195f2
    if (LZO_STATIC_CAST(long, size) <= 0)
Packit Service 5195f2
        return p;
Packit Service 5195f2
{
Packit Service 5195f2
#if (__LZOLIB_HALLOC_USE_DAH)
Packit Service 5195f2
    unsigned short sel = 0;
Packit Service 5195f2
    if (DosAllocHuge((unsigned short)(size >> 16), (unsigned short)size, &sel, 0, 0) == 0)
Packit Service 5195f2
        p = (lzo_hvoid_p) LZO_PTR_MK_FP(sel, 0);
Packit Service 5195f2
#elif (__LZOLIB_HALLOC_USE_GA)
Packit Service 5195f2
    const void __near* h = GlobalAlloc(2, size);
Packit Service 5195f2
    if (h) {
Packit Service 5195f2
        p = GlobalLock(h);
Packit Service 5195f2
        if (p && LZO_PTR_FP_OFF(p) != 0) {
Packit Service 5195f2
            GlobalUnlock(h);
Packit Service 5195f2
            p = 0;
Packit Service 5195f2
        }
Packit Service 5195f2
        if (!p)
Packit Service 5195f2
            GlobalFree(h);
Packit Service 5195f2
    }
Packit Service 5195f2
#elif (LZO_CC_MSC && (_MSC_VER >= 700))
Packit Service 5195f2
    p = _halloc(size, 1);
Packit Service 5195f2
#elif (LZO_CC_MSC || LZO_CC_WATCOMC)
Packit Service 5195f2
    p = halloc(size, 1);
Packit Service 5195f2
#elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
Packit Service 5195f2
    p = farmalloc(size);
Packit Service 5195f2
#elif (LZO_CC_BORLANDC || LZO_CC_TURBOC)
Packit Service 5195f2
    p = farmalloc(size);
Packit Service 5195f2
#elif (LZO_CC_AZTECC)
Packit Service 5195f2
    p = lmalloc(size);
Packit Service 5195f2
#else
Packit Service 5195f2
    if (size < LZO_STATIC_CAST(size_t, -1))
Packit Service 5195f2
        p = malloc((size_t) size);
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
    return p;
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(void, lzo_hfree) (lzo_hvoid_p p)
Packit Service 5195f2
{
Packit Service 5195f2
    if (!p)
Packit Service 5195f2
        return;
Packit Service 5195f2
#if 0 && defined(__palmos__)
Packit Service 5195f2
    MemPtrFree(p);
Packit Service 5195f2
#elif !(LZO_HAVE_MM_HUGE_PTR)
Packit Service 5195f2
    free(p);
Packit Service 5195f2
#else
Packit Service 5195f2
#if (__LZOLIB_HALLOC_USE_DAH)
Packit Service 5195f2
    if (LZO_PTR_FP_OFF(p) == 0)
Packit Service 5195f2
        DosFreeSeg((unsigned short) LZO_PTR_FP_SEG(p));
Packit Service 5195f2
#elif (__LZOLIB_HALLOC_USE_GA)
Packit Service 5195f2
    if (LZO_PTR_FP_OFF(p) == 0) {
Packit Service 5195f2
        const void __near* h = (const void __near*) (unsigned) GlobalHandle(LZO_PTR_FP_SEG(p));
Packit Service 5195f2
        if (h) {
Packit Service 5195f2
            GlobalUnlock(h);
Packit Service 5195f2
            GlobalFree(h);
Packit Service 5195f2
        }
Packit Service 5195f2
    }
Packit Service 5195f2
#elif (LZO_CC_MSC && (_MSC_VER >= 700))
Packit Service 5195f2
    _hfree(p);
Packit Service 5195f2
#elif (LZO_CC_MSC || LZO_CC_WATCOMC)
Packit Service 5195f2
    hfree(p);
Packit Service 5195f2
#elif (LZO_CC_DMC || LZO_CC_SYMANTECC || LZO_CC_ZORTECHC)
Packit Service 5195f2
    farfree((void __far*) p);
Packit Service 5195f2
#elif (LZO_CC_BORLANDC || LZO_CC_TURBOC)
Packit Service 5195f2
    farfree((void __far*) p);
Packit Service 5195f2
#elif (LZO_CC_AZTECC)
Packit Service 5195f2
    lfree(p);
Packit Service 5195f2
#else
Packit Service 5195f2
    free(p);
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACCLIB_HFREAD)
Packit Service 5195f2
#  undef LZO_WANT_ACCLIB_HFREAD
Packit Service 5195f2
#define __LZOLIB_HFREAD_CH_INCLUDED 1
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC)
Packit Service 5195f2
#  define LZOLIB_PUBLIC(r,f)    r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_hsize_t, lzo_hfread) (void* vfp, lzo_hvoid_p buf, lzo_hsize_t size)
Packit Service 5195f2
{
Packit Service 5195f2
    FILE* fp = LZO_STATIC_CAST(FILE *, vfp);
Packit Service 5195f2
#if (LZO_HAVE_MM_HUGE_PTR)
Packit Service 5195f2
#if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
Packit Service 5195f2
#define __LZOLIB_REQUIRE_HMEMCPY_CH 1
Packit Service 5195f2
    unsigned char tmp[512];
Packit Service 5195f2
    lzo_hsize_t l = 0;
Packit Service 5195f2
    while (l < size)
Packit Service 5195f2
    {
Packit Service 5195f2
        size_t n = size - l > sizeof(tmp) ? sizeof(tmp) : (size_t) (size - l);
Packit Service 5195f2
        n = fread(tmp, 1, n, fp);
Packit Service 5195f2
        if (n == 0)
Packit Service 5195f2
            break;
Packit Service 5195f2
        __LZOLIB_FUNCNAME(lzo_hmemcpy)((lzo_hbyte_p)buf + l, tmp, (lzo_hsize_t)n);
Packit Service 5195f2
        l += n;
Packit Service 5195f2
    }
Packit Service 5195f2
    return l;
Packit Service 5195f2
#elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE)
Packit Service 5195f2
    lzo_hbyte_p b = (lzo_hbyte_p) buf;
Packit Service 5195f2
    lzo_hsize_t l = 0;
Packit Service 5195f2
    while (l < size)
Packit Service 5195f2
    {
Packit Service 5195f2
        size_t n;
Packit Service 5195f2
        n = LZO_PTR_FP_OFF(b); n = (n <= 1) ? 0x8000u : (0u - n);
Packit Service 5195f2
        if ((lzo_hsize_t) n > size - l)
Packit Service 5195f2
            n = (size_t) (size - l);
Packit Service 5195f2
        n = fread((void __far*)b, 1, n, fp);
Packit Service 5195f2
        if (n == 0)
Packit Service 5195f2
            break;
Packit Service 5195f2
        b += n; l += n;
Packit Service 5195f2
    }
Packit Service 5195f2
    return l;
Packit Service 5195f2
#else
Packit Service 5195f2
#  error "unknown memory model"
Packit Service 5195f2
#endif
Packit Service 5195f2
#else
Packit Service 5195f2
    return fread(buf, 1, size, fp);
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_hsize_t, lzo_hfwrite) (void* vfp, const lzo_hvoid_p buf, lzo_hsize_t size)
Packit Service 5195f2
{
Packit Service 5195f2
    FILE* fp = LZO_STATIC_CAST(FILE *, vfp);
Packit Service 5195f2
#if (LZO_HAVE_MM_HUGE_PTR)
Packit Service 5195f2
#if (LZO_MM_TINY || LZO_MM_SMALL || LZO_MM_MEDIUM)
Packit Service 5195f2
#define __LZOLIB_REQUIRE_HMEMCPY_CH 1
Packit Service 5195f2
    unsigned char tmp[512];
Packit Service 5195f2
    lzo_hsize_t l = 0;
Packit Service 5195f2
    while (l < size)
Packit Service 5195f2
    {
Packit Service 5195f2
        size_t n = size - l > sizeof(tmp) ? sizeof(tmp) : (size_t) (size - l);
Packit Service 5195f2
        __LZOLIB_FUNCNAME(lzo_hmemcpy)(tmp, (const lzo_hbyte_p)buf + l, (lzo_hsize_t)n);
Packit Service 5195f2
        n = fwrite(tmp, 1, n, fp);
Packit Service 5195f2
        if (n == 0)
Packit Service 5195f2
            break;
Packit Service 5195f2
        l += n;
Packit Service 5195f2
    }
Packit Service 5195f2
    return l;
Packit Service 5195f2
#elif (LZO_MM_COMPACT || LZO_MM_LARGE || LZO_MM_HUGE)
Packit Service 5195f2
    const lzo_hbyte_p b = (const lzo_hbyte_p) buf;
Packit Service 5195f2
    lzo_hsize_t l = 0;
Packit Service 5195f2
    while (l < size)
Packit Service 5195f2
    {
Packit Service 5195f2
        size_t n;
Packit Service 5195f2
        n = LZO_PTR_FP_OFF(b); n = (n <= 1) ? 0x8000u : (0u - n);
Packit Service 5195f2
        if ((lzo_hsize_t) n > size - l)
Packit Service 5195f2
            n = (size_t) (size - l);
Packit Service 5195f2
        n = fwrite((void __far*)b, 1, n, fp);
Packit Service 5195f2
        if (n == 0)
Packit Service 5195f2
            break;
Packit Service 5195f2
        b += n; l += n;
Packit Service 5195f2
    }
Packit Service 5195f2
    return l;
Packit Service 5195f2
#else
Packit Service 5195f2
#  error "unknown memory model"
Packit Service 5195f2
#endif
Packit Service 5195f2
#else
Packit Service 5195f2
    return fwrite(buf, 1, size, fp);
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACCLIB_HSREAD)
Packit Service 5195f2
#  undef LZO_WANT_ACCLIB_HSREAD
Packit Service 5195f2
#define __LZOLIB_HSREAD_CH_INCLUDED 1
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC)
Packit Service 5195f2
#  define LZOLIB_PUBLIC(r,f)    r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC(long, lzo_safe_hread) (int fd, lzo_hvoid_p buf, long size)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_hbyte_p b = (lzo_hbyte_p) buf;
Packit Service 5195f2
    long l = 0;
Packit Service 5195f2
    int saved_errno;
Packit Service 5195f2
    saved_errno = errno;
Packit Service 5195f2
    while (l < size)
Packit Service 5195f2
    {
Packit Service 5195f2
        long n = size - l;
Packit Service 5195f2
#if (LZO_HAVE_MM_HUGE_PTR)
Packit Service 5195f2
#  define __LZOLIB_REQUIRE_HREAD_CH 1
Packit Service 5195f2
        errno = 0; n = lzo_hread(fd, b, n);
Packit Service 5195f2
#elif (LZO_OS_DOS32) && defined(__DJGPP__)
Packit Service 5195f2
        errno = 0; n = _read(fd, b, n);
Packit Service 5195f2
#else
Packit Service 5195f2
        errno = 0; n = read(fd, b, n);
Packit Service 5195f2
#endif
Packit Service 5195f2
        if (n == 0)
Packit Service 5195f2
            break;
Packit Service 5195f2
        if (n < 0) {
Packit Service 5195f2
#if defined(EAGAIN)
Packit Service 5195f2
            if (errno == (EAGAIN)) continue;
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(EINTR)
Packit Service 5195f2
            if (errno == (EINTR)) continue;
Packit Service 5195f2
#endif
Packit Service 5195f2
            if (errno == 0) errno = 1;
Packit Service 5195f2
            return l;
Packit Service 5195f2
        }
Packit Service 5195f2
        b += n; l += n;
Packit Service 5195f2
    }
Packit Service 5195f2
    errno = saved_errno;
Packit Service 5195f2
    return l;
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(long, lzo_safe_hwrite) (int fd, const lzo_hvoid_p buf, long size)
Packit Service 5195f2
{
Packit Service 5195f2
    const lzo_hbyte_p b = (const lzo_hbyte_p) buf;
Packit Service 5195f2
    long l = 0;
Packit Service 5195f2
    int saved_errno;
Packit Service 5195f2
    saved_errno = errno;
Packit Service 5195f2
    while (l < size)
Packit Service 5195f2
    {
Packit Service 5195f2
        long n = size - l;
Packit Service 5195f2
#if (LZO_HAVE_MM_HUGE_PTR)
Packit Service 5195f2
#  define __LZOLIB_REQUIRE_HREAD_CH 1
Packit Service 5195f2
        errno = 0; n = lzo_hwrite(fd, b, n);
Packit Service 5195f2
#elif (LZO_OS_DOS32) && defined(__DJGPP__)
Packit Service 5195f2
        errno = 0; n = _write(fd, b, n);
Packit Service 5195f2
#else
Packit Service 5195f2
        errno = 0; n = write(fd, b, n);
Packit Service 5195f2
#endif
Packit Service 5195f2
        if (n == 0)
Packit Service 5195f2
            break;
Packit Service 5195f2
        if (n < 0) {
Packit Service 5195f2
#if defined(EAGAIN)
Packit Service 5195f2
            if (errno == (EAGAIN)) continue;
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(EINTR)
Packit Service 5195f2
            if (errno == (EINTR)) continue;
Packit Service 5195f2
#endif
Packit Service 5195f2
            if (errno == 0) errno = 1;
Packit Service 5195f2
            return l;
Packit Service 5195f2
        }
Packit Service 5195f2
        b += n; l += n;
Packit Service 5195f2
    }
Packit Service 5195f2
    errno = saved_errno;
Packit Service 5195f2
    return l;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACCLIB_PCLOCK)
Packit Service 5195f2
#  undef LZO_WANT_ACCLIB_PCLOCK
Packit Service 5195f2
#define __LZOLIB_PCLOCK_CH_INCLUDED 1
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC)
Packit Service 5195f2
#  define LZOLIB_PUBLIC(r,f)    r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 1 && (LZO_OS_POSIX_LINUX && LZO_ARCH_AMD64 && LZO_ASM_SYNTAX_GNUC)
Packit Service 5195f2
#ifndef lzo_pclock_syscall_clock_gettime
Packit Service 5195f2
#define lzo_pclock_syscall_clock_gettime lzo_pclock_syscall_clock_gettime
Packit Service 5195f2
#endif
Packit Service 5195f2
__lzo_static_noinline long lzo_pclock_syscall_clock_gettime(long clockid, struct timespec *ts)
Packit Service 5195f2
{
Packit Service 5195f2
    unsigned long r = 228;
Packit Service 5195f2
    __asm__ __volatile__("syscall\n" : "=a" (r) : "0" (r), "D" (clockid), "S" (ts) __LZO_ASM_CLOBBER_LIST_CC_MEMORY);
Packit Service 5195f2
    return LZO_ICAST(long, r);
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 1 && (LZO_OS_POSIX_LINUX && LZO_ARCH_I386 && LZO_ASM_SYNTAX_GNUC) && defined(lzo_int64l_t)
Packit Service 5195f2
#ifndef lzo_pclock_syscall_clock_gettime
Packit Service 5195f2
#define lzo_pclock_syscall_clock_gettime lzo_pclock_syscall_clock_gettime
Packit Service 5195f2
#endif
Packit Service 5195f2
__lzo_static_noinline long lzo_pclock_syscall_clock_gettime(long clockid, struct timespec *ts)
Packit Service 5195f2
{
Packit Service 5195f2
    unsigned long r = 265;
Packit Service 5195f2
    __asm__ __volatile__("pushl %%ebx\n pushl %%edx\n popl %%ebx\n int $0x80\n popl %%ebx\n" : "=a" (r) : "0" (r), "d" (clockid), "c" (ts) __LZO_ASM_CLOBBER_LIST_CC_MEMORY);
Packit Service 5195f2
    return LZO_ICAST(long, r);
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 0 && defined(lzo_pclock_syscall_clock_gettime)
Packit Service 5195f2
#ifndef lzo_pclock_read_clock_gettime_r_syscall
Packit Service 5195f2
#define lzo_pclock_read_clock_gettime_r_syscall lzo_pclock_read_clock_gettime_r_syscall
Packit Service 5195f2
#endif
Packit Service 5195f2
static int lzo_pclock_read_clock_gettime_r_syscall(lzo_pclock_handle_p h, lzo_pclock_p c)
Packit Service 5195f2
{
Packit Service 5195f2
     struct timespec ts;
Packit Service 5195f2
    if (lzo_pclock_syscall_clock_gettime(0, &ts) != 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    c->tv_sec = ts.tv_sec;
Packit Service 5195f2
    c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ts.tv_nsec);
Packit Service 5195f2
    LZO_UNUSED(h); return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_GETTIMEOFDAY)
Packit Service 5195f2
#ifndef lzo_pclock_read_gettimeofday
Packit Service 5195f2
#define lzo_pclock_read_gettimeofday lzo_pclock_read_gettimeofday
Packit Service 5195f2
#endif
Packit Service 5195f2
static int lzo_pclock_read_gettimeofday(lzo_pclock_handle_p h, lzo_pclock_p c)
Packit Service 5195f2
{
Packit Service 5195f2
    struct timeval tv;
Packit Service 5195f2
    if (gettimeofday(&tv, NULL) != 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
    c->tv_sec = tv.tv_sec;
Packit Service 5195f2
#else
Packit Service 5195f2
    c->tv_sec_high = 0;
Packit Service 5195f2
    c->tv_sec_low = tv.tv_sec;
Packit Service 5195f2
#endif
Packit Service 5195f2
    c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, (tv.tv_usec * 1000u));
Packit Service 5195f2
    LZO_UNUSED(h); return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(CLOCKS_PER_SEC) && !(LZO_CFG_NO_DOUBLE)
Packit Service 5195f2
#ifndef lzo_pclock_read_clock
Packit Service 5195f2
#define lzo_pclock_read_clock lzo_pclock_read_clock
Packit Service 5195f2
#endif
Packit Service 5195f2
static int lzo_pclock_read_clock(lzo_pclock_handle_p h, lzo_pclock_p c)
Packit Service 5195f2
{
Packit Service 5195f2
    clock_t ticks;
Packit Service 5195f2
    double secs;
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
    lzo_uint64l_t nsecs;
Packit Service 5195f2
    ticks = clock();
Packit Service 5195f2
    secs = LZO_STATIC_CAST(double, ticks) / (CLOCKS_PER_SEC);
Packit Service 5195f2
    nsecs = LZO_STATIC_CAST(lzo_uint64l_t, (secs * 1000000000.0));
Packit Service 5195f2
    c->tv_sec = LZO_STATIC_CAST(lzo_int64l_t, (nsecs / 1000000000ul));
Packit Service 5195f2
    nsecs = (nsecs % 1000000000ul);
Packit Service 5195f2
    c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, nsecs);
Packit Service 5195f2
#else
Packit Service 5195f2
    ticks = clock();
Packit Service 5195f2
    secs = LZO_STATIC_CAST(double, ticks) / (CLOCKS_PER_SEC);
Packit Service 5195f2
    c->tv_sec_high = 0;
Packit Service 5195f2
    c->tv_sec_low = LZO_STATIC_CAST(lzo_uint32l_t, (secs + 0.5));
Packit Service 5195f2
    c->tv_nsec = 0;
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZO_UNUSED(h); return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 1 && defined(lzo_pclock_syscall_clock_gettime)
Packit Service 5195f2
#ifndef lzo_pclock_read_clock_gettime_m_syscall
Packit Service 5195f2
#define lzo_pclock_read_clock_gettime_m_syscall lzo_pclock_read_clock_gettime_m_syscall
Packit Service 5195f2
#endif
Packit Service 5195f2
static int lzo_pclock_read_clock_gettime_m_syscall(lzo_pclock_handle_p h, lzo_pclock_p c)
Packit Service 5195f2
{
Packit Service 5195f2
     struct timespec ts;
Packit Service 5195f2
    if (lzo_pclock_syscall_clock_gettime(1, &ts) != 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    c->tv_sec = ts.tv_sec;
Packit Service 5195f2
    c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ts.tv_nsec);
Packit Service 5195f2
    LZO_UNUSED(h); return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__) && defined(UCLOCKS_PER_SEC) && !(LZO_CFG_NO_DOUBLE)
Packit Service 5195f2
#ifndef lzo_pclock_read_uclock
Packit Service 5195f2
#define lzo_pclock_read_uclock lzo_pclock_read_uclock
Packit Service 5195f2
#endif
Packit Service 5195f2
static int lzo_pclock_read_uclock(lzo_pclock_handle_p h, lzo_pclock_p c)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_uint64l_t ticks;
Packit Service 5195f2
    double secs;
Packit Service 5195f2
    lzo_uint64l_t nsecs;
Packit Service 5195f2
    ticks = uclock();
Packit Service 5195f2
    secs = LZO_STATIC_CAST(double, ticks) / (UCLOCKS_PER_SEC);
Packit Service 5195f2
    nsecs = LZO_STATIC_CAST(lzo_uint64l_t, (secs * 1000000000.0));
Packit Service 5195f2
    c->tv_sec = nsecs / 1000000000ul;
Packit Service 5195f2
    c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, (nsecs % 1000000000ul));
Packit Service 5195f2
    LZO_UNUSED(h); return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 1 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_PROCESS_CPUTIME_ID) && defined(lzo_int64l_t)
Packit Service 5195f2
#ifndef lzo_pclock_read_clock_gettime_p_libc
Packit Service 5195f2
#define lzo_pclock_read_clock_gettime_p_libc lzo_pclock_read_clock_gettime_p_libc
Packit Service 5195f2
#endif
Packit Service 5195f2
static int lzo_pclock_read_clock_gettime_p_libc(lzo_pclock_handle_p h, lzo_pclock_p c)
Packit Service 5195f2
{
Packit Service 5195f2
    struct timespec ts;
Packit Service 5195f2
    if (clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts) != 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    c->tv_sec = ts.tv_sec;
Packit Service 5195f2
    c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ts.tv_nsec);
Packit Service 5195f2
    LZO_UNUSED(h); return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 1 && defined(lzo_pclock_syscall_clock_gettime)
Packit Service 5195f2
#ifndef lzo_pclock_read_clock_gettime_p_syscall
Packit Service 5195f2
#define lzo_pclock_read_clock_gettime_p_syscall lzo_pclock_read_clock_gettime_p_syscall
Packit Service 5195f2
#endif
Packit Service 5195f2
static int lzo_pclock_read_clock_gettime_p_syscall(lzo_pclock_handle_p h, lzo_pclock_p c)
Packit Service 5195f2
{
Packit Service 5195f2
     struct timespec ts;
Packit Service 5195f2
    if (lzo_pclock_syscall_clock_gettime(2, &ts) != 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    c->tv_sec = ts.tv_sec;
Packit Service 5195f2
    c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ts.tv_nsec);
Packit Service 5195f2
    LZO_UNUSED(h); return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_CYGWIN || LZO_OS_WIN32 || LZO_OS_WIN64) && (LZO_HAVE_WINDOWS_H) && defined(lzo_int64l_t)
Packit Service 5195f2
#ifndef lzo_pclock_read_getprocesstimes
Packit Service 5195f2
#define lzo_pclock_read_getprocesstimes lzo_pclock_read_getprocesstimes
Packit Service 5195f2
#endif
Packit Service 5195f2
static int lzo_pclock_read_getprocesstimes(lzo_pclock_handle_p h, lzo_pclock_p c)
Packit Service 5195f2
{
Packit Service 5195f2
    FILETIME ct, et, kt, ut;
Packit Service 5195f2
    lzo_uint64l_t ticks;
Packit Service 5195f2
    if (GetProcessTimes(GetCurrentProcess(), &ct, &et, &kt, &ut) == 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    ticks = (LZO_STATIC_CAST(lzo_uint64l_t, ut.dwHighDateTime) << 32) | ut.dwLowDateTime;
Packit Service 5195f2
    if __lzo_unlikely(h->ticks_base == 0)
Packit Service 5195f2
        h->ticks_base = ticks;
Packit Service 5195f2
    else
Packit Service 5195f2
        ticks -= h->ticks_base;
Packit Service 5195f2
    c->tv_sec = LZO_STATIC_CAST(lzo_int64l_t, (ticks / 10000000ul));
Packit Service 5195f2
    ticks = (ticks % 10000000ul) * 100u;
Packit Service 5195f2
    c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ticks);
Packit Service 5195f2
    LZO_UNUSED(h); return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_GETRUSAGE) && defined(RUSAGE_SELF)
Packit Service 5195f2
#ifndef lzo_pclock_read_getrusage
Packit Service 5195f2
#define lzo_pclock_read_getrusage lzo_pclock_read_getrusage
Packit Service 5195f2
#endif
Packit Service 5195f2
static int lzo_pclock_read_getrusage(lzo_pclock_handle_p h, lzo_pclock_p c)
Packit Service 5195f2
{
Packit Service 5195f2
    struct rusage ru;
Packit Service 5195f2
    if (getrusage(RUSAGE_SELF, &ru) != 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
    c->tv_sec = ru.ru_utime.tv_sec;
Packit Service 5195f2
#else
Packit Service 5195f2
    c->tv_sec_high = 0;
Packit Service 5195f2
    c->tv_sec_low = ru.ru_utime.tv_sec;
Packit Service 5195f2
#endif
Packit Service 5195f2
    c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, (ru.ru_utime.tv_usec * 1000u));
Packit Service 5195f2
    LZO_UNUSED(h); return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 1 && (HAVE_CLOCK_GETTIME) && defined(CLOCK_THREAD_CPUTIME_ID) && defined(lzo_int64l_t)
Packit Service 5195f2
#ifndef lzo_pclock_read_clock_gettime_t_libc
Packit Service 5195f2
#define lzo_pclock_read_clock_gettime_t_libc lzo_pclock_read_clock_gettime_t_libc
Packit Service 5195f2
#endif
Packit Service 5195f2
static int lzo_pclock_read_clock_gettime_t_libc(lzo_pclock_handle_p h, lzo_pclock_p c)
Packit Service 5195f2
{
Packit Service 5195f2
    struct timespec ts;
Packit Service 5195f2
    if (clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts) != 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    c->tv_sec = ts.tv_sec;
Packit Service 5195f2
    c->tv_nsec = (lzo_uint32l_t) ts.tv_nsec;
Packit Service 5195f2
    LZO_UNUSED(h); return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 1 && defined(lzo_pclock_syscall_clock_gettime)
Packit Service 5195f2
#ifndef lzo_pclock_read_clock_gettime_t_syscall
Packit Service 5195f2
#define lzo_pclock_read_clock_gettime_t_syscall lzo_pclock_read_clock_gettime_t_syscall
Packit Service 5195f2
#endif
Packit Service 5195f2
static int lzo_pclock_read_clock_gettime_t_syscall(lzo_pclock_handle_p h, lzo_pclock_p c)
Packit Service 5195f2
{
Packit Service 5195f2
     struct timespec ts;
Packit Service 5195f2
    if (lzo_pclock_syscall_clock_gettime(3, &ts) != 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    c->tv_sec = ts.tv_sec;
Packit Service 5195f2
    c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ts.tv_nsec);
Packit Service 5195f2
    LZO_UNUSED(h); return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_CYGWIN || LZO_OS_WIN32 || LZO_OS_WIN64) && (LZO_HAVE_WINDOWS_H) && defined(lzo_int64l_t)
Packit Service 5195f2
#ifndef lzo_pclock_read_getthreadtimes
Packit Service 5195f2
#define lzo_pclock_read_getthreadtimes lzo_pclock_read_getthreadtimes
Packit Service 5195f2
#endif
Packit Service 5195f2
static int lzo_pclock_read_getthreadtimes(lzo_pclock_handle_p h, lzo_pclock_p c)
Packit Service 5195f2
{
Packit Service 5195f2
    FILETIME ct, et, kt, ut;
Packit Service 5195f2
    lzo_uint64l_t ticks;
Packit Service 5195f2
    if (GetThreadTimes(GetCurrentThread(), &ct, &et, &kt, &ut) == 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    ticks = (LZO_STATIC_CAST(lzo_uint64l_t, ut.dwHighDateTime) << 32) | ut.dwLowDateTime;
Packit Service 5195f2
    if __lzo_unlikely(h->ticks_base == 0)
Packit Service 5195f2
        h->ticks_base = ticks;
Packit Service 5195f2
    else
Packit Service 5195f2
        ticks -= h->ticks_base;
Packit Service 5195f2
    c->tv_sec = LZO_STATIC_CAST(lzo_int64l_t, (ticks / 10000000ul));
Packit Service 5195f2
    ticks = (ticks % 10000000ul) * 100u;
Packit Service 5195f2
    c->tv_nsec = LZO_STATIC_CAST(lzo_uint32l_t, ticks);
Packit Service 5195f2
    LZO_UNUSED(h); return 0;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC(int, lzo_pclock_open) (lzo_pclock_handle_p h, int mode)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_pclock_t c;
Packit Service 5195f2
    int i;
Packit Service 5195f2
    h->h = LZO_STATIC_CAST(lzolib_handle_t, 0);
Packit Service 5195f2
    h->mode = -1;
Packit Service 5195f2
    h->read_error = 2;
Packit Service 5195f2
    h->name = NULL;
Packit Service 5195f2
    h->gettime = LZO_STATIC_CAST(lzo_pclock_gettime_t, 0);
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
    h->ticks_base = 0;
Packit Service 5195f2
#endif
Packit Service 5195f2
    switch (mode)
Packit Service 5195f2
    {
Packit Service 5195f2
    case LZO_PCLOCK_REALTIME:
Packit Service 5195f2
#     if defined(lzo_pclock_read_clock_gettime_r_syscall)
Packit Service 5195f2
        if (lzo_pclock_read_clock_gettime_r_syscall(h, &c) == 0) {
Packit Service 5195f2
            h->gettime = lzo_pclock_read_clock_gettime_r_syscall;
Packit Service 5195f2
            h->name = "CLOCK_REALTIME/syscall";
Packit Service 5195f2
            break;
Packit Service 5195f2
        }
Packit Service 5195f2
#     endif
Packit Service 5195f2
#     if defined(lzo_pclock_read_gettimeofday)
Packit Service 5195f2
        if (lzo_pclock_read_gettimeofday(h, &c) == 0) {
Packit Service 5195f2
            h->gettime = lzo_pclock_read_gettimeofday;
Packit Service 5195f2
            h->name = "gettimeofday";
Packit Service 5195f2
            break;
Packit Service 5195f2
        }
Packit Service 5195f2
#     endif
Packit Service 5195f2
        break;
Packit Service 5195f2
    case LZO_PCLOCK_MONOTONIC:
Packit Service 5195f2
#     if defined(lzo_pclock_read_clock_gettime_m_syscall)
Packit Service 5195f2
        if (lzo_pclock_read_clock_gettime_m_syscall(h, &c) == 0) {
Packit Service 5195f2
            h->gettime = lzo_pclock_read_clock_gettime_m_syscall;
Packit Service 5195f2
            h->name = "CLOCK_MONOTONIC/syscall";
Packit Service 5195f2
            break;
Packit Service 5195f2
        }
Packit Service 5195f2
#     endif
Packit Service 5195f2
#     if defined(lzo_pclock_read_uclock)
Packit Service 5195f2
        if (lzo_pclock_read_uclock(h, &c) == 0) {
Packit Service 5195f2
            h->gettime = lzo_pclock_read_uclock;
Packit Service 5195f2
            h->name = "uclock";
Packit Service 5195f2
            break;
Packit Service 5195f2
        }
Packit Service 5195f2
#     endif
Packit Service 5195f2
#     if defined(lzo_pclock_read_clock)
Packit Service 5195f2
        if (lzo_pclock_read_clock(h, &c) == 0) {
Packit Service 5195f2
            h->gettime = lzo_pclock_read_clock;
Packit Service 5195f2
            h->name = "clock";
Packit Service 5195f2
            break;
Packit Service 5195f2
        }
Packit Service 5195f2
#     endif
Packit Service 5195f2
        break;
Packit Service 5195f2
    case LZO_PCLOCK_PROCESS_CPUTIME_ID:
Packit Service 5195f2
#     if defined(lzo_pclock_read_getprocesstimes)
Packit Service 5195f2
        if (lzo_pclock_read_getprocesstimes(h, &c) == 0) {
Packit Service 5195f2
            h->gettime = lzo_pclock_read_getprocesstimes;
Packit Service 5195f2
            h->name = "GetProcessTimes";
Packit Service 5195f2
            break;
Packit Service 5195f2
        }
Packit Service 5195f2
#     endif
Packit Service 5195f2
#     if defined(lzo_pclock_read_clock_gettime_p_syscall)
Packit Service 5195f2
        if (lzo_pclock_read_clock_gettime_p_syscall(h, &c) == 0) {
Packit Service 5195f2
            h->gettime = lzo_pclock_read_clock_gettime_p_syscall;
Packit Service 5195f2
            h->name = "CLOCK_PROCESS_CPUTIME_ID/syscall";
Packit Service 5195f2
            break;
Packit Service 5195f2
        }
Packit Service 5195f2
#     endif
Packit Service 5195f2
#     if defined(lzo_pclock_read_clock_gettime_p_libc)
Packit Service 5195f2
        if (lzo_pclock_read_clock_gettime_p_libc(h, &c) == 0) {
Packit Service 5195f2
            h->gettime = lzo_pclock_read_clock_gettime_p_libc;
Packit Service 5195f2
            h->name = "CLOCK_PROCESS_CPUTIME_ID/libc";
Packit Service 5195f2
            break;
Packit Service 5195f2
        }
Packit Service 5195f2
#     endif
Packit Service 5195f2
#     if defined(lzo_pclock_read_getrusage)
Packit Service 5195f2
        if (lzo_pclock_read_getrusage(h, &c) == 0) {
Packit Service 5195f2
            h->gettime = lzo_pclock_read_getrusage;
Packit Service 5195f2
            h->name = "getrusage";
Packit Service 5195f2
            break;
Packit Service 5195f2
        }
Packit Service 5195f2
#     endif
Packit Service 5195f2
        break;
Packit Service 5195f2
    case LZO_PCLOCK_THREAD_CPUTIME_ID:
Packit Service 5195f2
#     if defined(lzo_pclock_read_getthreadtimes)
Packit Service 5195f2
        if (lzo_pclock_read_getthreadtimes(h, &c) == 0) {
Packit Service 5195f2
            h->gettime = lzo_pclock_read_getthreadtimes;
Packit Service 5195f2
            h->name = "GetThreadTimes";
Packit Service 5195f2
        }
Packit Service 5195f2
#     endif
Packit Service 5195f2
#     if defined(lzo_pclock_read_clock_gettime_t_syscall)
Packit Service 5195f2
        if (lzo_pclock_read_clock_gettime_t_syscall(h, &c) == 0) {
Packit Service 5195f2
            h->gettime = lzo_pclock_read_clock_gettime_t_syscall;
Packit Service 5195f2
            h->name = "CLOCK_THREAD_CPUTIME_ID/syscall";
Packit Service 5195f2
            break;
Packit Service 5195f2
        }
Packit Service 5195f2
#     endif
Packit Service 5195f2
#     if defined(lzo_pclock_read_clock_gettime_t_libc)
Packit Service 5195f2
        if (lzo_pclock_read_clock_gettime_t_libc(h, &c) == 0) {
Packit Service 5195f2
            h->gettime = lzo_pclock_read_clock_gettime_t_libc;
Packit Service 5195f2
            h->name = "CLOCK_THREAD_CPUTIME_ID/libc";
Packit Service 5195f2
            break;
Packit Service 5195f2
        }
Packit Service 5195f2
#     endif
Packit Service 5195f2
        break;
Packit Service 5195f2
    }
Packit Service 5195f2
    if (!h->gettime)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
    if (!h->h)
Packit Service 5195f2
        h->h = LZO_STATIC_CAST(lzolib_handle_t, 1);
Packit Service 5195f2
    h->mode = mode;
Packit Service 5195f2
    h->read_error = 0;
Packit Service 5195f2
    if (!h->name)
Packit Service 5195f2
        h->name = "unknown";
Packit Service 5195f2
    for (i = 0; i < 10; i++) {
Packit Service 5195f2
        __LZOLIB_FUNCNAME(lzo_pclock_read)(h, &c);
Packit Service 5195f2
    }
Packit Service 5195f2
    return 0;
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(int, lzo_pclock_open_default) (lzo_pclock_handle_p h)
Packit Service 5195f2
{
Packit Service 5195f2
    if (__LZOLIB_FUNCNAME(lzo_pclock_open)(h, LZO_PCLOCK_PROCESS_CPUTIME_ID) == 0)
Packit Service 5195f2
        return 0;
Packit Service 5195f2
    if (__LZOLIB_FUNCNAME(lzo_pclock_open)(h, LZO_PCLOCK_MONOTONIC) == 0)
Packit Service 5195f2
        return 0;
Packit Service 5195f2
    if (__LZOLIB_FUNCNAME(lzo_pclock_open)(h, LZO_PCLOCK_REALTIME) == 0)
Packit Service 5195f2
        return 0;
Packit Service 5195f2
    if (__LZOLIB_FUNCNAME(lzo_pclock_open)(h, LZO_PCLOCK_THREAD_CPUTIME_ID) == 0)
Packit Service 5195f2
        return 0;
Packit Service 5195f2
    return -1;
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(int, lzo_pclock_close) (lzo_pclock_handle_p h)
Packit Service 5195f2
{
Packit Service 5195f2
    h->h = LZO_STATIC_CAST(lzolib_handle_t, 0);
Packit Service 5195f2
    h->mode = -1;
Packit Service 5195f2
    h->name = NULL;
Packit Service 5195f2
    h->gettime = LZO_STATIC_CAST(lzo_pclock_gettime_t, 0);
Packit Service 5195f2
    return 0;
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(void, lzo_pclock_read) (lzo_pclock_handle_p h, lzo_pclock_p c)
Packit Service 5195f2
{
Packit Service 5195f2
    if (h->gettime) {
Packit Service 5195f2
        if (h->gettime(h, c) == 0)
Packit Service 5195f2
            return;
Packit Service 5195f2
    }
Packit Service 5195f2
    h->read_error = 1;
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
    c->tv_sec = 0;
Packit Service 5195f2
#else
Packit Service 5195f2
    c->tv_sec_high = 0;
Packit Service 5195f2
    c->tv_sec_low = 0;
Packit Service 5195f2
#endif
Packit Service 5195f2
    c->tv_nsec = 0;
Packit Service 5195f2
}
Packit Service 5195f2
#if !(LZO_CFG_NO_DOUBLE)
Packit Service 5195f2
LZOLIB_PUBLIC(double, lzo_pclock_get_elapsed) (lzo_pclock_handle_p h, const lzo_pclock_p start, const lzo_pclock_p stop)
Packit Service 5195f2
{
Packit Service 5195f2
    if (!h->h) { h->mode = -1; return 0.0; }
Packit Service 5195f2
    {
Packit Service 5195f2
#if 1 && (LZO_ARCH_I386 && LZO_CC_GNUC) && defined(__STRICT_ALIGNMENT__)
Packit Service 5195f2
    float tstop, tstart;
Packit Service 5195f2
    tstop  = LZO_STATIC_CAST(float, (stop->tv_sec  + stop->tv_nsec  / 1000000000.0));
Packit Service 5195f2
    tstart = LZO_STATIC_CAST(float, (start->tv_sec + start->tv_nsec / 1000000000.0));
Packit Service 5195f2
#elif defined(lzo_int64l_t)
Packit Service 5195f2
    double tstop, tstart;
Packit Service 5195f2
#if 1 && (LZO_CC_INTELC)
Packit Service 5195f2
    { lzo_int64l_t a = stop->tv_sec; lzo_uint32l_t b = stop->tv_nsec;
Packit Service 5195f2
    tstop = a + b / 1000000000.0; }
Packit Service 5195f2
    { lzo_int64l_t a = start->tv_sec; lzo_uint32l_t b = start->tv_nsec;
Packit Service 5195f2
    tstart = a + b / 1000000000.0; }
Packit Service 5195f2
#else
Packit Service 5195f2
    tstop  = stop->tv_sec  + stop->tv_nsec  / 1000000000.0;
Packit Service 5195f2
    tstart = start->tv_sec + start->tv_nsec / 1000000000.0;
Packit Service 5195f2
#endif
Packit Service 5195f2
#else
Packit Service 5195f2
    double tstop, tstart;
Packit Service 5195f2
    tstop  = stop->tv_sec_low  + stop->tv_nsec  / 1000000000.0;
Packit Service 5195f2
    tstart = start->tv_sec_low + start->tv_nsec / 1000000000.0;
Packit Service 5195f2
#endif
Packit Service 5195f2
    return tstop - tstart;
Packit Service 5195f2
    }
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC(int, lzo_pclock_flush_cpu_cache) (lzo_pclock_handle_p h, unsigned flags)
Packit Service 5195f2
{
Packit Service 5195f2
    LZO_UNUSED(h); LZO_UNUSED(flags);
Packit Service 5195f2
    return -1;
Packit Service 5195f2
}
Packit Service 5195f2
#if defined(__LZOLIB_PCLOCK_NEED_WARN_POP)
Packit Service 5195f2
#  if (LZO_CC_MSC && (_MSC_VER >= 1200))
Packit Service 5195f2
#    pragma warning(pop)
Packit Service 5195f2
#  else
Packit Service 5195f2
#    error "__LZOLIB_PCLOCK_NEED_WARN_POP"
Packit Service 5195f2
#  endif
Packit Service 5195f2
#  undef __LZOLIB_PCLOCK_NEED_WARN_POP
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACCLIB_MISC)
Packit Service 5195f2
#  undef LZO_WANT_ACCLIB_MISC
Packit Service 5195f2
#define __LZOLIB_MISC_CH_INCLUDED 1
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC)
Packit Service 5195f2
#  define LZOLIB_PUBLIC(r,f)                r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC_NOINLINE)
Packit Service 5195f2
#  if !defined(__lzo_noinline)
Packit Service 5195f2
#    define LZOLIB_PUBLIC_NOINLINE(r,f)     r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#  elif (LZO_CC_CLANG || (LZO_CC_GNUC >= 0x030400ul) || LZO_CC_LLVM)
Packit Service 5195f2
#    define LZOLIB_PUBLIC_NOINLINE(r,f)     __lzo_noinline __attribute__((__used__)) r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#  else
Packit Service 5195f2
#    define LZOLIB_PUBLIC_NOINLINE(r,f)     __lzo_noinline r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#  endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_WIN32 && LZO_CC_PELLESC && (__POCC__ >= 290))
Packit Service 5195f2
#  pragma warn(push)
Packit Service 5195f2
#  pragma warn(disable:2007)
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC(const char *, lzo_getenv) (const char *s)
Packit Service 5195f2
{
Packit Service 5195f2
#if (HAVE_GETENV)
Packit Service 5195f2
    return getenv(s);
Packit Service 5195f2
#else
Packit Service 5195f2
    LZO_UNUSED(s); return LZO_STATIC_CAST(const char *, 0);
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_intptr_t, lzo_get_osfhandle) (int fd)
Packit Service 5195f2
{
Packit Service 5195f2
    if (fd < 0)
Packit Service 5195f2
        return -1;
Packit Service 5195f2
#if (LZO_OS_CYGWIN)
Packit Service 5195f2
    return get_osfhandle(fd);
Packit Service 5195f2
#elif (LZO_OS_EMX && defined(__RSXNT__))
Packit Service 5195f2
    return -1;
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
Packit Service 5195f2
    return -1;
Packit Service 5195f2
#elif (LZO_OS_WIN32 || LZO_OS_WIN64)
Packit Service 5195f2
# if (LZO_CC_PELLESC && (__POCC__ < 280))
Packit Service 5195f2
    return -1;
Packit Service 5195f2
# elif (LZO_CC_WATCOMC && (__WATCOMC__ < 1000))
Packit Service 5195f2
    return -1;
Packit Service 5195f2
# elif (LZO_CC_WATCOMC && (__WATCOMC__ < 1100))
Packit Service 5195f2
    return _os_handle(fd);
Packit Service 5195f2
# else
Packit Service 5195f2
    return _get_osfhandle(fd);
Packit Service 5195f2
# endif
Packit Service 5195f2
#else
Packit Service 5195f2
    return fd;
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(int, lzo_set_binmode) (int fd, int binary)
Packit Service 5195f2
{
Packit Service 5195f2
#if (LZO_ARCH_M68K && LZO_OS_TOS && LZO_CC_GNUC) && defined(__MINT__)
Packit Service 5195f2
    FILE* fp; int old_binary;
Packit Service 5195f2
    if (fd == STDIN_FILENO) fp = stdin;
Packit Service 5195f2
    else if (fd == STDOUT_FILENO) fp = stdout;
Packit Service 5195f2
    else if (fd == STDERR_FILENO) fp = stderr;
Packit Service 5195f2
    else return -1;
Packit Service 5195f2
    old_binary = fp->__mode.__binary;
Packit Service 5195f2
    __set_binmode(fp, binary ? 1 : 0);
Packit Service 5195f2
    return old_binary ? 1 : 0;
Packit Service 5195f2
#elif (LZO_ARCH_M68K && LZO_OS_TOS)
Packit Service 5195f2
    LZO_UNUSED(fd); LZO_UNUSED(binary);
Packit Service 5195f2
    return -1;
Packit Service 5195f2
#elif (LZO_OS_DOS16 && (LZO_CC_AZTECC || LZO_CC_PACIFICC))
Packit Service 5195f2
    LZO_UNUSED(fd); LZO_UNUSED(binary);
Packit Service 5195f2
    return -1;
Packit Service 5195f2
#elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__)
Packit Service 5195f2
    int r; unsigned old_flags = __djgpp_hwint_flags;
Packit Service 5195f2
    LZO_COMPILE_TIME_ASSERT(O_BINARY > 0)
Packit Service 5195f2
    LZO_COMPILE_TIME_ASSERT(O_TEXT > 0)
Packit Service 5195f2
    if (fd < 0) return -1;
Packit Service 5195f2
    r = setmode(fd, binary ? O_BINARY : O_TEXT);
Packit Service 5195f2
    if ((old_flags & 1u) != (__djgpp_hwint_flags & 1u))
Packit Service 5195f2
        __djgpp_set_ctrl_c(!(old_flags & 1));
Packit Service 5195f2
    if (r == -1) return -1;
Packit Service 5195f2
    return (r & O_TEXT) ? 0 : 1;
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
Packit Service 5195f2
    if (fd < 0) return -1;
Packit Service 5195f2
    LZO_UNUSED(binary);
Packit Service 5195f2
    return 1;
Packit Service 5195f2
#elif (LZO_OS_DOS32 && LZO_CC_HIGHC)
Packit Service 5195f2
    FILE* fp; int r;
Packit Service 5195f2
    if (fd == fileno(stdin)) fp = stdin;
Packit Service 5195f2
    else if (fd == fileno(stdout)) fp = stdout;
Packit Service 5195f2
    else if (fd == fileno(stderr)) fp = stderr;
Packit Service 5195f2
    else return -1;
Packit Service 5195f2
    r = _setmode(fp, binary ? _BINARY : _TEXT);
Packit Service 5195f2
    if (r == -1) return -1;
Packit Service 5195f2
    return (r & _BINARY) ? 1 : 0;
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_CC_MWERKS) && defined(__MSL__)
Packit Service 5195f2
    LZO_UNUSED(fd); LZO_UNUSED(binary);
Packit Service 5195f2
    return -1;
Packit Service 5195f2
#elif (LZO_OS_CYGWIN && (LZO_CC_GNUC < 0x025a00ul))
Packit Service 5195f2
    LZO_UNUSED(fd); LZO_UNUSED(binary);
Packit Service 5195f2
    return -1;
Packit Service 5195f2
#elif (LZO_OS_CYGWIN || LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_EMX || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
Packit Service 5195f2
    int r;
Packit Service 5195f2
#if !(LZO_CC_ZORTECHC)
Packit Service 5195f2
    LZO_COMPILE_TIME_ASSERT(O_BINARY > 0)
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZO_COMPILE_TIME_ASSERT(O_TEXT > 0)
Packit Service 5195f2
    if (fd < 0) return -1;
Packit Service 5195f2
    r = setmode(fd, binary ? O_BINARY : O_TEXT);
Packit Service 5195f2
    if (r == -1) return -1;
Packit Service 5195f2
    return (r & O_TEXT) ? 0 : 1;
Packit Service 5195f2
#else
Packit Service 5195f2
    if (fd < 0) return -1;
Packit Service 5195f2
    LZO_UNUSED(binary);
Packit Service 5195f2
    return 1;
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(int, lzo_isatty) (int fd)
Packit Service 5195f2
{
Packit Service 5195f2
    if (fd < 0)
Packit Service 5195f2
        return 0;
Packit Service 5195f2
#if (LZO_OS_DOS16 && !(LZO_CC_AZTECC))
Packit Service 5195f2
    {
Packit Service 5195f2
        union REGS ri, ro;
Packit Service 5195f2
        ri.x.ax = 0x4400; ri.x.bx = fd;
Packit Service 5195f2
        int86(0x21, &ri, &ro);
Packit Service 5195f2
        if ((ro.x.cflag & 1) == 0)
Packit Service 5195f2
            if ((ro.x.ax & 0x83) != 0x83)
Packit Service 5195f2
                return 0;
Packit Service 5195f2
    }
Packit Service 5195f2
#elif (LZO_OS_DOS32 && LZO_CC_WATCOMC)
Packit Service 5195f2
    {
Packit Service 5195f2
        union REGS ri, ro;
Packit Service 5195f2
        ri.w.ax = 0x4400; ri.w.bx = LZO_STATIC_CAST(unsigned short, fd);
Packit Service 5195f2
        int386(0x21, &ri, &ro);
Packit Service 5195f2
        if ((ro.w.cflag & 1) == 0)
Packit Service 5195f2
            if ((ro.w.ax & 0x83) != 0x83)
Packit Service 5195f2
                return 0;
Packit Service 5195f2
    }
Packit Service 5195f2
#elif (LZO_HAVE_WINDOWS_H)
Packit Service 5195f2
    {
Packit Service 5195f2
        lzo_intptr_t h = __LZOLIB_FUNCNAME(lzo_get_osfhandle)(fd);
Packit Service 5195f2
        LZO_COMPILE_TIME_ASSERT(sizeof(h) == sizeof(HANDLE))
Packit Service 5195f2
        if (h != -1)
Packit Service 5195f2
        {
Packit Service 5195f2
            DWORD d = 0;
Packit Service 5195f2
            if (GetConsoleMode(LZO_REINTERPRET_CAST(HANDLE, h), &d) == 0)
Packit Service 5195f2
                return 0;
Packit Service 5195f2
        }
Packit Service 5195f2
    }
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (HAVE_ISATTY)
Packit Service 5195f2
    return (isatty(fd)) ? 1 : 0;
Packit Service 5195f2
#else
Packit Service 5195f2
    return 0;
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(int, lzo_mkdir) (const char* name, unsigned mode)
Packit Service 5195f2
{
Packit Service 5195f2
#if !(HAVE_MKDIR)
Packit Service 5195f2
    LZO_UNUSED(name); LZO_UNUSED(mode);
Packit Service 5195f2
    return -1;
Packit Service 5195f2
#elif (LZO_ARCH_M68K && LZO_OS_TOS && (LZO_CC_PUREC || LZO_CC_TURBOC))
Packit Service 5195f2
    LZO_UNUSED(mode);
Packit Service 5195f2
    return Dcreate(name);
Packit Service 5195f2
#elif (LZO_OS_DOS32 && LZO_CC_GNUC) && defined(__DJGPP__)
Packit Service 5195f2
    return mkdir(name, mode);
Packit Service 5195f2
#elif (LZO_OS_WIN32 && LZO_CC_GNUC) && defined(__PW32__)
Packit Service 5195f2
    return mkdir(name, mode);
Packit Service 5195f2
#elif ((LZO_OS_DOS16 || LZO_OS_DOS32) && (LZO_CC_HIGHC || LZO_CC_PACIFICC))
Packit Service 5195f2
    LZO_UNUSED(mode);
Packit Service 5195f2
    return mkdir(LZO_UNCONST_CAST(char *, name));
Packit Service 5195f2
#elif (LZO_OS_DOS16 || LZO_OS_DOS32 || LZO_OS_OS2 || LZO_OS_OS216 || LZO_OS_WIN16 || LZO_OS_WIN32 || LZO_OS_WIN64)
Packit Service 5195f2
    LZO_UNUSED(mode);
Packit Service 5195f2
    return mkdir(name);
Packit Service 5195f2
#elif (LZO_CC_WATCOMC)
Packit Service 5195f2
    return mkdir(name, LZO_STATIC_CAST(mode_t, mode));
Packit Service 5195f2
#else
Packit Service 5195f2
    return mkdir(name, mode);
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(int, lzo_rmdir) (const char* name)
Packit Service 5195f2
{
Packit Service 5195f2
#if !(HAVE_RMDIR)
Packit Service 5195f2
    LZO_UNUSED(name);
Packit Service 5195f2
    return -1;
Packit Service 5195f2
#elif ((LZO_OS_DOS16 || LZO_OS_DOS32) && (LZO_CC_HIGHC || LZO_CC_PACIFICC))
Packit Service 5195f2
    return rmdir(LZO_UNCONST_CAST(char *, name));
Packit Service 5195f2
#else
Packit Service 5195f2
    return rmdir(name);
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
#if defined(lzo_int32e_t)
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_int32e_t, lzo_muldiv32s) (lzo_int32e_t a, lzo_int32e_t b, lzo_int32e_t x)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_int32e_t r = 0;
Packit Service 5195f2
    if __lzo_likely(x != 0)
Packit Service 5195f2
    {
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
        lzo_int64l_t rr = (LZO_ICONV(lzo_int64l_t, a) * b) / x;
Packit Service 5195f2
        r = LZO_ITRUNC(lzo_int32e_t, rr);
Packit Service 5195f2
#else
Packit Service 5195f2
        LZO_UNUSED(a); LZO_UNUSED(b);
Packit Service 5195f2
#endif
Packit Service 5195f2
    }
Packit Service 5195f2
    return r;
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC(lzo_uint32e_t, lzo_muldiv32u) (lzo_uint32e_t a, lzo_uint32e_t b, lzo_uint32e_t x)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_uint32e_t r = 0;
Packit Service 5195f2
    if __lzo_likely(x != 0)
Packit Service 5195f2
    {
Packit Service 5195f2
#if defined(lzo_int64l_t)
Packit Service 5195f2
        lzo_uint64l_t rr = (LZO_ICONV(lzo_uint64l_t, a) * b) / x;
Packit Service 5195f2
        r = LZO_ITRUNC(lzo_uint32e_t, rr);
Packit Service 5195f2
#else
Packit Service 5195f2
        LZO_UNUSED(a); LZO_UNUSED(b);
Packit Service 5195f2
#endif
Packit Service 5195f2
    }
Packit Service 5195f2
    return r;
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if 0
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(int, lzo_syscall_clock_gettime) (int c)
Packit Service 5195f2
{
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_WIN16)
Packit Service 5195f2
LZO_EXTERN_C void __far __pascal DebugBreak(void);
Packit Service 5195f2
#endif
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(void, lzo_debug_break) (void)
Packit Service 5195f2
{
Packit Service 5195f2
#if (LZO_OS_WIN16)
Packit Service 5195f2
    DebugBreak();
Packit Service 5195f2
#elif (LZO_ARCH_I086)
Packit Service 5195f2
#elif (LZO_OS_WIN64) && (LZO_HAVE_WINDOWS_H)
Packit Service 5195f2
    DebugBreak();
Packit Service 5195f2
#elif (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC)
Packit Service 5195f2
    __asm__ __volatile__("int $3\n" : : __LZO_ASM_CLOBBER_LIST_CC_MEMORY);
Packit Service 5195f2
#elif (LZO_ARCH_I386) && (LZO_ASM_SYNTAX_MSC)
Packit Service 5195f2
    __asm { int 3 }
Packit Service 5195f2
#elif (LZO_OS_WIN32) && (LZO_HAVE_WINDOWS_H)
Packit Service 5195f2
    DebugBreak();
Packit Service 5195f2
#else
Packit Service 5195f2
    volatile lzo_intptr_t a = -1;
Packit Service 5195f2
    * LZO_STATIC_CAST(volatile unsigned long *, LZO_REINTERPRET_CAST(volatile void *, a)) = ~0ul;
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(void, lzo_debug_nop) (void)
Packit Service 5195f2
{
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(int, lzo_debug_align_check_query) (void)
Packit Service 5195f2
{
Packit Service 5195f2
#if (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC)
Packit Service 5195f2
# if (LZO_ARCH_AMD64)
Packit Service 5195f2
    lzo_uint64e_t r = 0;
Packit Service 5195f2
# else
Packit Service 5195f2
    size_t r = 0;
Packit Service 5195f2
# endif
Packit Service 5195f2
    __asm__ __volatile__("pushf\n pop %0\n" : "=a" (r) : __LZO_ASM_CLOBBER_LIST_CC_MEMORY);
Packit Service 5195f2
    return LZO_ICONV(int, (r >> 18) & 1);
Packit Service 5195f2
#elif (LZO_ARCH_I386) && (LZO_ASM_SYNTAX_MSC)
Packit Service 5195f2
    unsigned long r;
Packit Service 5195f2
    __asm {
Packit Service 5195f2
        pushf
Packit Service 5195f2
        pop eax
Packit Service 5195f2
        mov r,eax
Packit Service 5195f2
    }
Packit Service 5195f2
    return LZO_ICONV(int, (r >> 18) & 1);
Packit Service 5195f2
#else
Packit Service 5195f2
    return -1;
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(int, lzo_debug_align_check_enable) (int v)
Packit Service 5195f2
{
Packit Service 5195f2
#if (LZO_ARCH_AMD64) && (LZO_ASM_SYNTAX_GNUC)
Packit Service 5195f2
    if (v) {
Packit Service 5195f2
        __asm__ __volatile__("pushf\n orl $262144,(%%rsp)\n popf\n" : : __LZO_ASM_CLOBBER_LIST_CC_MEMORY);
Packit Service 5195f2
    } else {
Packit Service 5195f2
        __asm__ __volatile__("pushf\n andl $-262145,(%%rsp)\n popf\n" : : __LZO_ASM_CLOBBER_LIST_CC_MEMORY);
Packit Service 5195f2
    }
Packit Service 5195f2
    return 0;
Packit Service 5195f2
#elif (LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC)
Packit Service 5195f2
    if (v) {
Packit Service 5195f2
        __asm__ __volatile__("pushf\n orl $262144,(%%esp)\n popf\n" : : __LZO_ASM_CLOBBER_LIST_CC_MEMORY);
Packit Service 5195f2
    } else {
Packit Service 5195f2
        __asm__ __volatile__("pushf\n andl $-262145,(%%esp)\n popf\n" : : __LZO_ASM_CLOBBER_LIST_CC_MEMORY);
Packit Service 5195f2
    }
Packit Service 5195f2
    return 0;
Packit Service 5195f2
#elif (LZO_ARCH_I386) && (LZO_ASM_SYNTAX_MSC)
Packit Service 5195f2
    if (v) { __asm {
Packit Service 5195f2
        pushf
Packit Service 5195f2
        or dword ptr [esp],262144
Packit Service 5195f2
        popf
Packit Service 5195f2
    }} else { __asm {
Packit Service 5195f2
        pushf
Packit Service 5195f2
        and dword ptr [esp],-262145
Packit Service 5195f2
        popf
Packit Service 5195f2
    }}
Packit Service 5195f2
    return 0;
Packit Service 5195f2
#else
Packit Service 5195f2
    LZO_UNUSED(v); return -1;
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(unsigned, lzo_debug_running_on_qemu) (void)
Packit Service 5195f2
{
Packit Service 5195f2
    unsigned r = 0;
Packit Service 5195f2
#if (LZO_OS_POSIX_LINUX || LZO_OS_WIN32 || LZO_OS_WIN64)
Packit Service 5195f2
    const char* p;
Packit Service 5195f2
    p = __LZOLIB_FUNCNAME(lzo_getenv)(LZO_PP_STRINGIZE(LZO_ENV_RUNNING_ON_QEMU));
Packit Service 5195f2
    if (p) {
Packit Service 5195f2
        if (p[0] == 0) r = 0;
Packit Service 5195f2
        else if ((p[0] >= '0' && p[0] <= '9') && p[1] == 0) r = LZO_ICAST(unsigned, p[0]) - '0';
Packit Service 5195f2
        else r = 1;
Packit Service 5195f2
    }
Packit Service 5195f2
#endif
Packit Service 5195f2
    return r;
Packit Service 5195f2
}
Packit Service 5195f2
LZOLIB_PUBLIC_NOINLINE(unsigned, lzo_debug_running_on_valgrind) (void)
Packit Service 5195f2
{
Packit Service 5195f2
#if (LZO_ARCH_AMD64 && LZO_ABI_ILP32)
Packit Service 5195f2
    return 0;
Packit Service 5195f2
#elif (LZO_ARCH_AMD64 || LZO_ARCH_I386) && (LZO_ASM_SYNTAX_GNUC)
Packit Service 5195f2
    volatile size_t a[6];
Packit Service 5195f2
    size_t r = 0;
Packit Service 5195f2
    a[0] = 0x1001; a[1] = 0; a[2] = 0; a[3] = 0; a[4] = 0; a[5] = 0;
Packit Service 5195f2
#  if (LZO_ARCH_AMD64)
Packit Service 5195f2
    __asm__ __volatile__(".byte 0x48,0xc1,0xc7,0x03,0x48,0xc1,0xc7,0x0d,0x48,0xc1,0xc7,0x3d,0x48,0xc1,0xc7,0x33,0x48,0x87,0xdb\n" : "=d" (r) : "a" (&a[0]), "d" (r) __LZO_ASM_CLOBBER_LIST_CC_MEMORY);
Packit Service 5195f2
#  elif (LZO_ARCH_I386)
Packit Service 5195f2
    __asm__ __volatile__(".byte 0xc1,0xc7,0x03,0xc1,0xc7,0x0d,0xc1,0xc7,0x1d,0xc1,0xc7,0x13,0x87,0xdb\n" : "=d" (r) : "a" (&a[0]), "d" (r) __LZO_ASM_CLOBBER_LIST_CC_MEMORY);
Packit Service 5195f2
#  endif
Packit Service 5195f2
    return LZO_ITRUNC(unsigned, r);
Packit Service 5195f2
#else
Packit Service 5195f2
    return 0;
Packit Service 5195f2
#endif
Packit Service 5195f2
}
Packit Service 5195f2
#if (LZO_OS_WIN32 && LZO_CC_PELLESC && (__POCC__ >= 290))
Packit Service 5195f2
#  pragma warn(pop)
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if defined(LZO_WANT_ACCLIB_WILDARGV)
Packit Service 5195f2
#  undef LZO_WANT_ACCLIB_WILDARGV
Packit Service 5195f2
#define __LZOLIB_WILDARGV_CH_INCLUDED 1
Packit Service 5195f2
#if !defined(LZOLIB_PUBLIC)
Packit Service 5195f2
#  define LZOLIB_PUBLIC(r,f)    r __LZOLIB_FUNCNAME(f)
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_DOS16 || LZO_OS_OS216 || LZO_OS_WIN16)
Packit Service 5195f2
#if 0 && (LZO_CC_MSC)
Packit Service 5195f2
LZO_EXTERN_C int __lzo_cdecl __setargv(void);
Packit Service 5195f2
LZO_EXTERN_C int __lzo_cdecl _setargv(void);
Packit Service 5195f2
LZO_EXTERN_C int __lzo_cdecl _setargv(void) { return __setargv(); }
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_WIN32 || LZO_OS_WIN64)
Packit Service 5195f2
#if (LZO_CC_INTELC || LZO_CC_MSC)
Packit Service 5195f2
LZO_EXTERN_C int __lzo_cdecl __setargv(void);
Packit Service 5195f2
LZO_EXTERN_C int __lzo_cdecl _setargv(void);
Packit Service 5195f2
LZO_EXTERN_C int __lzo_cdecl _setargv(void) { return __setargv(); }
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_EMX)
Packit Service 5195f2
#define __LZOLIB_HAVE_LZO_WILDARGV 1
Packit Service 5195f2
LZOLIB_PUBLIC(void, lzo_wildargv) (int* argc, char*** argv)
Packit Service 5195f2
{
Packit Service 5195f2
    if (argc && argv) {
Packit Service 5195f2
        _response(argc, argv);
Packit Service 5195f2
        _wildcard(argc, argv);
Packit Service 5195f2
    }
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if (LZO_OS_CONSOLE_PSP) && defined(__PSPSDK_DEBUG__)
Packit Service 5195f2
#define __LZOLIB_HAVE_LZO_WILDARGV 1
Packit Service 5195f2
LZO_EXTERN_C int lzo_psp_init_module(int*, char***, int);
Packit Service 5195f2
LZOLIB_PUBLIC(void, lzo_wildargv) (int* argc, char*** argv)
Packit Service 5195f2
{
Packit Service 5195f2
    lzo_psp_init_module(argc, argv, -1);
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#if !(__LZOLIB_HAVE_LZO_WILDARGV)
Packit Service 5195f2
#define __LZOLIB_HAVE_LZO_WILDARGV 1
Packit Service 5195f2
LZOLIB_PUBLIC(void, lzo_wildargv) (int* argc, char*** argv)
Packit Service 5195f2
{
Packit Service 5195f2
#if 1 && (LZO_ARCH_I086PM)
Packit Service 5195f2
    if (LZO_MM_AHSHIFT != 3) { exit(1); }
Packit Service 5195f2
#elif 1 && (LZO_ARCH_M68K && LZO_OS_TOS && LZO_CC_GNUC) && defined(__MINT__)
Packit Service 5195f2
    __binmode(1);
Packit Service 5195f2
    if (isatty(1)) __set_binmode(stdout, 0);
Packit Service 5195f2
    if (isatty(2)) __set_binmode(stderr, 0);
Packit Service 5195f2
#endif
Packit Service 5195f2
    LZO_UNUSED(argc); LZO_UNUSED(argv);
Packit Service 5195f2
}
Packit Service 5195f2
#endif
Packit Service 5195f2
#endif
Packit Service 5195f2
Packit Service 5195f2
/* vim:set ts=4 sw=4 et: */