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

📄 acc_lib.h

📁 给程序加密(upx)
💻 H
📖 第 1 页 / 共 2 页
字号:
/* ACC -- Automatic Compiler Configuration   Copyright (C) 1996-2004 Markus Franz Xaver Johannes Oberhumer   All Rights Reserved.   This software is a copyrighted work licensed under the terms of   the GNU General Public License. Please consult the file "ACC_LICENSE"   for details.   Markus F.X.J. Oberhumer   <markus@oberhumer.com>   http://www.oberhumer.com/ */#ifndef __ACC_LIB_H_INCLUDED#define __ACC_LIB_H_INCLUDED 1#if !defined(__ACCLIB_FUNCNAME)#  define __ACCLIB_FUNCNAME(f)  f#endif#if !defined(ACCLIB_EXTERN)#  define ACCLIB_EXTERN(r,f)    extern r __ACCLIB_FUNCNAME(f)#endif#if !defined(__ACCLIB_CONST_CAST_RETURN)#if (ACC_CC_GNUC)#  define __ACCLIB_CONST_CAST_RETURN(type,var) \        { union { type a; const type b; } u; u.b = (var); return u.a; }#else#  define __ACCLIB_CONST_CAST_RETURN(type,var) return (type) (var);#endif#endif#if (ACC_OS_WIN64)#  define acclib_handle_t       acc_int64l_t#  define acclib_uhandle_t      acc_uint64l_t#elif (ACC_ARCH_IA32 && ACC_CC_MSC && (_MSC_VER >= 1300))   typedef __w64 long           acclib_handle_t;   typedef __w64 unsigned long  acclib_uhandle_t;#  define acclib_handle_t       acclib_handle_t#  define acclib_uhandle_t      acclib_uhandle_t#else#  define acclib_handle_t       long#  define acclib_uhandle_t      unsigned long#endif/*************************************************************************// wrap <ctype.h>**************************************************************************/#if 0ACCLIB_EXTERN(int, acc_ascii_digit)   (int);ACCLIB_EXTERN(int, acc_ascii_islower) (int);ACCLIB_EXTERN(int, acc_ascii_isupper) (int);ACCLIB_EXTERN(int, acc_ascii_tolower) (int);ACCLIB_EXTERN(int, acc_ascii_toupper) (int);ACCLIB_EXTERN(int, acc_ascii_utolower) (int);ACCLIB_EXTERN(int, acc_ascii_utoupper) (int);#endif#define acc_ascii_isdigit(c)    (((unsigned)(c) - 48) < 10)#define acc_ascii_islower(c)    (((unsigned)(c) - 97) < 26)#define acc_ascii_isupper(c)    (((unsigned)(c) - 65) < 26)#define acc_ascii_tolower(c)    ((int)(c) + (acc_ascii_isupper(c) << 5))#define acc_ascii_toupper(c)    ((int)(c) - (acc_ascii_islower(c) << 5))#define acc_ascii_utolower(c)   acc_ascii_tolower((unsigned char)(c))#define acc_ascii_utoupper(c)   acc_ascii_toupper((unsigned char)(c))/*************************************************************************// huge pointer layer**************************************************************************/#ifndef acc_hsize_t#if (ACC_HAVE_MM_HUGE_PTR)#  define acc_hsize_t  unsigned long#  define acc_hvoid_p  void __huge *#  define acc_hchar_p  char __huge *#  define acc_hchar_pp char __huge * __huge *#  define acc_hbyte_p  unsigned char __huge *#else#  define acc_hsize_t  size_t#  define acc_hvoid_p  void *#  define acc_hchar_p  char *#  define acc_hchar_pp char **#  define acc_hbyte_p  unsigned char *#endif#endif#ifndef ACC_FILE_P#define ACC_FILE_P FILE *#endif/* halloc */ACCLIB_EXTERN(acc_hvoid_p, acc_halloc) (acc_hsize_t);ACCLIB_EXTERN(void, acc_hfree) (acc_hvoid_p);/* dos_alloc */#if (ACC_OS_DOS16 || ACC_OS_OS216)ACCLIB_EXTERN(void __far*, acc_dos_alloc) (unsigned long);ACCLIB_EXTERN(int, acc_dos_free) (void __far*);#endif/* string */ACCLIB_EXTERN(int, acc_hmemcmp) (const acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);ACCLIB_EXTERN(acc_hvoid_p, acc_hmemcpy) (acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);ACCLIB_EXTERN(acc_hvoid_p, acc_hmemmove) (acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);ACCLIB_EXTERN(acc_hvoid_p, acc_hmemset) (acc_hvoid_p, int, acc_hsize_t);/* string */ACCLIB_EXTERN(acc_hsize_t, acc_hstrlen) (const acc_hchar_p);ACCLIB_EXTERN(int, acc_hstrcmp) (const acc_hchar_p, const acc_hchar_p);ACCLIB_EXTERN(int, acc_hstrncmp)(const acc_hchar_p, const acc_hchar_p, acc_hsize_t);ACCLIB_EXTERN(int, acc_ascii_hstricmp) (const acc_hchar_p, const acc_hchar_p);ACCLIB_EXTERN(int, acc_ascii_hstrnicmp)(const acc_hchar_p, const acc_hchar_p, acc_hsize_t);ACCLIB_EXTERN(int, acc_ascii_hmemicmp) (const acc_hvoid_p, const acc_hvoid_p, acc_hsize_t);ACCLIB_EXTERN(acc_hchar_p, acc_hstrstr) (const acc_hchar_p, const acc_hchar_p);ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstristr) (const acc_hchar_p, const acc_hchar_p);ACCLIB_EXTERN(acc_hvoid_p, acc_hmemmem) (const acc_hvoid_p, acc_hsize_t, const acc_hvoid_p, acc_hsize_t);ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemimem) (const acc_hvoid_p, acc_hsize_t, const acc_hvoid_p, acc_hsize_t);ACCLIB_EXTERN(acc_hchar_p, acc_hstrcpy) (acc_hchar_p, const acc_hchar_p);ACCLIB_EXTERN(acc_hchar_p, acc_hstrcat) (acc_hchar_p, const acc_hchar_p);ACCLIB_EXTERN(acc_hsize_t, acc_hstrlcpy) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);ACCLIB_EXTERN(acc_hsize_t, acc_hstrlcat) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);ACCLIB_EXTERN(int, acc_hstrscpy) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);ACCLIB_EXTERN(int, acc_hstrscat) (acc_hchar_p, const acc_hchar_p, acc_hsize_t);ACCLIB_EXTERN(acc_hchar_p, acc_hstrccpy) (acc_hchar_p, const acc_hchar_p, int);ACCLIB_EXTERN(acc_hvoid_p, acc_hmemccpy) (acc_hvoid_p, const acc_hvoid_p, int, acc_hsize_t);ACCLIB_EXTERN(acc_hchar_p, acc_hstrchr)  (const acc_hchar_p, int);ACCLIB_EXTERN(acc_hchar_p, acc_hstrrchr) (const acc_hchar_p, int);ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrichr) (const acc_hchar_p, int);ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrrichr) (const acc_hchar_p, int);ACCLIB_EXTERN(acc_hvoid_p, acc_hmemchr)  (const acc_hvoid_p, int, acc_hsize_t);ACCLIB_EXTERN(acc_hvoid_p, acc_hmemrchr) (const acc_hvoid_p, int, acc_hsize_t);ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemichr) (const acc_hvoid_p, int, acc_hsize_t);ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemrichr) (const acc_hvoid_p, int, acc_hsize_t);ACCLIB_EXTERN(acc_hsize_t, acc_hstrspn)  (const acc_hchar_p, const acc_hchar_p);ACCLIB_EXTERN(acc_hsize_t, acc_hstrrspn) (const acc_hchar_p, const acc_hchar_p);ACCLIB_EXTERN(acc_hsize_t, acc_hstrcspn)  (const acc_hchar_p, const acc_hchar_p);ACCLIB_EXTERN(acc_hsize_t, acc_hstrrcspn) (const acc_hchar_p, const acc_hchar_p);ACCLIB_EXTERN(acc_hchar_p, acc_hstrpbrk)  (const acc_hchar_p, const acc_hchar_p);ACCLIB_EXTERN(acc_hchar_p, acc_hstrrpbrk) (const acc_hchar_p, const acc_hchar_p);ACCLIB_EXTERN(acc_hchar_p, acc_hstrsep)  (acc_hchar_pp, const acc_hchar_p);ACCLIB_EXTERN(acc_hchar_p, acc_hstrrsep) (acc_hchar_pp, const acc_hchar_p);ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrlwr) (acc_hchar_p);ACCLIB_EXTERN(acc_hchar_p, acc_ascii_hstrupr) (acc_hchar_p);ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemlwr) (acc_hvoid_p, acc_hsize_t);ACCLIB_EXTERN(acc_hvoid_p, acc_ascii_hmemupr) (acc_hvoid_p, acc_hsize_t);/* stdio */ACCLIB_EXTERN(acc_hsize_t, acc_hfread) (ACC_FILE_P, acc_hvoid_p, acc_hsize_t);ACCLIB_EXTERN(acc_hsize_t, acc_hfwrite) (ACC_FILE_P, const acc_hvoid_p, acc_hsize_t);/* io */#if (ACC_HAVE_MM_HUGE_PTR)ACCLIB_EXTERN(long, acc_hread) (int, acc_hvoid_p, long);ACCLIB_EXTERN(long, acc_hwrite) (int, const acc_hvoid_p, long);#endifACCLIB_EXTERN(long, acc_safe_hread) (int, acc_hvoid_p, long);ACCLIB_EXTERN(long, acc_safe_hwrite) (int, const acc_hvoid_p, long);/*************************************************************************// wrap filename limits**************************************************************************//* maximum length of full pathname (excl. '\0') */#if !defined(ACC_FN_PATH_MAX)#if (ACC_OS_DOS16 || ACC_OS_WIN16)#  define ACC_FN_PATH_MAX   143#elif (ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_WIN32 || ACC_OS_WIN64)#  define ACC_FN_PATH_MAX   259#elif (ACC_OS_TOS)#  define ACC_FN_PATH_MAX   259#endif#endif#if !defined(ACC_FN_PATH_MAX)   /* arbitrary limit for acclib implementation */#  define ACC_FN_PATH_MAX   1024#endif/* maximum length of a filename (a single path component) (excl. '\0') */#if !defined(ACC_FN_NAME_MAX)#if (ACC_OS_DOS16 || ACC_OS_WIN16)#  define ACC_FN_NAME_MAX   12#elif (ACC_OS_TOS && (ACC_CC_PUREC || ACC_CC_TURBOC))#  define ACC_FN_NAME_MAX   12#elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)#elif (ACC_OS_DOS32)#  define ACC_FN_NAME_MAX   12#endif#endif#if !defined(ACC_FN_NAME_MAX)#  define ACC_FN_NAME_MAX   ACC_FN_PATH_MAX#endif#define ACC_FNMATCH_NOESCAPE        1#define ACC_FNMATCH_PATHNAME        2#define ACC_FNMATCH_PATHSTAR        4#define ACC_FNMATCH_PERIOD          8#define ACC_FNMATCH_ASCII_CASEFOLD  16ACCLIB_EXTERN(int, acc_fnmatch) (const acc_hchar_p, const acc_hchar_p, int);/*************************************************************************// wrap <dirent.h>**************************************************************************/#undef __ACCLIB_USE_OPENDIR#if (HAVE_DIRENT_H || ACC_CC_WATCOMC)#  define __ACCLIB_USE_OPENDIR 1#  if (ACC_OS_DOS32 && defined(__BORLANDC__))#  elif (ACC_OS_DOS32 && ACC_CC_GNUC) && defined(__DJGPP__)#  elif (ACC_OS_OS2 || ACC_OS_OS216)#  elif (ACC_OS_TOS && ACC_CC_GNUC)#  elif (ACC_OS_WIN32 && !defined(ACC_HAVE_WINDOWS_H))#  elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_OS2 || ACC_OS_OS216 || ACC_OS_TOS || ACC_OS_WIN16 || ACC_OS_WIN32 || ACC_OS_WIN64)#    undef __ACCLIB_USE_OPENDIR#  endif#endiftypedef struct{#if defined(__ACCLIB_USE_OPENDIR)    void *u_dirp; /* private */# if (ACC_CC_WATCOMC)    unsigned short f_time;    unsigned short f_date;    unsigned long f_size;# endif    char f_name[ACC_FN_NAME_MAX+1];#elif (ACC_OS_WIN32 || ACC_OS_WIN64)    acclib_handle_t u_handle; /* private */    unsigned f_attr;    unsigned f_size_low;    unsigned f_size_high;    char f_name[ACC_FN_NAME_MAX+1];#elif (ACC_OS_DOS16 || ACC_OS_DOS32 || ACC_OS_TOS || ACC_OS_WIN16)    char u_dta[21]; /* private */    unsigned char f_attr;    unsigned short f_time;    unsigned short f_date;    unsigned short f_size_low;    unsigned short f_size_high;    char f_name[ACC_FN_NAME_MAX+1];    char u_dirp; /* private */#else    void *u_dirp; /* private */    char f_name[ACC_FN_NAME_MAX+1];#endif} acc_dir_t;#ifndef acc_dir_p#define acc_dir_p acc_dir_t *#endifACCLIB_EXTERN(int, acc_opendir)  (acc_dir_p, const char*);ACCLIB_EXTERN(int, acc_readdir)  (acc_dir_p);

⌨️ 快捷键说明

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