⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 darwin.h

📁 UPX 源代码
💻 H
字号:
/* darwin.h -- common stuff for the Darwin stub loaders   This file is part of the UPX executable compressor.   Copyright (C) 1996-2007 Markus Franz Xaver Johannes Oberhumer   Copyright (C) 1996-2007 Laszlo Molnar   All Rights Reserved.   UPX and the UCL library are free software; you can redistribute them   and/or modify them under the terms of the GNU General Public License as   published by the Free Software Foundation; either version 2 of   the License, or (at your option) any later version.   This program is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with this program; see the file COPYING.   If not, write to the Free Software Foundation, Inc.,   59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.   Markus F.X.J. Oberhumer              Laszlo Molnar   <mfx@users.sourceforge.net>          <ml1050@users.sourceforge.net> */// NOTE://   to avoid endless problems with moving libc and kernel headers, this//   section is now completely freestanding#if defined(__GNUC__)#  if defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)#    define ACC_CC_GNUC         (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100 + __GNUC_PATCHLEVEL__)#  elif defined(__GNUC_MINOR__)#    define ACC_CC_GNUC         (__GNUC__ * 0x10000L + __GNUC_MINOR__ * 0x100)#  else#    define ACC_CC_GNUC         (__GNUC__ * 0x10000L)#  endif#endif#define ACC_UNUSED(var)         ((void) var)/*************************************************************************//**************************************************************************/// <stddef.h>typedef long ptrdiff_t;typedef long ssize_t;typedef unsigned long size_t;// <stdint.h>typedef unsigned char uint8_t;typedef unsigned short uint16_t;typedef int int32_t;typedef unsigned uint32_t;#if (ACC_CC_GNUC >= 0x020800ul)__extension__ typedef long long int64_t;__extension__ typedef unsigned long long uint64_t;#elif defined(_WIN32)typedef __int64 int64_t;typedef unsigned __int64 uint64_t;#elsetypedef long long int64_t;typedef unsigned long long uint64_t;#endiftypedef size_t uintptr_t;// misc constants#define PAGE_MASK       (~0ul<<12)#define PAGE_SIZE       (-PAGE_MASK)#define O_RDONLY        0/*************************************************************************// syscalls**************************************************************************/int close(int);void exit(int) __attribute__((__noreturn__,__nothrow__));int mprotect(void *, size_t, int);extern int munmap(char *, size_t);int open(char const *, unsigned, unsigned);/*************************************************************************// UPX stuff**************************************************************************/#define UPX_MAGIC_LE32  0x21585055          // "UPX!"#define nrv_byte unsigned chartypedef unsigned int nrv_uint;#define CONST_CAST(type, var) \    ((type) ((uintptr_t) (var)))#if !defined(__attribute_cdecl)#if defined(__i386__)#  if (ACC_CC_GNUC >= 0x030300)#    define __attribute_cdecl   __attribute__((__cdecl__, __used__))#  elif (ACC_CC_GNUC >= 0x020700)#    define __attribute_cdecl   __attribute__((__cdecl__))#  endif#endif#endif#if !defined(__attribute_cdecl)#  define __attribute_cdecl#endif/*vi:ts=4:et:nowrap*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -