maccfg.h
资源名称:unzip540.zip [点击查看]
上传用户:andy_li
上传日期:2007-01-06
资源大小:1019k
文件大小:7k
源码类别:
压缩解压
开发平台:
MultiPlatform
- /*---------------------------------------------------------------------------
- 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 */