diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-12-02 07:57:17 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-12-02 07:57:17 +0000 |
commit | 90c4dae08fea47797b3ae574e5dfe35dc66f5631 (patch) | |
tree | 4198e3ccd0a5bab17db2a0f82ee7b6c643115c69 /wince/wince.h | |
parent | e193fd8d665567c7f3b827c21a1b77af43e2c391 (diff) |
WinCE patch merged
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3106 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'wince/wince.h')
-rw-r--r-- | wince/wince.h | 216 |
1 files changed, 216 insertions, 0 deletions
diff --git a/wince/wince.h b/wince/wince.h new file mode 100644 index 0000000000..2d3d89aa76 --- /dev/null +++ b/wince/wince.h @@ -0,0 +1,216 @@ + +#ifndef _EXT_CE_ +#define _EXT_CE_ + +/* unique difinition in wince platform. */ + +#ifndef _MIPS_ + #define CONTEXT_FLOATING_POINT 0x00000002L +#endif + +/* LockFile difinition. */ +#define LOCKFILE_FAIL_IMMEDIATELY 0x00000001 +#define LOCKFILE_EXCLUSIVE_LOCK 0x00000002 + +/* Dual Mode difinition. */ +#define STARTF_USESHOWWINDOW 0x00000001 +#define STARTF_USESIZE 0x00000002 +#define STARTF_USEPOSITION 0x00000004 +#define STARTF_USECOUNTCHARS 0x00000008 +#define STARTF_USEFILLATTRIBUTE 0x00000010 +#define STARTF_RUNFULLSCREEN 0x00000020 +#define STARTF_FORCEONFEEDBACK 0x00000040 +#define STARTF_FORCEOFFFEEDBACK 0x00000080 +#define STARTF_USESTDHANDLES 0x00000100 +/* #define STARTF_USEHOTKEY 0x00000200 */ + +#define STD_INPUT_HANDLE (DWORD)-10 +#define STD_OUTPUT_HANDLE (DWORD)-11 +#define STD_ERROR_HANDLE (DWORD)-12 + +#define NORMAL_PRIORITY_CLASS 0x00000020 +#define IDLE_PRIORITY_CLASS 0x00000040 +#define HIGH_PRIORITY_CLASS 0x00000080 +#define REALTIME_PRIORITY_CLASS 0x00000100 + + +/* WINSOCK.H? */ +#define SO_SYNCHRONOUS_NONALERT 0x20 + +/* MoveFileEx definition. */ +#define MOVEFILE_REPLACE_EXISTING 0x00000001 +/* +#define MOVEFILE_COPY_ALLOWED 0x00000002 +#define MOVEFILE_DELAY_UNTIL_REBOOT 0x00000004 +#define MOVEFILE_WRITE_THROUGH 0x00000008 +#define MOVEFILE_CREATE_HARDLINK 0x00000010 +#define MOVEFILE_FAIL_IF_NOT_TRACKABLE 0x00000020 +*/ + +#define _fgetc fgetc +#define _fputc fputc + +#ifdef __cplusplus +extern "C" { +#endif + +/* Win32 API redifinition. */ + +#ifdef GetCommandLine + #undef GetCommandLine + #define GetCommandLine GetCommandLineA +#else + #define GetCommandLine GetCommandLineA +#endif + +#ifdef SetFileAttributes +#undef SetFileAttributes +#define SetFileAttributes SetFileAttributesA +#endif + +#ifdef GetFileAttributes +#undef GetFileAttributes +#define GetFileAttributes GetFileAttributesA +#endif + +#ifdef FormatMessage +#undef FormatMessage +#define FormatMessage FormatMessageA +#endif + +#ifdef GetModuleFileName +#undef GetModuleFileName +#define GetModuleFileName GetModuleFileNameA +#endif + +#ifdef CreateFile +#undef CreateFile +#define CreateFile CreateFileA +#endif + +#ifdef MoveFile +#undef MoveFile +#define MoveFile MoveFileA +#endif + +#ifdef DeleteFile +#undef DeleteFile +#define DeleteFile DeleteFileA +#endif + +#ifdef CreateProcess +#undef CreateProcess +#define CreateProcess CreateProcessA +#endif + +#ifdef CharNext +#undef CharNext +#define CharNext CharNextA +#endif + +#ifdef CharPrev +#undef CharPrev +#define CharPrev CharPrevA +#endif + +#ifdef WIN32_FIND_DATA +#undef WIN32_FIND_DATA +#define WIN32_FIND_DATA WIN32_FIND_DATAA +#endif + +#ifdef FindFirstFile +#undef FindFirstFile +#define FindFirstFile FindFirstFileA +#endif + +#ifdef FindNextFile +#undef FindNextFile +#define FindNextFile FindNextFileA +#endif + +/* stdio.c */ +FILE *freopen(const char *filename, const char *mode, FILE *file); +FILE *_fdopen( int handle, const char *mode ); + +#define fdopen _fdopen + +/* stdlib.c */ +char *getenv(const char *charstuff); +char *_fullpath(char *absPath, const char *relPath, size_t maxLength); + +/* string.c */ +char *strdup(const char * str); +/* char *strerror(int errno); */ +int _strnicmp( const char *s1, const char *s2, size_t count ); + +#define strnicmp _strnicmp + +/* for win32.c */ +BOOL MoveFileEx(LPCSTR oldname, LPCSTR newname, DWORD dwFlags); +BOOL DuplicateHandle( + HANDLE source_process, HANDLE source, + HANDLE dest_process, HANDLE *dest, + DWORD access, BOOL inherit, DWORD options); +BOOL LockFile(HANDLE hFile, + DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, + DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh); +BOOL LockFileEx(HANDLE hFile, + DWORD dwFlags, DWORD dwReserved, + DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh, + LPOVERLAPPED lpOverlapped); +BOOL UnlockFile( HFILE hFile, + DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, + DWORD nNumberOfBytesToUnlockLow, DWORD nNumberOfBytesToUnlockHigh); +BOOL UnlockFileEx(HANDLE hFile, + DWORD dwReserved, DWORD nNumberOfBytesToUnlockLow, + DWORD nNumberOfBytesToUnlockHigh, LPOVERLAPPED lpOverlapped); +BOOL GetUserName(LPSTR lpBuffer, LPDWORD nSize); +BOOL CreatePipe(PHANDLE hReadPipe, PHANDLE hWritePipe, + LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize); +HANDLE GetStdHandle(DWORD nStdHandle); +BOOL SetStdHandle(DWORD nStdHandle, HANDLE h); +DWORD GetLogicalDrives(VOID); +DWORD WaitForMultipleObjectsEx(DWORD count, + const HANDLE *handles, BOOL wait_all, + DWORD timeout, BOOL alertable); +DWORD GetEnvironmentVariable(LPCSTR name, LPSTR value, DWORD size); +LPVOID GetEnvironmentStrings(VOID); +BOOL FreeEnvironmentStrings(LPSTR lpszEnvironmentBlock); +BOOL GenerateConsoleCtrlEvent(DWORD dwCtrlEvent, + DWORD dwProcessGroupID); +BOOL GetProcessTimes(HANDLE hprocess, + LPFILETIME lpCreationTime, LPFILETIME lpExitTime, + LPFILETIME lpKernelTime, LPFILETIME lpUserTime); + +/* char -> wchar_t, wchar_t -> char */ +wchar_t* wce_mbtowc(const char* a); +char* wce_wctomb(const wchar_t* w); +/* other helpers. */ +void wce_SetCommandLine(LPCWSTR wcmd); +void wce_FreeCommandLine(void); + +#if _WIN32_WCE < 300 + /* for Handheld PC Pro. */ + char *strrchr( const char *p, int c ); + int _stricmp( const char *p1, const char *p2 ); + VOID ZeroMemory(PVOID p, DWORD length); + + #define isascii(c) ( (c>=0x00&&c<=0x7f)?1:0 ) + #define isspace(c) ( ((c>=0x09&&c<=0x0d)||c==0x20)?1:0 ) + #define isdigit(c) ( (c>=0x00&&c<=0x09)?1:0 ) + #define isupper(c) ( (c>='A'&&c<='Z')?1:0 ) + #define isalpha(c) ( ((c>='A'&&c<='Z')||(c>='a'&&c<='z'))?1:0 ) + #define isprint(c) ( (c>=0x20&&c<=0x7e)?1:0 ) + #define isalnum(c) ( (isalpha(c)||isdigit(c))?1:0 ) + #define iscntrl(c) ( ((c>=0x00&&c<=0x1f)||c==0x7f)?1:0 ) + #define islower(c) ( (c>='a'&&c<='z')?1:0 ) + #define ispunct(c) ( !(isalnum(c)||isspace(c))?1:0 ) + #define isxdigit(c) ( ((c>=0&&c<=9)||(c>='A'&&c<='F')||(c>='a'&&c<='f'))?1:0 ) +#endif + +#ifdef __cplusplus +}; +#endif + + +#endif /* _EXT_CE_ */ |