From a8c3540b32d7621c183627d7cc198f4b24798387 Mon Sep 17 00:00:00 2001 From: yugui Date: Sat, 4 Oct 2008 13:48:20 +0000 Subject: * dln.c: Ruby no longer supports Windows CE. * eval.c: ditto. * include/ruby/defines.h: ditto. * include/ruby/win32.h: ditto. * ruby.c: ditto. * strftime.c: ditto. * win32/Makefile.sub: ditto. * win32/win32.c: ditto. * ext/tk/extconf.rb: ditto. * lib/fileutils.rb: ditto. * test/fileutils/test_fileutils.rb: ditto. * wince/*: removed. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19681 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- wince/Makefile.sub | 47 ----- wince/README.wince | 122 ----------- wince/assert.c | 11 - wince/assert.h | 6 - wince/configure.bat | 109 ---------- wince/direct.c | 54 ----- wince/direct.h | 22 -- wince/errno.c | 11 - wince/errno.h | 55 ----- wince/fcntl.h | 42 ---- wince/io.h | 76 ------- wince/io_wce.c | 230 --------------------- wince/process.h | 46 ----- wince/process_wce.c | 47 ----- wince/setup.mak | 254 ----------------------- wince/signal.h | 71 ------- wince/signal_wce.c | 26 --- wince/stddef.h | 5 - wince/stdio.c | 36 ---- wince/stdlib.c | 57 ----- wince/string_wce.c | 89 -------- wince/sys/stat.c | 102 --------- wince/sys/stat.h | 68 ------ wince/sys/timeb.c | 25 --- wince/sys/timeb.h | 26 --- wince/sys/types.h | 60 ------ wince/sys/utime.c | 44 ---- wince/sys/utime.h | 27 --- wince/time.h | 63 ------ wince/time_wce.c | 301 --------------------------- wince/varargs.h | 34 --- wince/wince.c | 583 ---------------------------------------------------- wince/wince.h | 191 ----------------- wince/wincemain.c | 18 -- wince/wincon.h | 7 - wince/winsock2.c | 338 ------------------------------ 36 files changed, 3303 deletions(-) delete mode 100644 wince/Makefile.sub delete mode 100644 wince/README.wince delete mode 100644 wince/assert.c delete mode 100644 wince/assert.h delete mode 100755 wince/configure.bat delete mode 100644 wince/direct.c delete mode 100644 wince/direct.h delete mode 100644 wince/errno.c delete mode 100644 wince/errno.h delete mode 100644 wince/fcntl.h delete mode 100644 wince/io.h delete mode 100644 wince/io_wce.c delete mode 100644 wince/process.h delete mode 100644 wince/process_wce.c delete mode 100644 wince/setup.mak delete mode 100644 wince/signal.h delete mode 100644 wince/signal_wce.c delete mode 100644 wince/stddef.h delete mode 100644 wince/stdio.c delete mode 100644 wince/stdlib.c delete mode 100644 wince/string_wce.c delete mode 100644 wince/sys/stat.c delete mode 100644 wince/sys/stat.h delete mode 100644 wince/sys/timeb.c delete mode 100644 wince/sys/timeb.h delete mode 100644 wince/sys/types.h delete mode 100644 wince/sys/utime.c delete mode 100644 wince/sys/utime.h delete mode 100644 wince/time.h delete mode 100644 wince/time_wce.c delete mode 100644 wince/varargs.h delete mode 100644 wince/wince.c delete mode 100644 wince/wince.h delete mode 100644 wince/wincemain.c delete mode 100644 wince/wincon.h delete mode 100644 wince/winsock2.c (limited to 'wince') diff --git a/wince/Makefile.sub b/wince/Makefile.sub deleted file mode 100644 index d8f595a6bf..0000000000 --- a/wince/Makefile.sub +++ /dev/null @@ -1,47 +0,0 @@ -# -*- makefile -*- - -CROSS_COMPILING = 1 -LARGEFILE_SUPPORT = 0 - -!ifndef win_srcdir -win_srcdir = $(srcdir)/wince -!endif - -!if !defined(OS) || !defined(RT) -OS = mswince -RT = $(OS) -!endif - -!if !defined(WARNFLAGS) -WARNFLAGS = -w -!endif -ARCHDEFS = $(CECPUDEF) -DUNDER_CE -D_WIN32_WCE=$(SUBSYSVERSION:.=) \ - -DFILENAME_MAX=MAX_PATH -DTLS_OUT_OF_INDEXES=0xFFFFFFFF \ - -DBUFSIZ=512 -D_UNICODE -DUNICODE -!if !defined(LDFLAGS) -LDFLAGS = -link -incremental:yes -pdb:none -machine:$(MACHINE) -subsystem:$(SUBSYSTEM) -!endif -!if !defined(XLDFLAGS) -XLDFLAGS = -stack:$(STACK) -subsystem:$(SUBSYSTEM) -!endif -LIBS = coredll.lib ceshell.lib winsock.lib $(EXTLIBS) -MISSING = acosh.obj cbrt.obj crypt.obj dup2.obj erf.obj hypot.obj \ - isinf.obj isnan.obj lgamma.obj strftime.obj strlcat.obj strlcpy.obj - tgamma.obj win32.obj \ - assert.obj direct.obj errno.obj io_wce.obj process_wce.obj \ - signal_wce.obj stdio.obj stdlib.obj string_wce.obj \ - time_wce.obj wince.obj winsock2.obj \ - stat.obj timeb.obj utime.obj -LIBOBJS = isinf.obj isnan.obj -COMMON_LIBS = coredll winsock -COMMON_MACROS = WIN32_LEAN_AND_MEAN -COMMON_HEADERS = winsock.h windows.h - -XCFLAGS = -I$(srcdir)/wince - -!if !defined(STACK_COMMIT) -STACK_COMMIT = 0x10000 -!endif -WINMAINOBJ = wincemain.$(OBJEXT) - -!include $(srcdir)/win32/Makefile.sub diff --git a/wince/README.wince b/wince/README.wince deleted file mode 100644 index b4c8de2e09..0000000000 --- a/wince/README.wince +++ /dev/null @@ -1,122 +0,0 @@ -=begin - -= How to build ruby using eMbedded Visual C++ - -== Requirement - -(1) eMbedded Visual C++ 3.0 or later. - -(2) ruby executable on the compiling host environment. - -(3) Please set environment variable (({INCLUDE})), (({LIB})), (({PATH})), - (({CE_TOOLS_DIR})), (({EMBEDDED_TOOLS_DIR})) to run required commands - properly from the command line. - - Note: building ruby requires following commands. - * nmake - * clarm or clmips or shcl - * lib - * dumpbin - -== How to compile and install - -(1) Execute wince\configure.bat on your build directory. - You can specify the target platform as an argument. - For example, run `((%configure arm-hpc2k-wince%))' - You can also specify the install directory. - For example, run `((%configure --prefix=%))' - Default of the install directory is /usr . - -(2) Change ((|RUBY_INSTALL_NAME|)) and ((|RUBY_SO_NAME|)) in (({Makefile})) - if you want to change the name of the executable files. - -(3) Run `((%nmake%))' - -(4) Run `((%nmake DESTDIR= install%))' - - This command will create following directories and copy (not install :-P) - files onto them. - * \bin - * \lib - * \lib\ruby - * \lib\ruby\. - * \lib\ruby\.\ - * \lib\ruby\site_ruby - * \lib\ruby\site_ruby\. - * \lib\ruby\site_ruby\.\ - * \man\man1 - If Ruby's version is `x.y.z', the ((||)) is `x' and the ((||)) is `y'. - In case of `mips-hpc2k-wince', The ((||)) is `(({mips-mswince}))'. - -(5) Copy to your WindowsCE machine. - -== Icons - -Any icon files(*.ico) in the build directory, directories specified with -((|icondirs|)) make variable and (({win32})) directory under the ruby -source directory will be included in DLL or executable files, according -to their base names. - $(RUBY_INSTALL_NAME).ico or ruby.ico --> $(RUBY_INSTALL_NAME).exe - $(RUBYW_INSTALL_NAME).ico or rubyw.ico --> $(RUBYW_INSTALL_NAME).exe - the others --> $(RUBY_SO_NAME).dll - -Although no icons are distributed with the ruby source or in the official -site, you can use anything you like. For example, followings are written -in Japanese, but you can download at least. - -* (()) or - (()) -* (()) or - (()) - -== Build examples - -* Build on the ruby source directory. - - ex.) - ruby source directory: C:\ruby - build directory: C:\ruby - install directory: C:\usr\local - - C: - cd \ruby - win32\configure --prefix=/usr/local - nmake - nmake install - -* Build on the relative directory from the ruby source directory. - - ex.) - ruby source directory: C:\ruby - build directory: C:\ruby\mswin32 - install directory: C:\usr\local - - C: - cd \ruby - mkdir mswin32 - cd mswin32 - ..\win32\configure --prefix=/usr/local - nmake - nmake install - -* Build on the different drive. - - ex.) - ruby source directory: C:\src\ruby - build directory: D:\build\ruby - install directory: C:\usr\local - - D: - cd D:\build\ruby - C:\src\ruby\win32\configure --prefix=C:/usr/local - nmake - nmake install - -== Bugs - -You can ((*NOT*)) use a path name contains any white space characters as -the ruby source directory, this restriction comes from the behavior of -(({!INCLUDE})) directives of (({NMAKE})). -((- you may call it a bug. -)) - -=end diff --git a/wince/assert.c b/wince/assert.c deleted file mode 100644 index 0f4be68497..0000000000 --- a/wince/assert.c +++ /dev/null @@ -1,11 +0,0 @@ -#include -#include -#include "assert.h" - - -void assert( int expression ) -{ - if( expression==0 ) - exit(2); -} - diff --git a/wince/assert.h b/wince/assert.h deleted file mode 100644 index c2a4e3ebb7..0000000000 --- a/wince/assert.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef _ASSERT_H_ -#define _ASSERT_H_ - -void assert( int expression ); - -#endif diff --git a/wince/configure.bat b/wince/configure.bat deleted file mode 100755 index dadfb2fa83..0000000000 --- a/wince/configure.bat +++ /dev/null @@ -1,109 +0,0 @@ -@echo off -::: Don't set environment variable in batch file other than autoexec.bat -::: to avoid "Out of environment space" problem on Windows 95/98. -::: set TMPMAKE=~tmp~.mak - -echo> ~tmp~.mak #### -echo>> ~tmp~.mak conf = %0 -echo>> ~tmp~.mak $(conf:\=/): nul -echo>> ~tmp~.mak @del ~tmp~.mak -echo>> ~tmp~.mak @-$(MAKE) -l$(MAKEFLAGS) -f $(@D)/setup.mak \ -:loop -if "%1" == "" goto :end -if "%1" == "--prefix" goto :prefix -if "%1" == "--srcdir" goto :srcdir -if "%1" == "srcdir" goto :srcdir -if "%1" == "--target" goto :target -if "%1" == "target" goto :target -if "%1" == "--with-static-linked-ext" goto :extstatic -if "%1" == "--program-suffix" goto :suffix -if "%1" == "--program-name" goto :progname -if "%1" == "--enable-install-doc" goto :enable-rdoc -if "%1" == "--disable-install-doc" goto :disable-rdoc -if "%1" == "--extout" goto :extout -if "%1" == "--with-baseruby" goto :baseruby -if "%1" == "-h" goto :help -if "%1" == "--help" goto :help -if "%1" == "CC" goto :define -if "%1" == "EMBEDDED_TOOLS_DIR" goto :define -if "%1" == "CE_TOOLS_DIR" goto :define -if "%1" == "EMBEDDED_TOOLS4_DIR" goto :define -if "%1" == "CE_TOOLS4_DIR" goto :define - echo>> ~tmp~.mak "%1" \ - shift -goto :loop -:srcdir - echo>> ~tmp~.mak "srcdir=%2" \ - shift - shift -goto :loop -:prefix - echo>> ~tmp~.mak "prefix=%2" \ - shift - shift -goto :loop -:suffix - echo>> ~tmp~.mak "RUBY_SUFFIX=%2" \ - shift - shift -goto :loop -:installname - echo>> ~tmp~.mak "RUBY_INSTALL_NAME=%2" \ - shift - shift -goto :loop -:soname - echo>> ~tmp~.mak "RUBY_SO_NAME=%2" \ - shift - shift -goto :loop -:define - echo>> ~tmp~.mak "%1=%2" \ - shift - shift -goto :loop -:target - echo>> ~tmp~.mak "%2" \ - shift - shift -goto :loop -:extstatic - echo>> ~tmp~.mak "EXTSTATIC=static" \ - shift -goto :loop -:enable-rdoc - echo>> ~tmp~.mak "RDOCTARGET=install-doc" \ - shift -goto :loop -:disable-rdoc - echo>> ~tmp~.mak "RDOCTARGET=install-nodoc" \ - shift -goto :loop -:extout - echo>> ~tmp~.mak "EXTOUT=%2" \ - shift - shift -goto :loop -:baseruby - echo>> ~tmp~.mak "BASERUBY=%2" \ - shift - shift -goto :loop -:help - echo Configuration: - echo --help display this help - echo --srcdir=DIR find the sources in DIR [configure dir or `..'] - echo Installation directories: - echo --prefix=PREFIX install files in PREFIX [] - echo System types: - echo --target=TARGET configure for TARGET [i386-mswin32] - echo Optional Package: - echo --with-baseruby=RUBY use RUBY as baseruby [ruby] - echo --with-static-linked-ext link external modules statically - echo --enable-install-doc install rdoc indexes during install - del ~tmp~.mak -goto :exit -:end -echo>> ~tmp~.mak WIN32DIR=$(@D) -nmake -alf ~tmp~.mak -:exit diff --git a/wince/direct.c b/wince/direct.c deleted file mode 100644 index bf0d7cd224..0000000000 --- a/wince/direct.c +++ /dev/null @@ -1,54 +0,0 @@ -/*************************************************************** - direct.c -***************************************************************/ - -#include -#include -#include -#include "wince.h" /* for wce_mbtowc */ - -/* global for chdir, getcwd */ -char _currentdir[MAX_PATH+1]; - - -char *getcwd(char* buffer, int maxlen) -{ - strcpy( buffer, _currentdir ); - return buffer; -} - -int _chdir(const char * dirname) -{ - if( MAX_PATH < strlen(dirname) ) - return -1; - - strcpy( _currentdir, dirname ); - return 0; -} - -int _rmdir(const char * dir) -{ - wchar_t *wdir; - BOOL rc; - - /* replace with RemoveDirectory. */ - wdir = wce_mbtowc(dir); - rc = RemoveDirectoryW(wdir); - free(wdir); - - return rc==TRUE ? 0 : -1; -} - -int _mkdir(const char * dir) -{ - wchar_t* wdir; - BOOL rc; - - /* replace with CreateDirectory. */ - wdir = wce_mbtowc(dir); - rc = CreateDirectoryW(wdir, NULL); - free(wdir); - - return rc==TRUE ? 0 : -1; -} - diff --git a/wince/direct.h b/wince/direct.h deleted file mode 100644 index 7c859b9d3b..0000000000 --- a/wince/direct.h +++ /dev/null @@ -1,22 +0,0 @@ -#ifndef DIRECT_H -#define DIRECT_H 1 - - -#ifdef __cplusplus -extern "C" { -#endif - -char *getcwd(char* buffer, int maxlen); -int _chdir(const char * dirname); -int _rmdir(const char * dir); -int _mkdir(const char * dir); - -#ifdef __cplusplus -}; -#endif - -#define chdir _chdir -#define rmdir _rmdir -#define mkdir _mkdir - -#endif diff --git a/wince/errno.c b/wince/errno.c deleted file mode 100644 index 705b25428e..0000000000 --- a/wince/errno.c +++ /dev/null @@ -1,11 +0,0 @@ -/*************************************************************** - errno.c -***************************************************************/ - -#include - - -int errno; -int _doserrno; -int _sys_nerr; - diff --git a/wince/errno.h b/wince/errno.h deleted file mode 100644 index 2fdd325b32..0000000000 --- a/wince/errno.h +++ /dev/null @@ -1,55 +0,0 @@ -#ifndef ERRNO_H -#define ERRNO_H 1 - - -#define EPERM 1 -#define ENOENT 2 -#define ESRCH 3 -#define EINTR 4 -#define EIO 5 -#define ENXIO 6 -#define E2BIG 7 -#define ENOEXEC 8 -#define EBADF 9 -#define ECHILD 10 -#define EAGAIN 11 -#define ENOMEM 12 -#define EACCES 13 -#define EFAULT 14 -#define EOSERR 15 // rk -#define EBUSY 16 -#define EEXIST 17 -#define EXDEV 18 -#define ENODEV 19 -#define ENOTDIR 20 -#define EISDIR 21 -#define EINVAL 22 -#define ENFILE 23 -#define EMFILE 24 -#define ENOTTY 25 -#define EFBIG 27 -#define ENOSPC 28 -#define ESPIPE 29 -#define EROFS 30 -#define EMLINK 31 -#define EPIPE 32 -#define EDOM 33 -#define ERANGE 34 -#define EDEADLK 36 -#define ENOSYS 37 - -#ifdef __cplusplus -extern "C" { -#endif - -extern int errno; -extern int _doserrno; -extern int _sys_nerr; - -#define sys_nerr _sys_nerr - -#ifdef __cplusplus -}; -#endif - -#endif diff --git a/wince/fcntl.h b/wince/fcntl.h deleted file mode 100644 index 5a6bdc71e6..0000000000 --- a/wince/fcntl.h +++ /dev/null @@ -1,42 +0,0 @@ - -#ifndef FCNTL_H -#define FCNTL_H 1 - - -#define F_SETFL 1 -#define F_SETFD 2 -#define F_GETFL 3 - -#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_NONBLOCK 0x0004 - -#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) */ -#define _O_ACCMODE 0x10000 - -#define _O_NOINHERIT 0 -#define O_NOINHERIT _O_NOINHERIT - -#define O_RDONLY _O_RDONLY -#define O_WRONLY _O_WRONLY -#define O_RDWR _O_RDWR - -#define O_NONBLOCK _O_NONBLOCK - -#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_ACCMODE _O_ACCMODE - - -#endif diff --git a/wince/io.h b/wince/io.h deleted file mode 100644 index eb355a4916..0000000000 --- a/wince/io.h +++ /dev/null @@ -1,76 +0,0 @@ - -#ifndef _IO_WINCE_H_ -#define _IO_WINCE_H_ - -#ifndef _TIME_T_DEFINED -typedef unsigned long time_t; -#define _TIME_T_DEFINED -#endif - -#ifndef _FSIZE_T_DEFINED -typedef unsigned long _fsize_t; /* Could be 64 bits for Win32 */ -#define _FSIZE_T_DEFINED -#endif - -#ifndef _FINDDATA_T_DEFINED -struct _finddata_t { - unsigned attrib; - time_t time_create; /* -1 for FAT file systems */ - time_t time_access; /* -1 for FAT file systems */ - time_t time_write; - _fsize_t size; - char name[260]; -}; -#define _FINDDATA_T_DEFINED -#endif - - -#ifdef __cplusplus -extern "C" { -#endif - -int _chsize(int handle, long size); -int _rename (const char *oldname, const char *newname); -int _unlink(const char *file); -int _umask(int cmask); -int _chmod(const char *path, int mode); -int dup( int handle ); -//int dup2( int handle1, int handle2 ); -int _isatty(int fd); -int _pipe(int *phandles, unsigned int psize, int textmode); -int _access(const char *filename, int flags); -int _open_osfhandle ( long osfhandle, int flags); -long _get_osfhandle( int filehandle ); -int _open(const char *file, int mode,...); -int close(int fd); -int _read(int fd, void *buffer, int length); -int _write(int fd, const void *buffer, unsigned count); -long _lseek(int handle, long offset, int origin); -long _findfirst( char *filespec, struct _finddata_t *fileinfo ); -int _findnext( long handle, struct _finddata_t *fileinfo ); -int _findclose( long handle ); - -#ifdef __cplusplus -}; -#endif - -#define chmod _chmod -#define chsize _chsize -#define rename _rename -#define unlink _unlink -#define open _open -//#define close _close -#define read _read -#define write _write -#define umask _umask -//#define dup _dup -#define isatty _isatty -#define access _access -#define pipe _pipe -#define setmode _setmode -#define lseek _lseek - -#define _close close - -#endif - diff --git a/wince/io_wce.c b/wince/io_wce.c deleted file mode 100644 index 613934aa66..0000000000 --- a/wince/io_wce.c +++ /dev/null @@ -1,230 +0,0 @@ -/*************************************************************** - io.c - - author : uema2 - date : Nov 30, 2002 - - You can freely use, copy, modify, and redistribute - the whole contents. -***************************************************************/ - -#include -#include -#include -#include -#include -#include -#include "wince.h" /* for wce_mbtowc */ - -extern int _errno; - - -int _rename(const char *oldname, const char *newname) -{ - wchar_t *wold, *wnew; - BOOL rc; - - wold = wce_mbtowc(oldname); - wnew = wce_mbtowc(newname); - - /* replace with MoveFile. */ - rc = MoveFileW(wold, wnew); - - free(wold); - free(wnew); - - return rc==TRUE ? 0 : -1; -} - -int _unlink(const char *file) -{ - wchar_t *wfile; - BOOL rc; - - /* replace with DeleteFile. */ - wfile = wce_mbtowc(file); - rc = DeleteFileW(wfile); - free(wfile); - - return rc==TRUE ? 0 : -1; -} - -/* replace "open" with "CreateFile", etc. */ -int _open(const char *file, int mode, va_list arg) -{ - wchar_t *wfile; - DWORD access=0, share=0, create=0; - HANDLE h; - - if( (mode&_O_RDWR) != 0 ) - access = GENERIC_READ|GENERIC_WRITE; - else if( (mode&_O_RDONLY) != 0 ) - access = GENERIC_READ; - else if( (mode&_O_WRONLY) != 0 ) - access = GENERIC_WRITE; - - if( (mode&_O_CREAT) != 0 ) - create = CREATE_ALWAYS; - else - create = OPEN_ALWAYS; - - wfile = wce_mbtowc(file); - - h = CreateFileW(wfile, access, share, NULL, - create, 0, NULL ); - - free(wfile); - return (int)h; -} - -int close(int fd) -{ - CloseHandle( (HANDLE)fd ); - return 0; -} - -int _read(int fd, void *buffer, int length) -{ - DWORD dw; - ReadFile( (HANDLE)fd, buffer, length, &dw, NULL ); - return (int)dw; -} - -int _write(int fd, const void *buffer, unsigned count) -{ - DWORD dw; - WriteFile( (HANDLE)fd, buffer, count, &dw, NULL ); - return (int)dw; -} - -long _lseek(int handle, long offset, int origin) -{ - DWORD flag, ret; - - switch(origin) - { - case SEEK_SET: flag = FILE_BEGIN; break; - case SEEK_CUR: flag = FILE_CURRENT; break; - case SEEK_END: flag = FILE_END; break; - default: flag = FILE_CURRENT; break; - } - - ret = SetFilePointer( (HANDLE)handle, offset, NULL, flag ); - return ret==0xFFFFFFFF ? -1 : 0; -} - -/* _findfirst, _findnext, _findclose. */ -/* replace them with FindFirstFile, etc. */ -long _findfirst( char *file, struct _finddata_t *fi ) -{ - HANDLE h; - WIN32_FIND_DATAA fda; - - h = FindFirstFileA( file, &fda ); - if( h==NULL ) - { - errno = EINVAL; return -1; - } - - fi->attrib = fda.dwFileAttributes; - fi->time_create = wce_FILETIME2time_t( &fda.ftCreationTime ); - fi->time_access = wce_FILETIME2time_t( &fda.ftLastAccessTime ); - fi->time_write = wce_FILETIME2time_t( &fda.ftLastWriteTime ); - fi->size = fda.nFileSizeLow + (fda.nFileSizeHigh<<32); - strcpy( fi->name, fda.cFileName ); - - return (long)h; -} - -int _findnext( long handle, struct _finddata_t *fi ) -{ - WIN32_FIND_DATAA fda; - BOOL b; - - b = FindNextFileA( (HANDLE)handle, &fda ); - - if( b==FALSE ) - { - errno = ENOENT; return -1; - } - - fi->attrib = fda.dwFileAttributes; - fi->time_create = wce_FILETIME2time_t( &fda.ftCreationTime ); - fi->time_access = wce_FILETIME2time_t( &fda.ftLastAccessTime ); - fi->time_write = wce_FILETIME2time_t( &fda.ftLastWriteTime ); - fi->size = fda.nFileSizeLow + (fda.nFileSizeHigh<<32); - strcpy( fi->name, fda.cFileName ); - - return 0; -} - -int _findclose( long handle ) -{ - BOOL b; - b = FindClose( (HANDLE)handle ); - return b==FALSE ? -1 : 0; -} - -/* below functions unsupported... */ -/* I have no idea how to replace... */ -int _chsize(int handle, long size) -{ - errno = EACCES; - return -1; -} - -int _umask(int cmask) -{ - return 0; -} - -int _chmod(const char *path, int mode) -{ - return 0; -} - -/* WinCE doesn't have dup and dup2. */ -/* so, we cannot use missing/dup2.c. */ -int dup( int handle ) -{ - errno = EBADF; - return -1; -} -/* -int dup2( int handle1, int handle2 ) -{ - errno = EBADF; - return -1; -} -*/ -int _isatty(int fd) -{ - if( fd==(int)_fileno(stdin) || - fd==(int)_fileno(stdout)|| - fd==(int)_fileno(stderr) ) - return 1; - else - return 0; -} - -int _pipe(int *phandles, unsigned int psize, int textmode) -{ - return -1; -} - -int _access(const char *filename, int flags) -{ - return 0; -} - -int _open_osfhandle( long osfhandle, int flags) -{ -/* return 0; */ - return (int)osfhandle; -} - -long _get_osfhandle( int filehandle ) -{ -/* return 0; */ - return (long)filehandle; -} diff --git a/wince/process.h b/wince/process.h deleted file mode 100644 index 2ef72a4ac1..0000000000 --- a/wince/process.h +++ /dev/null @@ -1,46 +0,0 @@ -#ifndef PROCESS_H -#define PROCESS_H 1 - - -#define _P_WAIT 0 -#define _P_NOWAIT 1 -#define _P_OVERLAY 2 -#define _P_DETACH 4 - -#define P_WAIT _P_WAIT -#define P_NOWAIT _P_NOWAIT -#define P_DETACH _P_DETACH -#define P_OVERLAY _P_OVERLAY - -#ifndef _INTPTR_T_DEFINED -typedef int intptr_t; -#define _INTPTR_T_DEFINED -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -int _getpid(void); - -int _cwait(int *, int, int); -void abort(void); - -int _execl(const char *, const char *, ...); -//int _execv(const char *, const char * const *); -int execv(const char *path, char *const argv[]); - -intptr_t _spawnle(int, const char *, const char *, ...); -intptr_t _spawnvpe(int, const char *, const char * const *, - const char * const *); - -#ifdef __cplusplus -}; -#endif - -//#define getpid _getpid -#define execl _execl -#define execv _execv - - -#endif diff --git a/wince/process_wce.c b/wince/process_wce.c deleted file mode 100644 index 4415ad024e..0000000000 --- a/wince/process_wce.c +++ /dev/null @@ -1,47 +0,0 @@ -/*************************************************************** - process.c -***************************************************************/ - -#include -#include "process.h" - -int _getpid(void) -{ - return (int)GetCurrentProcessId(); -} - -/* I wonder _exec and _swawn should be replaced with CreateProcess... */ -int _execl(const char *cmdname, const char *arg0, - va_list va_args) -{ - return 0; -} - -int execv(const char *path, char *const argv[]) -{ - return 0; -} - -void abort(void) -{ -} - -int _cwait( int *termstat, int procHandle, int action ) -{ - return 0; -} - -intptr_t _spawnle(int mode, - const char *cmdname, const char *arg0, - va_list va_argn) -{ - return 0; -} - -intptr_t _spawnvpe(int mode, - const char *cmdname, const char *const *argv, - const char *const *envp) -{ - return 0; -} - diff --git a/wince/setup.mak b/wince/setup.mak deleted file mode 100644 index 96151c7da7..0000000000 --- a/wince/setup.mak +++ /dev/null @@ -1,254 +0,0 @@ -# -*- makefile -*- - -!if "$(srcdir)" != "" -WIN32DIR = $(srcdir)/win32 -!elseif "$(WIN32DIR)" == "win32" -srcdir = . -!elseif "$(WIN32DIR)" == "$(WIN32DIR:/win32=)/win32" -srcdir = $(WIN32DIR:/win32=) -!else -srcdir = $(WIN32DIR)/.. -!endif -!ifndef prefix -prefix = /usr -!endif -OS = mswince -RT = msvcrt -INCLUDE = !include -APPEND = echo>>$(MAKEFILE) -!ifdef MAKEFILE -MAKE = $(MAKE) -f $(MAKEFILE) -!else -MAKEFILE = Makefile -!endif -ARCH = PROCESSOR_ARCHITECTURE -CPU = PROCESSOR_LEVEL -CPP = cl -nologo -EP - -all: -prologue- -generic- -epilogue- -i386-$(OS): -prologue- -i386- -epilogue- -i486-$(OS): -prologue- -i486- -epilogue- -i586-$(OS): -prologue- -i586- -epilogue- -i686-$(OS): -prologue- -i686- -epilogue- -alpha-$(OS): -prologue- -alpha- -epilogue- - -# CE -mips-hpc2k-wince: -prologue- -mips- -hpc2k- -epilogue- -mips-ppc-wince: -prologue- -mips- -ppc- -epilogue- -mips-hpcpro-wince: -prologue- -mips- -hpcpro- -epilogue- -arm-hpc2k-wince: -prologue- -arm- -hpc2k- -epilogue- -arm-ppc-wince: -prologue- -arm- -ppc- -epilogue- -arm-hpcpro-wince: -prologue- -arm- -hpcpro- -epilogue- -sh3-ppc-wince: -prologue- -sh3- -ppc- -epilogue- -sh3-hpcpro-wince: -prologue- -sh3- -hpcpro- -epilogue- -sh4-hpcpro-wince: -prologue- -sh4- -hpcpro- -epilogue- -armv4-.net41-wince: -prologue- -armv4- -.net41- -epilogue- -armv4t-.net41-wince: -prologue- -armv4t- -.net41- -epilogue- -armv4i-sig3-wince: -prologue- -armv4i- -sig3- -epilogue- - --prologue-: nul - @type << > $(MAKEFILE) -### Makefile for ruby $(OS) ### -srcdir = $(srcdir:\=/) -prefix = $(prefix:\=/) -EXTSTATIC = $(EXTSTATIC) -!if defined(RDOCTARGET) -RDOCTARGET = $(RDOCTARGET) -!endif -!if defined(EXTOUT) -EXTOUT = $(EXTOUT) -!endif -!if defined(BASERUBY) -BASERUBY = $(BASERUBY) -!endif -<< - @$(CPP) -I$(srcdir) <<"Creating $(MAKEFILE)" >> $(MAKEFILE) -#define RUBY_REVISION 0 -#include "version.h" -MAJOR = RUBY_VERSION_MAJOR -MINOR = RUBY_VERSION_MINOR -TEENY = RUBY_VERSION_TEENY -MSC_VER = _MSC_VER -<< - --generic-: nul -!if defined($(ARCH)) || defined($(CPU)) - @type << >>$(MAKEFILE) -!if defined($(ARCH)) -$(ARCH) = $(PROCESSOR_ARCHITECTURE) -!endif -!if defined($(CPU)) -$(CPU) = $(PROCESSOR_LEVEL) -!endif - -<< -!endif - --alpha-: nul - @$(APPEND) $(ARCH) = alpha --ix86-: nul - @$(APPEND) $(ARCH) = x86 - --i386-: -ix86- - @$(APPEND) $(CPU) = 3 --i486-: -ix86- - @$(APPEND) $(CPU) = 4 --i586-: -ix86- - @$(APPEND) $(CPU) = 5 --i686-: -ix86- - @$(APPEND) $(CPU) = 6 - -# CE --mips- -arm- -sh3- -sh4-:: - @$(APPEND) $(ARCH) = $(@:-=) --mips- -arm-:: - @$(APPEND) CC = cl$(@:-=) --sh3- -sh4-:: - @$(APPEND) CC = shcl --armv4- -armv4i-:: - @$(APPEND) CC = clarm - @$(APPEND) ARCHFOLDER = $(@:-=) --armv4t-:: - @$(APPEND) CC = clthumb - @$(APPEND) ARCHFOLDER = $(@:-=) - --arm-:: - @$(APPEND) CECPUDEF = -DARM -D_ARM_ --mips-:: - @$(APPEND) CECPUDEF = -DMIPS -D_MIPS_ --sh3-:: - @$(APPEND) CECPUDEF = -DSHx -DSH3 -D_SH3_ --sh4-:: - @$(APPEND) CECPUDEF = -DSHx -DSH4 -D_SH4_ - @$(APPEND) QSH4 = -Qsh4 --armv4-:: - @$(APPEND) CECPUDEF = -DARM -D_ARM_ -DARMV4 - @$(APPEND) $(ARCH) = ARM --armv4t- -armv4i-:: - @$(APPEND) CECPUDEF = -DARM -D_ARM_ -DARMV4T -DTHUMB -D_THUMB_ - @$(APPEND) $(ARCH) = THUMB - - --hpc2k-: -hpc2000- --ppc-: "-MS Pocket PC-" --hpcpro2-: "-MS HPC Pro-" --hpcpro-: "-MS HPC Pro--" - --mswin32-: - @type << >>$(MAKEFILE) -OS = mswin32 -RT = msvcrt -<< - --mswince-: - @type << >>$(MAKEFILE) -!ifdef CE_TOOLS_DIR -CE_TOOLS_DIR = $(CE_TOOLS_DIR) -!endif -!ifdef EMBEDDED_TOOLS_DIR -EMBEDDED_TOOLS_DIR = $(EMBEDDED_TOOLS_DIR) -!endif - -OS = mswince -RT = $$(OS) -<< - --mswince4-: - @type << >>$(MAKEFILE) -!ifdef CE_TOOLS4_DIR -CE_TOOLS4_DIR = $(CE_TOOLS4_DIR) -!endif -!ifdef EMBEDDED_TOOLS4_DIR -EMBEDDED_TOOLS4_DIR = $(EMBEDDED_TOOLS4_DIR) -!endif - -OS = mswince -RT = $$(OS) -<< - - --mswince-3.00 -mswince-2.11: -mswince- - @type << >>$(MAKEFILE) -SUBSYSVERSION = $(@:-mswince-=) -PATH = $$(EMBEDDED_TOOLS_DIR)/common/evc/bin;$$(EMBEDDED_TOOLS_DIR)/EVC/WCE$$(SUBSYSVERSION:.=)/bin -<< - --mswince-4.10: -mswince4- - @type << >>$(MAKEFILE) -SUBSYSVERSION = $(@:-mswince-=) -EXTLIBS = ws2.lib -PATH = $$(EMBEDDED_TOOLS4_DIR)/common/evc/bin;$$(EMBEDDED_TOOLS4_DIR)/EVC/WCE$$(SUBSYSVERSION:.=)/bin -<< - --hpc2000- "-MS Pocket PC-": -mswince-3.00 -"-MS HPC Pro-" "-MS HPC Pro--": -mswince-2.11 --.net41- -sig3-: -mswince-4.10 - --hpc2000-: - @type << >>$(MAKEFILE) -SUBSYSTEM = windowsce,3.0 -INCLUDE = $$(CE_TOOLS_DIR)/wce$$(SUBSYSVERSION:.=)/$(@:-=)/include -LIB = $$(CE_TOOLS_DIR)/wce$$(SUBSYSVERSION:.=)/$(@:-=)/lib/$$(PROCESSOR_ARCHITECTURE) -<< - -"-MS Pocket PC-": - @type << >>$(MAKEFILE) -SUBSYSTEM = windowsce,3.0 -INCLUDE = $$(CE_TOOLS_DIR)/wce$$(SUBSYSVERSION:.=)/MS Pocket PC/include -LIB = $$(CE_TOOLS_DIR)/wce$$(SUBSYSVERSION:.=)/MS Pocket PC/lib/$$(PROCESSOR_ARCHITECTURE) -<< - - -"-MS HPC Pro--": - @type << >>$(MAKEFILE) -SUBSYSTEM = windowsce,2.11 -INCLUDE = $$(CE_TOOLS_DIR)/wce$$(SUBSYSVERSION:.=)/MS HPC Pro/include -LIB = $$(CE_TOOLS_DIR)/wce$$(SUBSYSVERSION:.=)/MS HPC Pro/lib/$$(PROCESSOR_ARCHITECTURE) -<< - --.net41-: - @type << >>$(MAKEFILE) -SUBSYSTEM = windowsce,4.1 -INCLUDE = $$(CE_TOOLS4_DIR)/wce400/STANDARDSDK/include/$$(ARCHFOLDER) -LIB = $$(CE_TOOLS4_DIR)/wce400/STANDARDSDK/lib/$$(ARCHFOLDER) -<< - --sig3-: - @type << >>$(MAKEFILE) -SUBSYSTEM = windowsce,4.1 -INCLUDE = $$(CE_TOOLS4_DIR)/wce410/sigmarionIII SDK/include/$$(ARCHFOLDER) -LIB = $$(CE_TOOLS4_DIR)/wce410/sigmarionIII SDK/lib/$$(ARCHFOLDER) -<< - --epilogue-: -encs- - --encs-: nul - @$(MAKE) -l -f $(srcdir)/win32/enc-setup.mak srcdir="$(srcdir)" MAKEFILE=$(MAKEFILE) - --epilogue-: nul - @type << >>$(MAKEFILE) -!ifdef RUBY_INSTALL_NAME -RUBY_INSTALL_NAME = $(RUBY_INSTALL_NAME) -!else ifdef RUBY_SUFFIX -RUBY_INSTALL_NAME = ruby$(RUBY_SUFFIX) -!endif -!ifdef RUBY_SO_NAME -RUBY_SO_NAME = $(RUBY_SO_NAME) -!else -# RUBY_SO_NAME = $$(RT)-$$(RUBY_INSTALL_NAME)$$(MAJOR)$$(MINOR) -!endif -# CFLAGS = -nologo $$(DEBUGFLAGS) $$(OPTFLAGS) $$(PROCESSOR_FLAG) -CPPFLAGS = -I. -I$$(srcdir) -I$$(srcdir)/missing -I$$(srcdir)/wince \ - $$(CECPUDEF) -DUNDER_CE -D_WIN32_WCE=$$(SUBSYSVERSION:.=) \ - -DFILENAME_MAX=MAX_PATH -DTLS_OUT_OF_INDEXES=0xFFFFFFFF \ - -DBUFSIZ=512 -D_UNICODE -DUNICODE $$(QSH4) -# STACK = 0x10000,0x1000 -# LDFLAGS = $$(CFLAGS) -Fm -# XLDFLAGS = -# RFLAGS = -r -# EXTLIBS = - -$(INCLUDE) $$(srcdir)/wince/Makefile.sub -<< - @$(srcdir:/=\)\win32\rm.bat config.h config.status - @echo type `$(MAKE)' to make ruby for $(OS). diff --git a/wince/signal.h b/wince/signal.h deleted file mode 100644 index 95f857dd88..0000000000 --- a/wince/signal.h +++ /dev/null @@ -1,71 +0,0 @@ -#ifndef SIGNAL_H -#define SIGNAL_H 1 - -#include - -#define SIGHUP 1 -#define SIGINT 2 -#define SIGQUIT 3 -#define SIGILL 4 -#define SIGPIPE 5 -#define SIGFPE 8 -#define SIGUSR1 10 -#define SIGSEGV 11 -#define SIGUSR2 12 -#define SIGTERM 15 -#define SIGCHLD 17 -#define SIGTSTP 20 -#define SIGBREAK 21 -#define SIGABRT 22 -#define NSIG 22 - -#define SA_NOCLDSTOP 1 -#define SA_SHIRQ 0x04000000 -#define SA_STACK 0x08000000 -#define SA_RESTART 0x10000000 -#define SA_INTERRUPT 0x20000000 -#define SA_NOMASK 0x40000000 -#define SA_ONESHOT 0x80000000 - -/* signal action codes */ - -#define SIG_DFL (void (*)(int))0 /* default signal action */ -#define SIG_IGN (void (*)(int))1 /* ignore signal */ -#define SIG_SGE (void (*)(int))3 /* signal gets error */ -#define SIG_ACK (void (*)(int))4 /* acknowledge */ -#define SIG_ERR (void (*)(int))-1 /* signal error value */ - -#define SIG_BLOCK 0 /* for blocking signals */ -#define SIG_UNBLOCK 1 /* for unblocking signals */ -#define SIG_SETMASK 2 /* for setting the signal mask */ - - -#ifdef __cplusplus -extern "C" { -#endif - -typedef void (* SIGHANDLER)(int); -typedef void (* sighandler_t)(int); - -typedef int sig_atomic_t; -typedef unsigned int sigset_t; - -struct sigaction{ - sighandler_t sa_handler; - sigset_t sa_mask; - unsigned long sa_flags; - void (*sa_restorer)(void); -}; - -int raise(int sig); -//#ifndef _WIN32_WCE_EMULATION - void (* signal(int sig, void (__cdecl *func)(int)))(int); -//#else -// void (* signal(int sig, void (*func))); -//#endif - -#ifdef __cplusplus -}; -#endif - -#endif diff --git a/wince/signal_wce.c b/wince/signal_wce.c deleted file mode 100644 index 95f85e0ac8..0000000000 --- a/wince/signal_wce.c +++ /dev/null @@ -1,26 +0,0 @@ -/*************************************************************** - signal.c -***************************************************************/ - -#include -#include "signal.h" - -/* lazy replacement... (^^; */ -int raise(int sig) -{ - return 0; -} - -//#ifdef _WIN32_WCE -//#ifdef _WIN32_WCE_EMULATION -//void (* signal(int sig, void (*func))) -//{ -// return sig; -//} -//#else -void (* signal(int sig, void (__cdecl *func)(int)))(int) -{ - return sig; -} -//#endif -//#endif diff --git a/wince/stddef.h b/wince/stddef.h deleted file mode 100644 index 227725020e..0000000000 --- a/wince/stddef.h +++ /dev/null @@ -1,5 +0,0 @@ - -#ifndef _STDDEF_H_ -#define _STDDEF_H_ - -#endif diff --git a/wince/stdio.c b/wince/stdio.c deleted file mode 100644 index 877408d417..0000000000 --- a/wince/stdio.c +++ /dev/null @@ -1,36 +0,0 @@ -/*************************************************************** - stdio.c -***************************************************************/ - -#include -#include "wince.h" /* for wce_mbtowc */ - - -FILE *freopen(const char *filename, const char *mode, FILE *file) -{ - wchar_t *wfilename, *wmode; - FILE *fp; - - wfilename = wce_mbtowc(filename); - wmode = wce_mbtowc(mode); - - fp = _wfreopen(wfilename, wmode, file); - - free(wfilename); - free(wmode); - - return fp; -} - -FILE *fdopen( int handle, const char *mode ) -{ - wchar_t *wmode; - FILE* fp; - - wmode = wce_mbtowc(mode); - fp = _wfdopen( (void*)handle, wmode ); - - free(wmode); - return fp; -} - diff --git a/wince/stdlib.c b/wince/stdlib.c deleted file mode 100644 index d371b12f88..0000000000 --- a/wince/stdlib.c +++ /dev/null @@ -1,57 +0,0 @@ -/*************************************************************** - stdlib.c -***************************************************************/ - -#include - -char **environ; -extern char * rb_w32_getenv(const char *); - -/* getenv should replace with rb_w32_getenv. */ -char *getenv(const char *env) -{ - return rb_w32_getenv(env); -} - -char *_fullpath(char *absPath, const char *relPath, - size_t maxLength) -{ - strcpy( absPath, relPath ); - return absPath; -} - -int mblen(const char *mbstr, size_t count) -{ - const char *p = mbstr; - size_t i; - int n=0; - - for( i=0; i -#include "wince.h" /* for wce_mbtowc */ - -/* _strdup already exists in stdlib.h? */ -char *strdup(const char * str) -{ - char *p; - - p = malloc( strlen(str)+1 ); - strcpy( p, str ); - return p; -} - -char* strerror(int errno) -{ - static char buf[32]="wince::strerror called."; - return buf; -} - -/* strnicmp already exists in stdlib.h? */ -int strnicmp( const char *s1, const char *s2, size_t count ) -{ - wchar_t *w1, *w2; - int n; - - w1 = wce_mbtowc(s1); - w2 = wce_mbtowc(s2); - - n = wcsnicmp(w1, w2, count); - - free(w1); - free(w2); - - return n; -} - -#if _WIN32_WCE < 300 -#include "..\missing\strtoul.c" - -char *strrchr( const char *p, int c ) -{ - char *pp; - for( pp=(char*)p+strlen(p); pp!=p; pp-- ) - { - if( *pp==c ) break; - } - return pp==p ? NULL : pp; -} - -int stricmp( const char *s1, const char *s2 ) -{ - wchar_t *w1, *w2; - int n; - - w1 = wce_mbtowc(s1); - w2 = wce_mbtowc(s2); - - n = wcsicmp(w1, w2); - - free(w1); - free(w2); - - return n; -} - -char *strpbrk(const char *str, const char *cs) -{ - wchar_t *wstr, *wcs, *w; - char *s = NULL; - - wstr = wce_mbtowc(str); - wcs = wce_mbtowc(cs); - - w = wcspbrk(wstr, wcs); - - if( w!=NULL ) - s = str + (wcs-wstr)/sizeof(wchar_t); - - free(wstr); - free(wcs); - - return s; -} - -#endif diff --git a/wince/sys/stat.c b/wince/sys/stat.c deleted file mode 100644 index 5d51dbf426..0000000000 --- a/wince/sys/stat.c +++ /dev/null @@ -1,102 +0,0 @@ -/*************************************************************** - stat.c - - author : uema2 - date : Nov 30, 2002 - - You can freely use, copy, modify, and redistribute - the whole contents. -***************************************************************/ - -#include -#include -#include -#include "..\wince.h" /* for wce_mbtowc */ - - -int _stat(const char *filename, struct _stat *st) -{ - DWORD dwAttribute; - HANDLE h; - DWORD dwSizeLow=0, dwSizeHigh=0, dwError=0; - WIN32_FIND_DATAW fd; - wchar_t *wfilename; - -// wfilename = wce_mbtowc(filename); - wfilename = wce_replaceRelativeDir(filename); - - dwAttribute = GetFileAttributesW(wfilename); - if(dwAttribute==0xFFFFFFFF) - { - free(wfilename); - return -1; - } - - st->st_mode = 0; - if((dwAttribute & FILE_ATTRIBUTE_DIRECTORY) != 0) - st->st_mode += S_IFDIR; - else - st->st_mode += S_IFREG; - - /* initialize */ - st->st_atime = 0; - st->st_mtime = 0; - st->st_ctime = 0; - st->st_size = 0; - st->st_dev = 0; - - h = FindFirstFileW(wfilename, &fd); - if(h == INVALID_HANDLE_VALUE) - { - if(wfilename[wcslen(wfilename)-1] == L'\\') - { - wfilename[wcslen(wfilename)-1] = L'\0'; - h = FindFirstFileW(wfilename, &fd); - if(h == INVALID_HANDLE_VALUE) - { - free(wfilename); - return 0; - } - } - else - { - free(wfilename); - return 0; - } - } - - /* FILETIME -> time_t */ - st->st_atime = wce_FILETIME2time_t(&fd.ftLastAccessTime); - st->st_mtime = wce_FILETIME2time_t(&fd.ftLastWriteTime); - st->st_ctime = wce_FILETIME2time_t(&fd.ftCreationTime); - st->st_size = fd.nFileSizeLow; - - FindClose( h ); - free(wfilename); - return 0; -} - -int fstat(int file, struct stat *sbuf) -{ - /* GetFileSize & GetFileTime */ - DWORD dwSize; - FILETIME ctime, atime, mtime; - - dwSize = GetFileSize( (HANDLE)file, NULL ); - if( dwSize == 0xFFFFFFFF ) - return -1; - - sbuf->st_size = dwSize; - sbuf->st_dev = 0; - sbuf->st_rdev = 0; - sbuf->st_mode = _S_IFREG; - sbuf->st_nlink= 1; - - GetFileTime( (HANDLE)file, &ctime, &atime, &mtime ); - sbuf->st_ctime = wce_FILETIME2time_t(&ctime); - sbuf->st_atime = wce_FILETIME2time_t(&atime); - sbuf->st_mtime = wce_FILETIME2time_t(&mtime); - - return 0; -} - diff --git a/wince/sys/stat.h b/wince/sys/stat.h deleted file mode 100644 index e3cdf8b8e7..0000000000 --- a/wince/sys/stat.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef SYS_STAT_H -#define SYS_STAT_H 1 - -#include - -#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_IFREG _S_IFREG -#define S_IFCHR _S_IFCHR -#define S_IFDIR _S_IFDIR -#define S_IREAD _S_IREAD -#define S_IWRITE _S_IWRITE -#define S_IEXEC _S_IEXEC - -#ifndef S_ISDIR -#define S_ISDIR(X) (((X) & S_IFMT) == S_IFDIR) -#endif -#ifndef S_ISREG -#define S_ISREG(X) (((X) & S_IFMT) == S_IFREG) -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -// in sys/types.h -//typedef unsigned int _dev_t; -//typedef long _off_t; -//typedef unsigned short _ino_t; - -#ifndef _STAT_DEFINED -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 _STAT_DEFINED -#endif /* _STAT_DEFINED */ - -#define _stat stat - -int _stat(const char *filename, struct _stat *stat); -int fstat(int file, struct stat *sbuf); - - -#ifdef __cplusplus -}; -#endif - - -#endif diff --git a/wince/sys/timeb.c b/wince/sys/timeb.c deleted file mode 100644 index 838ae0798d..0000000000 --- a/wince/sys/timeb.c +++ /dev/null @@ -1,25 +0,0 @@ -/*************************************************************** - timeb.c -***************************************************************/ - -#include -#include -#include - - -int ftime(struct timeb *tp) -{ - SYSTEMTIME s; - FILETIME f; - - GetLocalTime(&s); - SystemTimeToFileTime( &s, &f ); - - tp->dstflag = 0; - tp->timezone = _timezone/60; - tp->time = wce_FILETIME2time_t(&f); - tp->millitm = s.wMilliseconds; - - return 0; -} - diff --git a/wince/sys/timeb.h b/wince/sys/timeb.h deleted file mode 100644 index e051b9058c..0000000000 --- a/wince/sys/timeb.h +++ /dev/null @@ -1,26 +0,0 @@ -#ifndef SYS_TIMEB_H -#define SYS_TIMEB_H 1 - -#include - -struct _timeb { - time_t time; - unsigned short millitm; - short timezone; - short dstflag; -}; - -#define timeb _timeb - -#ifdef __cplusplus -extern "C" { -#endif - -int ftime(struct timeb *tp); - -#ifdef __cplusplus -}; -#endif - - -#endif diff --git a/wince/sys/types.h b/wince/sys/types.h deleted file mode 100644 index 541d5e8361..0000000000 --- a/wince/sys/types.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef SYS_TYPES_H -#define SYS_TYPES_H 1 - -#define BIG_ENDIAN 1234 -#define LITTLE_ENDIAN 4321 - -#ifdef MIPS -#define BYTE_ORDER LITTLE_ENDIAN -#endif - -//#if UNDER_CE > 201 -// typedef unsigned long time_t; -// #define _TIME_T_DEFINED_ -//#endif -typedef unsigned long dev_t; -typedef unsigned long ino_t; -#ifndef _MODE_T_DEFINED_ - typedef unsigned long mode_t; - #define _MODE_T_DEFINED_ -#endif - -typedef long clock_t; - -#ifndef _PTRDIFF_T_DEFINED -typedef long ptrdiff_t; -#define _PTRDIFF_T_DEFINED -#endif - -typedef long off_t; - -//typedef unsigned char u_char; -//typedef unsigned short u_short; - -#ifndef _CADDR_T_DEFINED_ -typedef unsigned char * caddr_t; -#define _CADDR_T_DEFINED_ -#endif - -#ifndef _SIZE_T_DEFINED_ -typedef unsigned int size_t; -#define _SIZE_T_DEFINED_ -#endif - -//typedef unsigned char u_int8_t; - -//typedef short int16_t; -//typedef unsigned short u_int16_t; - -//typedef int int32_t; -//typedef unsigned int u_int32_t; - -//typedef unsigned long u_long; -//typedef unsigned int u_int; - -//#ifndef _TIME_T_DEFINED_ -//typedef unsigned long time_t; -//#define _TIME_T_DEFINED_ -//#endif - -#endif diff --git a/wince/sys/utime.c b/wince/sys/utime.c deleted file mode 100644 index 0139c13828..0000000000 --- a/wince/sys/utime.c +++ /dev/null @@ -1,44 +0,0 @@ -/*************************************************************** - utime.c -***************************************************************/ - -#include -#include -#include "..\wince.h" /* for wce_mbtowc */ - - -#ifdef _WIN32_WCE - #if _WIN32_WCE < 300 - #define Int32x32To64(a, b) ((LONGLONG)((LONG)(a)) * (LONGLONG)((LONG)(b))) -/* #define Int32x32To64(a, b) ((__int64)((LONG)(a)) * (__int64)((LONG)(b))) */ - #endif -#endif - -int utime(const char *f, struct utimbuf *t) -{ - HANDLE h; - FILETIME atime={0}, mtime={0}; - __int64 time64; - BOOL rc; - wchar_t *w; - - w = wce_mbtowc(f); - h = CreateFileW(w, GENERIC_WRITE, - FILE_SHARE_READ|FILE_SHARE_WRITE, - NULL, OPEN_EXISTING, 0, 0); - free(w); - - if( h==INVALID_HANDLE_VALUE ) - return -1; - - time64 = Int32x32To64(t->actime, 10000000) + 116444736000000000; - atime.dwLowDateTime = (DWORD)time64; - atime.dwHighDateTime = (DWORD)(time64 >> 32); - time64 = Int32x32To64(t->modtime, 10000000) + 116444736000000000; - mtime.dwLowDateTime = (DWORD)time64; - mtime.dwHighDateTime = (DWORD)(time64 >> 32); - - rc = SetFileTime(h, NULL, &atime, &mtime); - return rc==TRUE ? 0 : -1; -} - diff --git a/wince/sys/utime.h b/wince/sys/utime.h deleted file mode 100644 index b644f02a61..0000000000 --- a/wince/sys/utime.h +++ /dev/null @@ -1,27 +0,0 @@ -#ifndef SYS_UTIME_H -#define SYS_UTIME_H 1 - -#include - -struct utimbuf -{ - time_t actime; - time_t modtime; -}; - -#define _utimbuf utimbuf - - -#ifdef __cplusplus -extern "C" { -#endif - -int utime(const char *f, struct utimbuf *t); - -#ifdef __cplusplus -}; -#endif - -//#define utime _utime - -#endif diff --git a/wince/time.h b/wince/time.h deleted file mode 100644 index 531b2aacfd..0000000000 --- a/wince/time.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef _TIME_WINCE_H -#define _TIME_WINCE_H 1 - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -extern int daylight; -extern int _timezone, timezone; -extern char *tzname[2]; - -#if 0 -#define _DAY_SEC (24L * 60L * 60L) /* secs in a day */ -#define _YEAR_SEC (365L * _DAY_SEC) /* secs in a year */ -#define _FOUR_YEAR_SEC (1461L * _DAY_SEC) /* secs in a 4 year interval */ -#define _DEC_SEC 315532800L /* secs in 1970-1979 */ -#define _BASE_YEAR 70L /* 1970 is the base year */ -#define _BASE_DOW 4 /* 01-01-70 was a Thursday */ -#define _LEAP_YEAR_ADJUST 17L /* Leap years 1900 - 1970 */ -#define _MAX_YEAR 138L /* 2038 is the max year */ -#endif - -#ifndef _TM_DEFINED -struct 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 -#endif - - -typedef struct { - int yr; // year of interest - int yd; // day of year - long ms; // milli-seconds in the day -} transitionTime; - -time_t mktime(struct tm* pt); -time_t time( time_t *timer ); -struct tm *localtime(const time_t *ptime); -struct tm *gmtime(const time_t *tod); -char* ctime( const time_t *t ); -char* asctime(const struct tm *tptr); -void tzset(); -int clock(void); -time_t wce_FILETIME2time_t(const FILETIME* pf); - - -#ifdef __cplusplus -}; -#endif - -#endif diff --git a/wince/time_wce.c b/wince/time_wce.c deleted file mode 100644 index ed9b3386bd..0000000000 --- a/wince/time_wce.c +++ /dev/null @@ -1,301 +0,0 @@ -/*************************************************************** - time.c - - author : uema2 - date : Nov 30, 2002 - - You can freely use, copy, modify, and redistribute - the whole contents. -***************************************************************/ - -/*#define __SCRATCH_TIMEC_DEBUG__ */ - -#include -#include -#include - -/* globals */ -const __int64 _onesec_in100ns = (__int64)10000000; -int timezone, _timezone, altzone; -int daylight; -char *tzname[2]; - - -/* __int64 <--> FILETIME */ -static __int64 wce_FILETIME2int64(FILETIME f) -{ - __int64 t; - - t = f.dwHighDateTime; - t <<= 32; - t |= f.dwLowDateTime; - return t; -} - -static FILETIME wce_int642FILETIME(__int64 t) -{ - FILETIME f; - - f.dwHighDateTime = (DWORD)((t >> 32) & 0x00000000FFFFFFFF); - f.dwLowDateTime = (DWORD)( t & 0x00000000FFFFFFFF); - return f; -} - -/* FILETIME utility */ -static FILETIME wce_getFILETIMEFromYear(WORD year) -{ - SYSTEMTIME s={0}; - FILETIME f; - - s.wYear = year; - s.wMonth = 1; - s.wDayOfWeek = 1; - s.wDay = 1; - - SystemTimeToFileTime( &s, &f ); - return f; -} - -static time_t wce_getYdayFromSYSTEMTIME(const SYSTEMTIME* s) -{ - __int64 t; - FILETIME f1, f2; - - f1 = wce_getFILETIMEFromYear( s->wYear ); - SystemTimeToFileTime( s, &f2 ); - - t = wce_FILETIME2int64(f2)-wce_FILETIME2int64(f1); - - return (time_t)((t/_onesec_in100ns)/(60*60*24)); -} - -/* tm <--> SYSTEMTIME */ -static SYSTEMTIME wce_tm2SYSTEMTIME(struct tm *t) -{ - SYSTEMTIME s; - - s.wYear = t->tm_year + 1900; - s.wMonth = t->tm_mon + 1; - s.wDayOfWeek = t->tm_wday; - s.wDay = t->tm_mday; - s.wHour = t->tm_hour; - s.wMinute = t->tm_min; - s.wSecond = t->tm_sec; - s.wMilliseconds = 0; - - return s; -} - -static struct tm wce_SYSTEMTIME2tm(SYSTEMTIME *s) -{ - struct tm t; - - t.tm_year = s->wYear - 1900; - t.tm_mon = s->wMonth- 1; - t.tm_wday = s->wDayOfWeek; - t.tm_mday = s->wDay; - t.tm_yday = wce_getYdayFromSYSTEMTIME(s); - t.tm_hour = s->wHour; - t.tm_min = s->wMinute; - t.tm_sec = s->wSecond; - t.tm_isdst = 0; - - return t; -} - -/* FILETIME <--> time_t */ -time_t wce_FILETIME2time_t(const FILETIME* f) -{ - FILETIME f1601, f1970; - __int64 t, offset; - - f1601 = wce_getFILETIMEFromYear(1601); - f1970 = wce_getFILETIMEFromYear(1970); - - offset = wce_FILETIME2int64(f1970) - wce_FILETIME2int64(f1601); - - t = wce_FILETIME2int64(*f); - - t -= offset; - return (time_t)(t / _onesec_in100ns); -} - -FILETIME wce_time_t2FILETIME(const time_t t) -{ - FILETIME f, f1970; - __int64 time; - - f1970 = wce_getFILETIMEFromYear(1970); - - time = t; - time *= _onesec_in100ns; - time += wce_FILETIME2int64(f1970); - - f = wce_int642FILETIME(time); - - return f; -} - -/* time.h difinition */ -time_t time( time_t *timer ) -{ - SYSTEMTIME s; - FILETIME f; - - if( timer==NULL ) return 0; - - GetSystemTime( &s ); - - SystemTimeToFileTime( &s, &f ); - - *timer = wce_FILETIME2time_t(&f); - return *timer; -} - -struct tm *localtime( const time_t *timer ) -{ - SYSTEMTIME ss, ls, s; - FILETIME sf, lf, f; - __int64 t, diff; - static struct tm tms; - - GetSystemTime(&ss); - GetLocalTime(&ls); - - SystemTimeToFileTime( &ss, &sf ); - SystemTimeToFileTime( &ls, &lf ); - - diff = wce_FILETIME2int64(sf) - wce_FILETIME2int64(lf); - - f = wce_time_t2FILETIME(*timer); - t = wce_FILETIME2int64(f) - diff; - f = wce_int642FILETIME(t); - - FileTimeToSystemTime( &f, &s ); - - tms = wce_SYSTEMTIME2tm(&s); - - return &tms; -} - -time_t mktime(struct tm* pt) -{ - SYSTEMTIME ss, ls, s; - FILETIME sf, lf, f; - __int64 diff; - - GetSystemTime(&ss); - GetLocalTime(&ls); - SystemTimeToFileTime( &ss, &sf ); - SystemTimeToFileTime( &ls, &lf ); - - diff = (wce_FILETIME2int64(lf)-wce_FILETIME2int64(sf))/_onesec_in100ns; - - s = wce_tm2SYSTEMTIME(pt); - SystemTimeToFileTime( &s, &f ); - return wce_FILETIME2time_t(&f) - (time_t)diff; -} - -struct tm *gmtime(const time_t *t) -{ - FILETIME f; - SYSTEMTIME s; - static struct tm tms; - - f = wce_time_t2FILETIME(*t); - FileTimeToSystemTime(&f, &s); - tms = wce_SYSTEMTIME2tm(&s); - return &tms; -} - -char* ctime( const time_t *t ) -{ - // Wed Jan 02 02:03:55 1980\n\0 - static char buf[30]={0}; - char week[] = "Sun Mon Tue Wed Thr Fri Sat "; - char month[]= "Jan Feb Mar Apl May Jun Jul Aug Sep Oct Nov Dec "; - struct tm tms; - - tms = *localtime(t); - - strncpy( buf, week+tms.tm_wday*4, 4 ); - strncpy( buf+4, month+tms.tm_mon*4, 4 ); - sprintf( buf+8, "%02d ", tms.tm_mday ); - sprintf( buf+11, "%02d:%02d:%02d %d\n", - tms.tm_hour, tms.tm_min, tms.tm_sec, tms.tm_year+1900 ); - return buf; -} - -char *asctime(const struct tm *pt) -{ - static char buf[30]={0}; - char week[] = "Sun Mon Tue Wed Thr Fri Sat "; - char month[]= "Jan Feb Mar Apl May Jun Jul Aug Sep Oct Nov Dec "; - - strncpy( buf, week+pt->tm_wday*4, 4 ); - strncpy( buf+4, month+pt->tm_mon*4, 4 ); - sprintf( buf+8, "%02d ", pt->tm_mday ); - sprintf( buf+11, "%02d:%02d:%02d %d\n", - pt->tm_hour, pt->tm_min, pt->tm_sec, pt->tm_year+1900 ); - return buf; -} - -void tzset() -{ - daylight = 1; - _timezone = 28800; - timezone = 28800; -} - -int clock(void) -{ - return 1; -} - -//--------------------------------------------------------------- -#ifdef __SCRATCH_TIMEC_DEBUG__ - -int main() -{ - time_t t1, t2; - struct tm tm1, tm2; - - time( &t1 ); - tm1 = *localtime(&t1); - t1 = mktime(&tm1); - tm1 = *gmtime(&t1); - - _time( &t2 ); - tm2 = *_localtime(&t2); - t2 = _mktime(&tm2); - tm2 = *_gmtime(&t2); - - // time, mktime - if( t1==t2 ) - OutputDebugString( "ok\n" ); - else - { - static char buf[128]; - wsprintf( buf, "ng : %d, %d\n", t1, t2 ); - OutputDebugString( buf ); - } - - // localtime, gmtime - if( 0==memcmp( &tm1, &tm2, sizeof(struct tm) ) ) - OutputDebugString( "ok\n" ); - else - OutputDebugString( "ng\n" ); - - // ctime - OutputDebugString( ctime(&t1) ); - OutputDebugString( _ctime(&t2) ); - - // asctime - OutputDebugString( asctime(&tm1) ); - OutputDebugString( _asctime(&tm2) ); - - return 0; -} - -#endif - diff --git a/wince/varargs.h b/wince/varargs.h deleted file mode 100644 index 2d1d476ccd..0000000000 --- a/wince/varargs.h +++ /dev/null @@ -1,34 +0,0 @@ - -#ifndef VARARGS_H -#define VARARGS_H 1 - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef _VA_LIST_DEFINED -typedef char *va_list; -#define _VA_LIST_DEFINED -#endif - -//#ifdef MIPS -#define va_alist __va_alist, __va_alist2, __va_alist3, __va_alist4 -#define va_dcl int __va_alist, __va_alist2, __va_alist3, __va_alist4; -#define va_start(list) list = (char *) &__va_alist -#define va_end(list) -#define va_arg(list, mode) ((mode *)(list =\ - (char *) ((((int)list + (__builtin_alignof(mode)<=4?3:7)) &\ - (__builtin_alignof(mode)<=4?-4:-8))+sizeof(mode))))[-1] -#else -#define _INTSIZEOF(n) ( (sizeof(n) + sizeof(int) - 1) & ~(sizeof(int) - 1) ) -#define va_dcl va_list va_alist; -#define va_start(ap) ap = (va_list)&va_alist -#define va_arg(ap,t) ( *(t *)((ap += _INTSIZEOF(t)) - _INTSIZEOF(t)) ) -#define va_end(ap) ap = (va_list)0 -//#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/wince/wince.c b/wince/wince.c deleted file mode 100644 index c1a950c1c1..0000000000 --- a/wince/wince.c +++ /dev/null @@ -1,583 +0,0 @@ -/*************************************************************** - wince.c - - author : uema2 - date : Nov 30, 2002 - - You can freely use, copy, modify, and redistribute - the whole contents. -***************************************************************/ - -#include -#include -#include "wince.h" - -/* global for GetCommandLineA */ -char *_commandLine; - -extern char _currentdir[]; - -/* make up Win32API except wce_* functions. */ - -DWORD GetModuleFileNameA( - HMODULE hModule, LPSTR lpFileName, - DWORD size ) -{ - LPWSTR lpFileNameW; - LPSTR mb; - size_t ret; - - if( size==0 ) return 0; - - lpFileNameW = (LPWSTR)malloc( size*sizeof(wchar_t) ); - ret = GetModuleFileNameW( hModule, lpFileNameW, size ); - mb = wce_wctomb(lpFileNameW); - strcpy(lpFileName, mb); - free(mb); - free(lpFileNameW); - - return ret; -} - -#if _WIN32_WCE < 300 -FARPROC GetProcAddressA(HMODULE hModule, LPCSTR lpProcName) -{ - FARPROC p; - LPWSTR lpwProcName; - - lpwProcName = wce_mbtowc( lpProcName ); - p = GetProcAddressW( hModule, lpwProcName ); - free( lpwProcName ); - return p; -} -#endif - -char * GetCommandLineA(void) -{ - return _commandLine; -} - -/* this is not Win32API. GetCommandLineA helper. */ -void wce_SetCommandLine(LPCWSTR wcmd) -{ - char* acmd; - - acmd = wce_wctomb( wcmd ); - _commandLine = (char*)malloc( strlen(acmd)+5 ); - sprintf( _commandLine, "ruby %s", acmd ); - free(acmd); -} - -/* this is not Win32API. GetCommandLineA helper. */ -void wce_FreeCommandLine(void) -{ - free(_commandLine); - _commandLine = NULL; -} - -/* I have no idea how to replace this. */ -BOOL GetProcessTimes(HANDLE hprocess, - LPFILETIME lpCreationTime, LPFILETIME lpExitTime, - LPFILETIME lpKernelTime, LPFILETIME lpUserTime) -{ - return 0; -} - -/* -------------- file attributes functions. ------------------- */ -DWORD GetFileAttributesA(LPCSTR lpFileName) -{ - LPWSTR lpwFileName; - DWORD dw; - - lpwFileName = wce_mbtowc(lpFileName); - dw = GetFileAttributesW(lpwFileName); - free(lpwFileName); - return dw; -} - -BOOL SetFileAttributesA( - LPCSTR lpFileName, DWORD attributes) -{ - LPWSTR lpwFileName; - BOOL b; - - lpwFileName = wce_mbtowc(lpFileName); - b = SetFileAttributesW(lpwFileName, attributes); - free(lpwFileName); - return b; -} - -/* --------------- move and remove functions. ------------------- */ -BOOL MoveFileA(LPCSTR fn1, LPCSTR fn2) -{ - LPWSTR wfn1, wfn2; - BOOL b; - - wfn1 = wce_mbtowc(fn1); - wfn2 = wce_mbtowc(fn2); - b = MoveFileW(wfn1, wfn2); - free(wfn1); - free(wfn2); - return 0; -} - -BOOL MoveFileEx(LPCSTR oldname, LPCSTR newname, DWORD dwFlags) -{ - LPWSTR woldname, wnewname; - BOOL b; - - woldname = wce_mbtowc(oldname); - wnewname = wce_mbtowc(newname); - - if( (dwFlags&MOVEFILE_REPLACE_EXISTING)!=0 ) - DeleteFileW( wnewname ); - - b = MoveFileW( woldname, wnewname ); - - free(woldname); - free(wnewname); - - return b; -} - -BOOL DeleteFileA(LPCSTR path) -{ - LPWSTR wpath; - BOOL b; - - wpath = wce_mbtowc(path); - b = DeleteFileW(wpath); - free(wpath); - return 0; -} - -/* --------------- EnvironmentVariable functions. ----------------- */ -DWORD GetEnvironmentVariable( - LPCSTR name, LPSTR value, DWORD size) -{ - /* use registry instead of "environment valuable". */ - HKEY hk; - LONG lret; - LPBYTE lpData; - DWORD dwType=REG_SZ, cbData; - TCHAR buf[MAX_PATH]={0}; - LPWSTR wname; - LPSTR avalue; - - lret = RegOpenKeyEx( HKEY_LOCAL_MACHINE, - _T("Software\\ruby_mswince"), - 0, KEY_QUERY_VALUE, &hk ); - - if ( lret != ERROR_SUCCESS ) - { - strcpy( value, "" ); - return 0; - } - - lpData = (LPBYTE)buf; - cbData = MAX_PATH*sizeof(*buf); - wname = wce_mbtowc( name ); - - lret = RegQueryValueEx( hk, wname, - NULL, &dwType, lpData, &cbData ); - RegCloseKey( hk ); - - if ( lret != ERROR_SUCCESS ) - { - strcpy( value, "" ); - free( wname ); - return 0; - } - - avalue = wce_wctomb( (LPCTSTR)lpData ); - strcpy( value, avalue ); - free( avalue ); - free( wname ); - - return strlen(value); -} - -BOOL SetEnvironmentVariable(LPCSTR name, LPCSTR value) -{ - /* use registry instead of "environment valuable". */ - HKEY hk; - LONG lret; - LPBYTE lpData; - DWORD ret, dwType=REG_SZ, cbData; - LPWSTR wname, wvalue; - - lret = RegCreateKeyEx( HKEY_LOCAL_MACHINE, - _T("Software\\ruby_mswince"), - 0, _T(""), 0, - 0, NULL, &hk, &ret ); - if( lret != ERROR_SUCCESS ) - return FALSE; - - wname = wce_mbtowc(name); - wvalue = wce_mbtowc(value); - - lpData = (LPBYTE)wvalue; - cbData = (wcslen(wvalue) + 1) * sizeof(*wvalue); - lret = RegSetValueEx( hk, wname, - 0, dwType, lpData, cbData ); - RegCloseKey( hk ); - free(wname); - free(wvalue); - return lret == ERROR_SUCCESS; -} - -LPVOID GetEnvironmentStrings(VOID) -{ - return NULL; -} - -BOOL FreeEnvironmentStrings(LPSTR lpszEnvironmentBlock) -{ - return FALSE; -} - -/* DuplicateHandle, LockFile, etc... */ -/* I have no idea... */ -BOOL GenerateConsoleCtrlEvent(DWORD dwCtrlEvent, - DWORD dwProcessGroupID) -{ - return 0; -} - -BOOL DuplicateHandle( - HANDLE source_process, HANDLE source, - HANDLE dest_process, HANDLE *dest, - DWORD access, BOOL inherit, DWORD options) -{ - return 0; -} - -BOOL LockFile(HANDLE hFile, - DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, - DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh) -{ - return FALSE; -} - -BOOL LockFileEx(HANDLE hFile, - DWORD dwFlags, DWORD dwReserved, - DWORD nNumberOfBytesToLockLow, DWORD nNumberOfBytesToLockHigh, - LPOVERLAPPED lpOverlapped) -{ - return FALSE; -} - -BOOL UnlockFile( HFILE hFile, - DWORD dwFileOffsetLow, DWORD dwFileOffsetHigh, - DWORD nNumberOfBytesToUnlockLow, DWORD nNumberOfBytesToUnlockHigh) -{ - return FALSE; -} - -BOOL UnlockFileEx(HANDLE hFile, - DWORD dwReserved, DWORD nNumberOfBytesToUnlockLow, - DWORD nNumberOfBytesToUnlockHigh, LPOVERLAPPED lpOverlapped) -{ - return FALSE; -} - -/* --------------------- etc, etc, etc... ----------------------- */ -BOOL GetVersionExA(OSVERSIONINFOA *v) -{ - OSVERSIONINFOW wv; - BOOL b; - LPSTR mb; - - b = GetVersionExW(&wv); - mb = wce_wctomb(wv.szCSDVersion); - - strcpy( v->szCSDVersion, mb ); - free(mb); - return b; -} - -DWORD WaitForMultipleObjectsEx(DWORD count, - const HANDLE *handles, BOOL wait_all, - DWORD timeout, BOOL alertable) -{ - return WaitForMultipleObjects( - count, handles, wait_all, - timeout ); -} - -BOOL CreateProcessA(LPCSTR appname, LPCSTR commandline, - LPSECURITY_ATTRIBUTES att, LPSECURITY_ATTRIBUTES threadatt, - BOOL bOpt, DWORD dwFlag, LPVOID lpEnv, LPSTR dir, - LPSTARTUPINFO lpsi, LPPROCESS_INFORMATION lppi) -{ - LPWSTR wappname, wcommandline, wdir; - BOOL b; - - wappname = wce_mbtowc(appname); - wcommandline = wce_mbtowc(commandline); - wdir = wce_mbtowc(dir); - - b = CreateProcessW(wappname, wcommandline, - att, threadatt, bOpt, dwFlag, lpEnv, - wdir, lpsi, lppi); - - free(wappname); - free(wcommandline); - free(wdir); - - return b; -} - -HANDLE CreateEventA(SECURITY_ATTRIBUTES *sa, - BOOL manual_reset, BOOL initial_state, LPCSTR name) -{ - HANDLE h; - LPWSTR wname; - - wname = wce_mbtowc(name); - h = CreateEventW(sa, manual_reset, - initial_state, wname); - free(wname); - - return h; -} - -DWORD FormatMessageA(DWORD dwFlags, LPCVOID lpSource, - DWORD dwMessageId, DWORD dwLanguageId, LPSTR lpBuffer, - DWORD nSize, va_list* args) -{ - DWORD dw; - LPWSTR lpWBuffer; - - lpWBuffer = wce_mbtowc(lpBuffer); - dw = FormatMessageW( dwFlags, lpSource, - dwMessageId, dwLanguageId, - lpWBuffer, nSize, (va_list*)args ); - free(lpWBuffer); - return dw; -} - -/*---------------- FindFirstFile, FindNextFile ------------------ */ -HANDLE FindFirstFileA(LPCSTR path, - WIN32_FIND_DATAA *data) -{ - LPWSTR wpath; - LPSTR mb; - HANDLE h; - WIN32_FIND_DATAW wdata; - - wpath = wce_mbtowc(path); - h = FindFirstFileW( wpath, &wdata ); - free(wpath); - - mb = wce_wctomb( wdata.cFileName ); - strcpy( data->cFileName, mb ); - free(mb); - - return h; -} - -BOOL FindNextFileA(HANDLE handle, - WIN32_FIND_DATAA *data) -{ - BOOL b; - WIN32_FIND_DATAW wdata; - LPSTR mb1; - - b = FindNextFileW(handle, &wdata); - - mb1 = wce_wctomb( wdata.cFileName ); - strcpy( data->cFileName, mb1 ); - free(mb1); - - return b; -} - -/* CreateFile doesn't support SECURITY_ATTRIBUTES in WinCE. */ -/* it must be NULL. */ -HANDLE CreateFileA(LPCSTR filename, DWORD access, - DWORD sharing, LPSECURITY_ATTRIBUTES sa, - DWORD creation, DWORD attributes, HANDLE template) -{ - LPWSTR wfilename; - HANDLE h; - - wfilename = wce_mbtowc(filename); - h = CreateFileW(wfilename, access, sharing, - NULL, creation, 0, NULL); - free(wfilename); - - return 0; -} - -/* ---------------- CharNext, CharPrev. ---------------------*/ -LPSTR CharNextA(LPCSTR a) -{ - char *p=(char *)a; - if( TRUE==IsDBCSLeadByteEx(CP_ACP, (BYTE)*a) ) - p+=2; - else - p++; - - return p; -} - -LPSTR CharPrevA(LPCSTR start, LPCSTR ptr) -{ - if( start==ptr ) return (LPSTR)start; - else if( start+1==ptr ) return (LPSTR)start; - else if( TRUE==IsDBCSLeadByteEx(CP_ACP, (BYTE)*(ptr-2)) ) - return (LPSTR)(ptr-2); - else - return (LPSTR)(ptr-1); -} - -/* WinCE doesn't have "drives". */ -DWORD GetLogicalDrives(VOID) -{ - return 0; -} - -/* WinCE doesn't have "user name". */ -BOOL GetUserName(LPSTR lpBuffer, LPDWORD nSize) -{ - return 0; -} - -/*------------------- LoadLibrary -----------------------*/ -HINSTANCE LoadLibraryA(LPCSTR libname) -{ - HINSTANCE h; - LPWSTR wlibname; - - // if starts ".\", replace current directory. -// wlibname = wce_replaceRelativeDir(libname); - - wlibname = wce_mbtowc(libname); - h = LoadLibraryW(wlibname); - free(wlibname); - return h; -} - -HINSTANCE LoadLibraryExA(LPCSTR lpLibFileName, HANDLE hFile, - DWORD dwFlags) -{ - HINSTANCE h; - LPWSTR wlibname; - - wlibname = wce_mbtowc(lpLibFileName); -// wlibname = wce_replaceRelativeDir(lpLibFileName); - -#if _WIN32_WCE < 300 - h = LoadLibraryW(wlibname); -#else - h = LoadLibraryExW(wlibname, hFile, dwFlags); -#endif - free(wlibname); - return h; -} - -/* WinCE doesn't have "CreatePipe". */ -BOOL CreatePipe(PHANDLE hReadPipe, PHANDLE hWritePipe, - LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize) -{ - return FALSE; -} - -/* WinCE doesn't have "Standard Devices". */ -HANDLE GetStdHandle(DWORD nStdHandle) -{ - return NULL; -} - -BOOL SetStdHandle(DWORD nStdHandle, HANDLE h) -{ - return FALSE; -} - -#if _WIN32_WCE < 300 -VOID ZeroMemory(PVOID p, DWORD length) -{ - memset(p,0,length); -} -#endif - - -/* need in ruby/io.c. */ -int ReadDataPending() -{ - return 0; -} - -/*---------------- helper functions. ---------------------------- */ -FILE *wce_fopen( const char *fname, const char *mode ) -{ - TCHAR* tfname = wce_replaceRelativeDir(fname); - TCHAR* tmode = wce_mbtowc(mode); - FILE* fp = _tfopen(tfname, tmode); - free(tfname); free(tmode); - return fp; -} - -void wce_SetCurrentDir() -{ - WCHAR tbuf[MAX_PATH+1]={0}; - WCHAR *tp; - char *buf; - - GetModuleFileNameW( NULL, tbuf, MAX_PATH ); - tp = _tcsrchr( tbuf, '\\' ); - if( tp!=NULL ) *tp=_T('\0'); - buf = wce_wctomb(tbuf); - strcpy( _currentdir, buf ); - free(buf); -} - -TCHAR *wce_replaceRelativeDir(const char* str) -{ - TCHAR *tbuf; - - if( 2<=strlen(str) && str[0]=='.' && - (str[1]=='/' || str[1]=='\\') ) - { - char *buf; - int len = strlen(str) + strlen(_currentdir); - buf = malloc( len+1 ); - sprintf(buf, "%s%s", _currentdir, &str[1]); - tbuf = wce_mbtowc(buf); - free(buf); - } - else - tbuf = wce_mbtowc(str); - return tbuf; -} - -/* char -> wchar_t */ -wchar_t* wce_mbtowc(const char* a) -{ - int length; - wchar_t *wbuf; - - length = MultiByteToWideChar(CP_ACP, 0, - a, -1, NULL, 0); - wbuf = (wchar_t*)malloc( (length+1)*sizeof(wchar_t) ); - MultiByteToWideChar(CP_ACP, 0, - a, -1, wbuf, length); - - return wbuf; -} - -/* wchar_t -> char */ -char* wce_wctomb(const wchar_t* w) -{ - DWORD charlength; - char* pChar; - - charlength = WideCharToMultiByte(CP_ACP, 0, w, - -1, NULL, 0, NULL, NULL); - pChar = (char*)malloc(charlength+1); - WideCharToMultiByte(CP_ACP, 0, w, - -1, pChar, charlength, NULL, NULL); - - return pChar; -} diff --git a/wince/wince.h b/wince/wince.h deleted file mode 100644 index 7a562f702a..0000000000 --- a/wince/wince.h +++ /dev/null @@ -1,191 +0,0 @@ - -#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. */ - -#undef GetCommandLine -#define GetCommandLine GetCommandLineA - -#undef SetFileAttributes -#define SetFileAttributes SetFileAttributesA - -#undef GetFileAttributes -#define GetFileAttributes GetFileAttributesA - -#undef FormatMessage -#define FormatMessage FormatMessageA - -#undef GetModuleFileName -#define GetModuleFileName GetModuleFileNameA - -#undef CreateFile -#define CreateFile CreateFileA - -#undef MoveFile -#define MoveFile MoveFileA - -#undef DeleteFile -#define DeleteFile DeleteFileA - -#undef CreateProcess -#define CreateProcess CreateProcessA - -#undef CharNext -#define CharNext CharNextA - -#undef CharPrev -#define CharPrev CharPrevA - -#undef WIN32_FIND_DATA -#define WIN32_FIND_DATA WIN32_FIND_DATAA - -#undef FindFirstFile -#define FindFirstFile FindFirstFileA - -#undef FindNextFile -#define FindNextFile FindNextFileA - -/* 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 -#define stricmp _stricmp - -/* for win32.c */ -FARPROC GetProcAddressX(HMODULE hModule, LPCSTR lpProcName); - -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); -TCHAR *wce_replaceRelativeDir(const char* str); -void wce_SetCurrentDir(); - -#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_ */ diff --git a/wince/wincemain.c b/wince/wincemain.c deleted file mode 100644 index 5122b57d02..0000000000 --- a/wince/wincemain.c +++ /dev/null @@ -1,18 +0,0 @@ -#include -#include -#include "wince.h" - -extern int main(int, char**); - - -int WINAPI -WinMain(HINSTANCE current, HINSTANCE prev, LPWSTR wcmd, int showcmd) -{ - /* wchar_t -> char */ - wce_SetCommandLine(wcmd); - - wce_SetCurrentDir(); - - /* main. */ - return main(0, NULL); -} diff --git a/wince/wincon.h b/wince/wincon.h deleted file mode 100644 index ea50c6ebc6..0000000000 --- a/wince/wincon.h +++ /dev/null @@ -1,7 +0,0 @@ - -#ifndef _WINCON_H_ -#define _WINCON_H_ - -#define CTRL_C_EVENT 0 - -#endif diff --git a/wince/winsock2.c b/wince/winsock2.c deleted file mode 100644 index 9b2a5be600..0000000000 --- a/wince/winsock2.c +++ /dev/null @@ -1,338 +0,0 @@ -/*************************************************************** - winsock2.c -***************************************************************/ - -//#define _WINSOCK2_C_DEBUG_MAIN_ - -#include -#include "wince.h" -#ifdef _WINSOCK2_C_DEBUG_MAIN_ - #include -#endif - -#ifndef _WINSOCK2_C_DEBUG_MAIN_ -struct servent{ - char* s_name; /* official service name */ - char** s_aliases; /* alias list */ - short s_port; /* port # */ - char* s_proto; /* protocol to use */ -}; -struct protoent{ - char* p_name; /* official protocol name */ - char** p_aliases; /* alias list */ - short p_proto; /* protocol # */ -}; -#endif - -struct sproto{ - short num; - char name[10]; -}; -struct sserv{ - short num; - char protoname[10]; - char servname[20]; -}; - -static struct sproto _proto_table[11]={ - 0, "ip", - 1, "icmp", - 3, "ggp", - 6, "tcp", - 8, "egp", - 12, "pup", - 17, "udp", - 20, "hmp", - 22, "xns-idp", - 27, "rdp", - 66, "rvd", -}; - -static struct sserv _serv_table[142]={ - 7, "tcp", "echo", - 7, "udp", "echo", - 9, "tcp", "discard", - 9, "udp", "discard", - 11, "tcp", "systat", - 11, "udp", "systat", - 13, "tcp", "daytime", - 13, "udp", "daytime", - 15, "tcp", "netstat", - 17, "tcp", "qotd", - 17, "udp", "qotd", - 19, "tcp", "chargen", - 19, "udp", "chargen", - 20, "tcp", "ftp-data", - 21, "tcp", "ftp", - 23, "tcp", "telnet", - 25, "tcp", "smtp", - 37, "tcp", "time", - 37, "udp", "time", - 39, "udp", "rlp", - 42, "tcp", "name", - 42, "udp", "name", - 43, "tcp", "whois", - 53, "tcp", "domain", - 53, "udp", "domain", - 53, "tcp", "nameserver", - 53, "udp", "nameserver", - 57, "tcp", "mtp", - 67, "udp", "bootp", - 69, "udp", "tftp", - 77, "tcp", "rje", - 79, "tcp", "finger", - 87, "tcp", "link", - 95, "tcp", "supdup", - 101, "tcp", "hostnames", - 102, "tcp", "iso-tsap", - 103, "tcp", "dictionary", - 103, "tcp", "x400", - 104, "tcp", "x400-snd", - 105, "tcp", "csnet-ns", - 109, "tcp", "pop", - 109, "tcp", "pop2", - 110, "tcp", "pop3", - 111, "tcp", "portmap", - 111, "udp", "portmap", - 111, "tcp", "sunrpc", - 111, "udp", "sunrpc", - 113, "tcp", "auth", - 115, "tcp", "sftp", - 117, "tcp", "path", - 117, "tcp", "uucp-path", - 119, "tcp", "nntp", - 123, "udp", "ntp", - 137, "udp", "nbname", - 138, "udp", "nbdatagram", - 139, "tcp", "nbsession", - 144, "tcp", "NeWS", - 153, "tcp", "sgmp", - 158, "tcp", "tcprepo", - 161, "tcp", "snmp", - 162, "tcp", "snmp-trap", - 170, "tcp", "print-srv", - 175, "tcp", "vmnet", - 315, "udp", "load", - 400, "tcp", "vmnet0", - 500, "udp", "sytek", - 512, "udp", "biff", - 512, "tcp", "exec", - 513, "tcp", "login", - 513, "udp", "who", - 514, "tcp", "shell", - 514, "udp", "syslog", - 515, "tcp", "printer", - 517, "udp", "talk", - 518, "udp", "ntalk", - 520, "tcp", "efs", - 520, "udp", "route", - 525, "udp", "timed", - 526, "tcp", "tempo", - 530, "tcp", "courier", - 531, "tcp", "conference", - 531, "udp", "rvd-control", - 532, "tcp", "netnews", - 533, "udp", "netwall", - 540, "tcp", "uucp", - 543, "tcp", "klogin", - 544, "tcp", "kshell", - 550, "udp", "new-rwho", - 556, "tcp", "remotefs", - 560, "udp", "rmonitor", - 561, "udp", "monitor", - 600, "tcp", "garcon", - 601, "tcp", "maitrd", - 602, "tcp", "busboy", - 700, "udp", "acctmaster", - 701, "udp", "acctslave", - 702, "udp", "acct", - 703, "udp", "acctlogin", - 704, "udp", "acctprinter", - 704, "udp", "elcsd", - 705, "udp", "acctinfo", - 706, "udp", "acctslave2", - 707, "udp", "acctdisk", - 750, "tcp", "kerberos", - 750, "udp", "kerberos", - 751, "tcp", "kerberos_master", - 751, "udp", "kerberos_master", - 752, "udp", "passwd_server", - 753, "udp", "userreg_server", - 754, "tcp", "krb_prop", - 888, "tcp", "erlogin", - 1109, "tcp", "kpop", - 1167, "udp", "phone", - 1524, "tcp", "ingreslock", - 1666, "udp", "maze", - 2049, "udp", "nfs", - 2053, "tcp", "knetd", - 2105, "tcp", "eklogin", - 5555, "tcp", "rmt", - 5556, "tcp", "mtb", - 9535, "tcp", "man", - 9536, "tcp", "w", - 9537, "tcp", "mantst", - 10000, "tcp", "bnews", - 10000, "udp", "rscs0", - 10001, "tcp", "queue", - 10001, "udp", "rscs1", - 10002, "tcp", "poker", - 10002, "udp", "rscs2", - 10003, "tcp", "gateway", - 10003, "udp", "rscs3", - 10004, "tcp", "remp", - 10004, "udp", "rscs4", - 10005, "udp", "rscs5", - 10006, "udp", "rscs6", - 10007, "udp", "rscs7", - 10008, "udp", "rscs8", - 10009, "udp", "rscs9", - 10010, "udp", "rscsa", - 10011, "udp", "rscsb", - 10012, "tcp", "qmaster", - 10012, "udp", "qmaster", -}; - -/* WinCE doesn't have /etc/protocols. */ -struct protoent* getprotobyname(const char* name) -{ - static struct protoent pe; - int i; - int len = strlen(name); - - memset( &pe, 0, sizeof(struct protoent) ); - - for(i=0; i<9; i++) - { - if( 0==strnicmp(_proto_table[i].name, name, len) ) - { - pe.p_name = _proto_table[i].name; - pe.p_proto= _proto_table[i].num; - break; - } - } - - return &pe; -} - -struct protoent* getprotobynumber(int proto) -{ - static struct protoent pe={0}; - int i; - - memset( &pe, 0, sizeof(struct protoent) ); - - for(i=0; i<9; i++) - { - if( proto == _proto_table[i].num ) - { - pe.p_name = _proto_table[i].name; - pe.p_proto= _proto_table[i].num; - break; - } - } - - return &pe; -} - -/* WinCE doesn't have /etc/services. */ -struct servent* getservbyname(const char* name, - const char* proto) -{ - static struct servent se; - int i; - int slen = strlen(name), plen = strlen(proto); - - memset( &se, 0, sizeof(struct servent) ); - - if( proto==NULL ) return NULL; - if( 0!=strnicmp( proto, "tcp", 3 ) && - 0!=strnicmp( proto, "udp", 3 ) ) - return NULL; - - for( i=0; i<142; i++ ) - { - if( 0==strnicmp( name, _serv_table[i].servname, slen ) && - 0==strnicmp( proto, _serv_table[i].protoname, plen ) ) - { - char hc, lc; - se.s_name = _serv_table[i].servname; - se.s_proto= _serv_table[i].protoname; - hc = (_serv_table[i].num&0xFF00)>>8; - lc = _serv_table[i].num&0xFF; - se.s_port = (lc<<8) + hc; - break; - } - } - - return &se; -} - -struct servent* getservbyport(int port, const char* proto) -{ - static struct servent se; - int i; - int plen = strlen(proto); - short sport; - char lc, hc; - - hc = (port&0xFF00)>>8; - lc = port&0xFF; - - sport = (lc<<8) + hc; - - memset( &se, 0, sizeof(struct servent) ); - - if( proto==NULL ) return NULL; - if( 0!=strnicmp( proto, "tcp", 3 ) && - 0!=strnicmp( proto, "udp", 3 ) ) - return NULL; - - for( i=0; i<142; i++ ) - { - if( sport == _serv_table[i].num && - 0==strnicmp( proto, _serv_table[i].protoname, plen ) ) - { - se.s_name = _serv_table[i].servname; - se.s_proto= _serv_table[i].protoname; - se.s_port = port; - break; - } - } - - return &se; -} - - -#ifdef _WINSOCK2_C_DEBUG_MAIN_ - -int main() -{ - WORD wVersionRequested = MAKEWORD(1,1); - WSADATA wsaData; - int nErrorStatus; - struct protoent pe1, pe2; - struct servent se1, se2; - - nErrorStatus = WSAStartup(wVersionRequested, &wsaData); - if(nErrorStatus != 0) - return -1; - - pe1 = *getprotobyname("UDP"); - pe2 = *_getprotobyname("UDP"); - -// pe1 = *getprotobynumber(17); -// pe2 = *_getprotobynumber(17); - -// se1 = *getservbyname("gateway", "tcp"); -// se2 = *_getservbyname("gateway", "tcp"); - - se1 = *getservbyport(0x1327, "tcp"); - se2 = *_getservbyport(0x1327, "tcp"); - - WSACleanup(); - - return 0; -} - -#endif -- cgit v1.2.3