📄 maccfg.h
字号:
/*--------------------------------------------------------------------------- MACOS specific configuration and declarations: ---------------------------------------------------------------------------*/#ifndef __maccfg_h#define __maccfg_h/*****************************************************************************//* Macros, missing RTL declarations, compatibility typedefs *//*****************************************************************************/#if defined(__MWERKS__) && defined(macintosh)# include <OSUtils.h> typedef unsigned long mode_t;# define _STAT# if (defined(MacStaticLib) || defined(USE_SIOUX))# define MAIN UZ_EXP UzpMain /* was UzpUnzip */# else# define MAIN _dummy_main# endif#endif#ifdef THINK_C# ifndef __STDC__ /* if Think C hasn't defined __STDC__ ... */# define __STDC__ 1 /* make sure it's defined: it needs it */# else# if !__STDC__ /* sometimes __STDC__ is defined as 0; */# undef __STDC__ /* it needs to be 1 or required header */# define __STDC__ 1 /* files are not properly included. */# endif /* !__STDC__ */# endif# define IOCompletionUPP ProcPtr# define CREATOR 'KAHL'# define MAIN _dummy_main#endif /* THINK_C */#ifdef MPW# include <Errors.h># include <Files.h># include <Memory.h># include <Quickdraw.h># include <ToolUtils.h># ifndef QUERY_TRNEWLN# define QUERY_TRNEWLN# endif# ifdef fileno# undef fileno# endif# ifdef MCH_MACINTOSH# define CREATOR 'Manx'# else# define CREATOR 'MPS '# endif#endif /* MPW */#include <fcntl.h> /* O_BINARY for open() w/o CR/LF translation */#define fileno(x) ((x) == stdout ? 1 : ((x) == stderr ? 2 : (short)(x)))#define open macopen#define close macclose#define fclose(x) macclose(fileno((x)))#define read macread#define write macwrite#define lseek maclseek#define creat(x,y) maccreat((x))#define stat UZmacstat#define lstat UZmacstat#define dup#ifndef MCH_MACINTOSH# define NO_STRNICMP#endif#define DIR_END ':'#ifndef DATE_FORMAT# define DATE_FORMAT DF_MDY#endif#define lenEOL 1#define PutNativeEOL *q++ = native(CR);#define NOANSIFILT /* MWRKS C creates broken code for the ANSI-ESC filter */#define MALLOC_WORK#define INT_SPRINTF#if (!defined(NO_EF_UT_TIME) && !defined(USE_EF_UT_TIME))# define USE_EF_UT_TIME#endif#undef IZ_CHECK_TZ#undef MORE#undef DYNAMIC_CRC_TABLE#ifndef MPW# ifndef MacStaticLib# ifndef USE_SIOUX# define fgets macfgets# define fflush(f)# define fprintf macfprintf# define fputs(s,f) macfprintf((f), "%s", (s))# define printf macprintf# ifdef putc# undef putc# endif# define putc(c,f) macfprintf((f), "%c", (c))# endif /* !USE_SIOUX */# else# ifdef putc# undef putc# endif# define putc(c,f) fprintf((f), "%c", (c))# endif# define isatty(f) (((f) >= 0) || ((f) <= 2))#endif#ifndef isascii# define isascii(c) ((unsigned char)(c) <= 0x3F)#endif#include "macstat.h"#include "macdir.h"#ifdef CR# undef CR#endif#ifdef foreign# undef foreign#endif#define foreign(c) ((c) & 0x80 ? MacRoman_to_ISO8859_1[(c) & 0x7f] : (c))#ifdef native# undef native#endif#define native(c) ((c) & 0x80 ? ISO8859_1_to_MacRoman[(c) & 0x7f] : (c))#define NATIVE "MacRoman charset"#ifdef _ISO_INTERN# undef _ISO_INTERN#endif#define _ISO_INTERN(str1) {register uch *p;\ for (p=(uch *)(str1); *p; p++)\ *p = (*p & 0x80) ? ISO8859_1_to_MacRoman[*p & 0x7f] : *p;}#ifdef _OEM_INTERN# undef _OEM_INTERN#endif#ifndef IZ_OEM2ISO_ARRAY# define IZ_OEM2ISO_ARRAY#endif#define _OEM_INTERN(str1) {register uch *p;\ for (p=(uch *)(str1); *p; p++)\ *p = (*p & 0x80) ? ISO8859_1_to_MacRoman[oem2iso[*p & 0x7f]] : *p;}#ifdef FILEIO_C /* get the ISO8859-1 <--> MacROMAN conversion tables */# include "charmap.h"#else extern ZCONST uch ISO8859_1_to_MacRoman[128]; extern ZCONST uch MacRoman_to_ISO8859_1[128];#endif#define EB_M3_FL_NOCHANGE 0x02 /* filename will be not changed *//* other EB_M3 flags are defined in unzpriv.h */#define EB_MAC3_SIZE (EB_HEADSIZE + EB_MAC3_HLEN)/*****************************************************************************//* Structure typedefs *//*****************************************************************************/typedef struct _ZipExtraHdr { ush header; /* 2 bytes */ ush data; /* 2 bytes */} ZIP_EXTRA_HEADER;/* the following structure is a combination of the old and the new extra-field definition; so it's *not* the definition of the extra-field */typedef struct _MacInfo { ush header; /* tag for this extra block type */ ush data; /* total data size for this block */ ulg size; /* uncompressed finder attribute data size */ ush flags; /* info bits: bit 0 if set, file is a data fork bit 1 if set, filename will be not changed bit 2 if set, Attribs is uncompressed bit 3 if set, date and times are in 64 bit; if zero, date and times are in 32 bit bit 4 if set, "local time - UTC" offsets are omitted bits 5-15 reserved; not tested; */ ush CompType; ulg CRCvalue; CInfoPBRec fpb; /* Macintosh FInfo / FXInfo structure */ long Cr_UTCoffs; /* difference "local time - UTC" for Creat-time */ long Md_UTCoffs; /* difference "local time - UTC" for Modif-time */ long Bk_UTCoffs; /* difference "local time - UTC" for Bckup-time */ short TextEncodingBase; /* TextEncodingBase (Charset) */ char *FullPath; /* Path of the current file */ char *FinderComment; /* Finder Comment of current file */} MACINFO;/*****************************************************************************//* Global Vars *//*****************************************************************************/#define SYSTEM_SPECIFIC_GLOBALS \ short giCursor;\ CursHandle rghCursor[4]; /* status cursors */#define SYSTEM_SPECIFIC_CTOR MacGlobalsInit/*****************************************************************************//* Prototypes *//*****************************************************************************/ulg makePPClong(ZCONST uch *sig);ush makePPCword(ZCONST uch *b);char *FindNewExtractFolder(char *ArchivePath);void UserStop(void);#endif /* !__maccfg_h */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -