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

📄 wince.h

📁 压缩解压,是unzip540的升级,这个外国网站摘来的源码,是evb编写.
💻 H
字号:
/*  Copyright (c) 1990-2003 Info-ZIP.  All rights reserved.  See the accompanying file LICENSE, version 2000-Apr-09 or later  (the contents of which are also included in unzip.h) for terms of use.  If, for some reason, all these files are missing, the Info-ZIP license  also may be found at:  ftp://ftp.info-zip.org/pub/infozip/license.html*///******************************************************************************//// File:        WINCE.H//// Description: This file declares all the Win32 APIs and C runtime functions//              that the Info-ZIP code calls, but are not implemented natively//              on Windows CE.  See WINCE.CPP for the implementation.//// Copyright:   All the source files for Pocket UnZip, except for components//              written by the Info-ZIP group, are copyrighted 1997 by Steve P.//              Miller.  The product "Pocket UnZip" itself is property of the//              author and cannot be altered in any way without written consent//              from Steve P. Miller.//// Disclaimer:  All project files are provided "as is" with no guarantee of//              their correctness.  The authors are not liable for any outcome//              that is the result of using this source.  The source for Pocket//              UnZip has been placed in the public domain to help provide an//              understanding of its implementation.  You are hereby granted//              full permission to use this source in any way you wish, except//              to alter Pocket UnZip itself.  For comments, suggestions, and//              bug reports, please write to stevemil@pobox.com.////// Date      Name          History// --------  ------------  -----------------------------------------------------// 02/01/97  Steve Miller  Created (Version 1.0 using Info-ZIP UnZip 5.30)////******************************************************************************#ifndef __WINCE_H__#define __WINCE_H__#ifdef __cplusplusextern "C" {#endif//******************************************************************************//***** For all platforms - Our debug output function//******************************************************************************// If we are building for debug, we implement the DebugOut() function. If we are// building for release, then we turn all calls to DebugOut() into no-ops.  The// Microsoft compiler (and hopefully others) will not generate any code at all// for the retail version of DebugOut() defined here.  This works much better// than trying to create a variable argument macro - something C/C++ does not// support cleanly.#ifdef DEBUGvoid DebugOut(LPCTSTR szFormat, ...);#else__inline void DebugOut(LPCTSTR szFormat, ...) {}#endif//******************************************************************************//***** Windows NT Native//******************************************************************************#if !defined(_WIN32_WCE)#ifndef UNICODE#include <stdio.h>#endif#include <io.h>#include <time.h>#include <fcntl.h>#include <sys\stat.h>#endif//******************************************************************************//***** Windows CE Native//******************************************************************************#if defined(_WIN32_WCE)#if defined(__WINCE_CPP)   // internal, suppress "import linkage" specifier#  define ZCRTIMP#else   // do not use import linkage specifier either; symbols are provided locally#  define ZCRTIMP#endif#ifndef ZeroMemory#define ZeroMemory(Destination,Length) memset(Destination, 0, Length)#endif#ifdef _MBCS   // WinCE C RTL does not provide the setlocale function#  define setlocale(category, locale)#endif// A few forgotten defines in Windows CE's TCHAR.H#ifndef _stprintf#define _stprintf wsprintf#endif#if _WIN32_WCE < 211 //sr551b functions in stdlib CE300#ifndef _vsntprintf#define _vsntprintf(d,c,f,a) wvsprintf(d,f,a)#endif#ifndef _vsnwprintf#define _vsnwprintf(d,c,f,a) wvsprintf(d,f,a)#endif#endif //end sr551b//******************************************************************************//***** SYS\TYPES.H functions//******************************************************************************#ifndef _OFF_T_DEFINEDtypedef long _off_t;#define _OFF_T_DEFINED#endif#ifndef _TIME_T_DEFINEDtypedef long time_t;#define _TIME_T_DEFINED#endif//******************************************************************************//***** CTYPE.H functions//******************************************************************************#if _WIN32_WCE < 300ZCRTIMP int __cdecl isupper(int);#endif_CRTIMP int __cdecl tolower(int);// This is a coarse approximation to ASCII isalpha(), it returns TRUE not only// on all ASCII letters but also on punctuation chars in the range of 0x40-0x7F#define isalpha(c) (((c) & 0xC0) == 0xC0)//******************************************************************************//***** FCNTL.H functions//******************************************************************************#ifndef _O_RDONLY       // do not redefine existing FCNTL.H constants#define _O_RDONLY 0x0000   // open for reading only#define _O_WRONLY 0x0001   // open for writing only#define _O_RDWR   0x0002   // open for reading and writing#define _O_APPEND 0x0008   // writes done at eof#define _O_CREAT  0x0100   // create and open file#define _O_TRUNC  0x0200   // open and truncate#define _O_EXCL   0x0400   // open only if file doesn't already exist//# define _O_TEXT    0x4000   // file mode is text (translated)#define _O_BINARY 0x8000   // file mode is binary (untranslated)#endif // _O_RDONLY (and alikes...) undefined#ifndef O_RDONLY        // do not redefine existing FCNTL.H constants#define O_RDONLY  _O_RDONLY#define O_WRONLY  _O_WRONLY#define O_RDWR    _O_RDWR#define O_APPEND  _O_APPEND#define O_CREAT   _O_CREAT#define O_TRUNC   _O_TRUNC#define O_EXCL    _O_EXCL#define O_TEXT    _O_TEXT#define O_BINARY  _O_BINARY//#define O_RAW      _O_BINARY//#define O_TEMPORARY   _O_TEMPORARY//#define O_NOINHERIT   _O_NOINHERIT//#define O_SEQUENTIAL  _O_SEQUENTIAL//#define O_RANDOM   _O_RANDOM#endif // O_RDONLY (and other old-fashioned constants) undefined//******************************************************************************//***** IO.H functions//******************************************************************************ZCRTIMP int __cdecl chmod(const char *, int);ZCRTIMP int __cdecl close(int);ZCRTIMP int __cdecl isatty(int);ZCRTIMP long __cdecl lseek(int, long, int);ZCRTIMP int __cdecl open(const char *, int, ...);ZCRTIMP int __cdecl read(int, void *, unsigned int);#if _WIN32_WCE < 211ZCRTIMP int __cdecl setmode(int, int);#else# define setmode _setmode#endifZCRTIMP int __cdecl unlink(const char *);//******************************************************************************//***** STDIO.H functions//******************************************************************************#if _WIN32_WCE < 211 //sr551b functions in stdlib CE300//typedef struct _iobuf FILE;typedef int FILE;#define stdin  ((int*)-2)#define stdout ((int*)-3)#define stderr ((int*)-4)#define EOF    (-1)ZCRTIMP int __cdecl fflush(FILE *);ZCRTIMP char * __cdecl fgets(char *, int, FILE *);ZCRTIMP int __cdecl fileno(FILE *);ZCRTIMP FILE * __cdecl fopen(const char *, const char *);ZCRTIMP int __cdecl fprintf(FILE *, const char *, ...);ZCRTIMP int __cdecl fclose(FILE *);ZCRTIMP int __cdecl putc(int, FILE *);ZCRTIMP int __cdecl sprintf(char *, const char *, ...);#endif // _WIN32_WCE < 211#if _WIN32_WCE >= 211// CE falsely uses (FILE *) pointer args for UNIX style I/O functions that// normally expect numeric file handles (e.g. setmode())# undef fileno# define fileno(strm)  (strm)#endif // _WIN32_WCE < 211#ifndef POCKET_UNZIPZCRTIMP void __cdecl perror(const char* errorText);#endif#ifdef USE_FWRITEZCRTIMP void __cdecl setbuf(FILE *, char *);#endif//******************************************************************************//***** STDLIB.H functions//******************************************************************************#ifdef _MBCS#ifndef MB_CUR_MAX# define MB_CUR_MAX 2#endifZCRTIMP int __cdecl mblen(const char *mbc, size_t mbszmax);#endif /* _MBCS */#if _WIN32_WCE >= 211# define errno ((int)GetLastError())#endif#ifdef _WIN32_WCE_EMULATION  // The emulation runtime library lacks a required element for setjmp/longjmp,  // disable the recovery functionality for now.# undef setjmp# define setjmp(buf) 0# undef longjmp# define longjmp(buf, rv)#endif//******************************************************************************//***** STRING.H functions//******************************************************************************ZCRTIMP int     __cdecl _stricmp(const char *, const char *);ZCRTIMP char *  __cdecl _strupr(char *);ZCRTIMP char *  __cdecl strerror(int errnum);ZCRTIMP char *  __cdecl strrchr(const char *, int);//******************************************************************************//***** TIME.H functions//******************************************************************************#ifndef _TM_DEFINEDstruct tm {   int tm_sec;     // seconds after the minute - [0,59]   int tm_min;     // minutes after the hour - [0,59]   int tm_hour;    // hours since midnight - [0,23]   int tm_mday;    // day of the month - [1,31]   int tm_mon;     // months since January - [0,11]   int tm_year;    // years since 1900// int tm_wday;    // days since Sunday - [0,6]// int tm_yday;    // days since January 1 - [0,365]   int tm_isdst;   // daylight savings time flag};#define _TM_DEFINED#endifZCRTIMP struct tm * __cdecl localtime(const time_t *);// tzset is not supported on native WCE, define it as a NOP macro#ifndef tzset# define tzset()#endif//******************************************************************************//***** SYS\STAT.H functions//******************************************************************************struct stat {// _dev_t st_dev;// _ino_t st_ino;   unsigned short st_mode;// short st_nlink;// short st_uid;// short st_gid;// _dev_t st_rdev;   _off_t st_size;// time_t st_atime;   time_t st_mtime;// time_t st_ctime;};#define _S_IFMT   0170000  // file type mask#define _S_IFDIR  0040000  // directory//#define _S_IFCHR   0020000  // character special//#define _S_IFIFO   0010000  // pipe#define _S_IFREG  0100000  // regular#define _S_IREAD  0000400  // read permission, owner#define _S_IWRITE 0000200  // write permission, owner#define _S_IEXEC  0000100  // execute/search permission, owner#define S_IFMT  _S_IFMT#define S_IFDIR  _S_IFDIR//#define S_IFCHR  _S_IFCHR//#define S_IFREG  _S_IFREG#define S_IREAD  _S_IREAD#define S_IWRITE _S_IWRITE#define S_IEXEC  _S_IEXECZCRTIMP int __cdecl stat(const char *, struct stat *);//******************************************************************************#endif // _WIN32_WCE#ifdef __cplusplus} // extern "C"#endif#endif // __WINCE_H__

⌨️ 快捷键说明

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