summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog26
-rw-r--r--dln.c9
-rw-r--r--eval.c2
-rw-r--r--ext/tk/extconf.rb2
-rw-r--r--include/ruby/defines.h2
-rw-r--r--include/ruby/win32.h9
-rw-r--r--lib/fileutils.rb4
-rw-r--r--ruby.c4
-rw-r--r--strftime.c2
-rw-r--r--test/fileutils/test_fileutils.rb2
-rw-r--r--win32/Makefile.sub35
-rw-r--r--win32/win32.c26
-rw-r--r--wince/Makefile.sub47
-rw-r--r--wince/README.wince122
-rw-r--r--wince/assert.c11
-rw-r--r--wince/assert.h6
-rwxr-xr-xwince/configure.bat109
-rw-r--r--wince/direct.c54
-rw-r--r--wince/direct.h22
-rw-r--r--wince/errno.c11
-rw-r--r--wince/errno.h55
-rw-r--r--wince/fcntl.h42
-rw-r--r--wince/io.h76
-rw-r--r--wince/io_wce.c230
-rw-r--r--wince/process.h46
-rw-r--r--wince/process_wce.c47
-rw-r--r--wince/setup.mak254
-rw-r--r--wince/signal.h71
-rw-r--r--wince/signal_wce.c26
-rw-r--r--wince/stddef.h5
-rw-r--r--wince/stdio.c36
-rw-r--r--wince/stdlib.c57
-rw-r--r--wince/string_wce.c89
-rw-r--r--wince/sys/stat.c102
-rw-r--r--wince/sys/stat.h68
-rw-r--r--wince/sys/timeb.c25
-rw-r--r--wince/sys/timeb.h26
-rw-r--r--wince/sys/types.h60
-rw-r--r--wince/sys/utime.c44
-rw-r--r--wince/sys/utime.h27
-rw-r--r--wince/time.h63
-rw-r--r--wince/time_wce.c301
-rw-r--r--wince/varargs.h34
-rw-r--r--wince/wince.c583
-rw-r--r--wince/wince.h191
-rw-r--r--wince/wincemain.c18
-rw-r--r--wince/wincon.h7
-rw-r--r--wince/winsock2.c338
48 files changed, 38 insertions, 3388 deletions
diff --git a/ChangeLog b/ChangeLog
index 0d5ecf04b8d..29ed78cf981 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+Sat Oct 4 22:44:23 2008 Yuki Sonoda (Yugui) <yugui@yugui.jp>
+
+ * 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.
+
Sat Oct 4 22:35:06 2008 Yuki Sonoda (Yugui) <yugui@yugui.jp>
* dln.c: Ruby no longer supports MacOS 9 or before.
diff --git a/dln.c b/dln.c
index 04cd0612fb7..dae0aa9c133 100644
--- a/dln.c
+++ b/dln.c
@@ -1105,15 +1105,6 @@ dln_sym(const char *name)
#include <windows.h>
#endif
-#ifdef _WIN32_WCE
-#undef FormatMessage
-#define FormatMessage FormatMessageA
-#undef LoadLibrary
-#define LoadLibrary LoadLibraryA
-#undef GetProcAddress
-#define GetProcAddress GetProcAddressA
-#endif
-
static const char *
dln_strerror(void)
{
diff --git a/eval.c b/eval.c
index fcd295e6b6a..b92c6194e19 100644
--- a/eval.c
+++ b/eval.c
@@ -31,8 +31,6 @@ VALUE rb_eSysStackError;
#if defined(__APPLE__)
#define environ (*_NSGetEnviron())
-#elif !defined(_WIN32) && defined(_WIN32_WCE)
-extern char **environ;
#endif
char **rb_origenviron;
diff --git a/ext/tk/extconf.rb b/ext/tk/extconf.rb
index be3781251ec..a0e964a5f96 100644
--- a/ext/tk/extconf.rb
+++ b/ext/tk/extconf.rb
@@ -2,7 +2,7 @@
require 'mkmf'
-is_win32 = (/mswin|mingw|cygwin|bccwin|wince/ =~ RUBY_PLATFORM)
+is_win32 = (/mswin|mingw|cygwin|bccwin/ =~ RUBY_PLATFORM)
#is_macosx = (/darwin/ =~ RUBY_PLATFORM)
have_func("ruby_native_thread_p", "ruby.h")
diff --git a/include/ruby/defines.h b/include/ruby/defines.h
index 6a171d62313..f810d3cb602 100644
--- a/include/ruby/defines.h
+++ b/include/ruby/defines.h
@@ -105,10 +105,8 @@ void xfree(void*);
#if defined(_WIN32) || defined(__EMX__)
#define DOSISH 1
-#ifndef _WIN32_WCE
# define DOSISH_DRIVE_LETTER
#endif
-#endif
#if defined(__NeXT__) || defined(__APPLE__)
/* Do not trust WORDS_BIGENDIAN from configure since -arch compiler flag may
diff --git a/include/ruby/win32.h b/include/ruby/win32.h
index 19e5030d92c..bd4d66493b3 100644
--- a/include/ruby/win32.h
+++ b/include/ruby/win32.h
@@ -33,11 +33,6 @@ extern "C" {
#define NT 1 /* deprecated */
-#ifdef _WIN32_WCE
-#undef CharNext
-#define CharNext CharNextA
-#endif
-
//
// We're not using Microsoft's "extensions" to C for
// Structured Exception Handling (SEH) so we can nuke these
@@ -164,7 +159,7 @@ extern DWORD rb_w32_osid(void);
#undef execv
#define execv(path,argv) rb_w32_aspawn(P_OVERLAY,path,argv)
-#if !defined(__BORLANDC__) && !defined(_WIN32_WCE)
+#if !defined(__BORLANDC__)
#undef isatty
#define isatty(h) rb_w32_isatty(h)
#endif
@@ -265,7 +260,7 @@ extern int kill(int, int);
extern int fcntl(int, int, ...);
extern rb_pid_t rb_w32_getpid(void);
extern rb_pid_t rb_w32_getppid(void);
-#if !defined(__BORLANDC__) && !defined(_WIN32_WCE)
+#if !defined(__BORLANDC__)
extern int rb_w32_isatty(int);
#endif
extern int rb_w32_mkdir(const char *, int);
diff --git a/lib/fileutils.rb b/lib/fileutils.rb
index 1cdc7cff73b..56fb19beb2b 100644
--- a/lib/fileutils.rb
+++ b/lib/fileutils.rb
@@ -524,7 +524,7 @@ module FileUtils
OPT_TABLE['move'] = [:force, :noop, :verbose, :secure]
def rename_cannot_overwrite_file? #:nodoc:
- /cygwin|mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM
+ /cygwin|mswin|mingw|bccwin|emx/ =~ RUBY_PLATFORM
end
private_module_function :rename_cannot_overwrite_file?
@@ -1041,7 +1041,7 @@ module FileUtils
private
def fu_windows?
- /mswin|mingw|bccwin|wince|emx/ =~ RUBY_PLATFORM
+ /mswin|mingw|bccwin|emx/ =~ RUBY_PLATFORM
end
def fu_copy_stream0(src, dest, blksize = nil) #:nodoc:
diff --git a/ruby.c b/ruby.c
index d04d6860f22..28c0f2518a0 100644
--- a/ruby.c
+++ b/ruby.c
@@ -15,10 +15,6 @@
#include <windows.h>
#include <sys/cygwin.h>
#endif
-#ifdef _WIN32_WCE
-#include <winsock.h>
-#include "ruby/wince.h"
-#endif
#include "ruby/ruby.h"
#include "ruby/encoding.h"
#include "eval_intern.h"
diff --git a/strftime.c b/strftime.c
index 1c2dc6ce4a5..b88b9ef4036 100644
--- a/strftime.c
+++ b/strftime.c
@@ -57,7 +57,7 @@
#include <sys/types.h>
#include <errno.h>
#endif
-#if defined(TM_IN_SYS_TIME) || !defined(GAWK) && !defined(_WIN32_WCE)
+#if defined(TM_IN_SYS_TIME) || !defined(GAWK)
#include <sys/types.h>
#if HAVE_SYS_TIME_H
#include <sys/time.h>
diff --git a/test/fileutils/test_fileutils.rb b/test/fileutils/test_fileutils.rb
index 83768805e19..31171933851 100644
--- a/test/fileutils/test_fileutils.rb
+++ b/test/fileutils/test_fileutils.rb
@@ -20,7 +20,7 @@ def have_drive_letter?
end
def have_file_perm?
- /mswin|mingw|bcc|wince|emx/ !~ RUBY_PLATFORM
+ /mswin|mingw|bcc|emx/ !~ RUBY_PLATFORM
end
$fileutils_rb_have_symlink = nil
diff --git a/win32/Makefile.sub b/win32/Makefile.sub
index eb296abce8c..f5465e2c755 100644
--- a/win32/Makefile.sub
+++ b/win32/Makefile.sub
@@ -373,9 +373,7 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub
#define FUNC_FASTCALL(x) __fastcall x
#define RUBY_EXTERN extern __declspec(dllimport)
#define HAVE_DECL_SYS_NERR 1
-!if !defined(WIN32_WCE)
#define HAVE_LIMITS_H 1
-!endif
#define HAVE_FCNTL_H 1
#define HAVE_SYS_UTIME_H 1
#define HAVE_FLOAT_H 1
@@ -409,9 +407,7 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub
!endif
#define GETGROUPS_T int
#define RETSIGTYPE void
-!if !defined(WIN32_WCE)
#define HAVE_ALLOCA 1
-!endif
#define HAVE_DUP2 1
#define HAVE_MEMCMP 1
#define HAVE_MEMMOVE 1
@@ -444,9 +440,7 @@ $(CONFIG_H): $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.sub
#define HAVE_TIMES 1
#define HAVE_FCNTL 1
#define HAVE_LINK 1
-!if !defined(WIN32_WCE)
#define HAVE__SETJMP 1
-!endif
#define HAVE_TELLDIR 1
#define HAVE_SEEKDIR 1
#define HAVE_MKTIME 1
@@ -484,29 +478,6 @@ $(BANG)if "$(RUBY_SO_NAME)"!="$$(RUBY_SO_NAME)" || "$(ARCH)-$(PLATFORM)"!="$$(AR
config.h: nul
$(BANG)endif
#endif
-!if defined(WIN32_WCE)
-#define GC_MALLOC_LIMIT 4000000
-#define stricmp _stricmp
-#define fopen wce_fopen
-#define open _open
-#define read _read
-#define write _write
-#define lseek _lseek
-
-#if _WIN32_WCE < 300
- #define isascii(c) ( (c>=0x00&&c<=0x7f)?1:0 )
- #define isspace(c) ( ((c>=0x09&&c<=0x0d)||c==0x20)?1:0 )
- #define isdigit(c) ( (c>=0x30&&c<=0x39)?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
-!endif
<<
@exit > $(@:/=\)
@@ -529,9 +500,6 @@ config.status: $(MKFILES) $(srcdir)/win32/Makefile.sub $(win_srcdir)/Makefile.su
@exit <<$@
# Generated automatically by Makefile.sub.
s,@SHELL@,$$(COMSPEC),;t t
-!if defined(WIN32_WCE)
-s,@MAIN_DOES_NOTHING@,int WinMain(HINSTANCE h, HINSTANCE hp, LPWSTR s, int n) {return 0;},;t t
-!endif
s,@BUILD_FILE_SEPARATOR@,\,;t t
s,@PATH_SEPARATOR@,;,;t t
s,@CFLAGS@,$(CFLAGS),;t t
@@ -733,9 +701,6 @@ $(RUBY_INSTALL_NAME).rc $(RUBYW_INSTALL_NAME).rc $(RUBY_SO_NAME).rc: $(RBCONFIG)
-ruby_name=$(RUBY_INSTALL_NAME) \
-rubyw_name=$(RUBYW_INSTALL_NAME) \
-so_name=$(RUBY_SO_NAME) \
-!if defined(WIN32_WCE)
- -wce_ver=$(SUBSYSVERSION) \
-!endif
. $(icondirs) $(win_srcdir)
fake.rb: $(MKFILES)
diff --git a/win32/win32.c b/win32/win32.c
index bcf4bd77ea7..b0db5f40b83 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -33,9 +33,6 @@
#endif
#include "ruby/win32.h"
#include "win32/dir.h"
-#ifdef _WIN32_WCE
-#include "wince.h"
-#endif
#ifndef index
#define index(x, y) strchr((x), (y))
#endif
@@ -46,7 +43,7 @@
#undef close
#undef setsockopt
-#if defined __BORLANDC__ || defined _WIN32_WCE
+#if defined __BORLANDC__
# define _filbuf _fgetc
# define _flsbuf _fputc
# define enough_to_get(n) (--(n) >= 0)
@@ -67,11 +64,7 @@
static struct ChildRecord *CreateChild(const char *, const char *, SECURITY_ATTRIBUTES *, HANDLE, HANDLE, HANDLE);
static int has_redirection(const char *);
int rb_w32_wait_events(HANDLE *events, int num, DWORD timeout);
-#if !defined(_WIN32_WCE)
static int rb_w32_open_osfhandle(intptr_t osfhandle, int flags);
-#else
-#define rb_w32_open_osfhandle(osfhandle, flags) _open_osfhandle(osfhandle, flags)
-#endif
#define RUBY_CRITICAL(expr) do { expr; } while (0)
@@ -508,11 +501,6 @@ rb_w32_sysinit(int *argc, char ***argv)
// Initialize Winsock
StartSockets();
-
-#ifdef _WIN32_WCE
- // free commandline buffer
- wce_FreeCommandLine();
-#endif
}
char *
@@ -1698,7 +1686,7 @@ typedef struct {
#define _CRTIMP __declspec(dllimport)
#endif
-#if !defined(__BORLANDC__) && !defined(_WIN32_WCE)
+#if !defined(__BORLANDC__)
EXTERN_C _CRTIMP ioinfo * __pioinfo[];
#define IOINFO_L2E 5
@@ -3759,7 +3747,7 @@ catch_interrupt(void)
RUBY_CRITICAL(rb_w32_wait_events(NULL, 0, 0));
}
-#if defined __BORLANDC__ || defined _WIN32_WCE
+#if defined __BORLANDC__
#undef read
int
read(int fd, void *buf, size_t size)
@@ -3779,15 +3767,13 @@ int
rb_w32_getc(FILE* stream)
{
int c;
-#ifndef _WIN32_WCE
if (enough_to_get(stream->FILE_COUNT)) {
c = (unsigned char)*stream->FILE_READPTR++;
}
else
-#endif
{
c = _filbuf(stream);
-#if defined __BORLANDC__ || defined _WIN32_WCE
+#if defined __BORLANDC__
if ((c == EOF) && (errno == EPIPE)) {
clearerr(stream);
}
@@ -3801,12 +3787,10 @@ rb_w32_getc(FILE* stream)
int
rb_w32_putc(int c, FILE* stream)
{
-#ifndef _WIN32_WCE
if (enough_to_put(stream->FILE_COUNT)) {
c = (unsigned char)(*stream->FILE_READPTR++ = (char)c);
}
else
-#endif
{
c = _flsbuf(c, stream);
catch_interrupt();
@@ -4673,7 +4657,7 @@ rb_w32_unlink(const char *path)
return ret;
}
-#if !defined(__BORLANDC__) && !defined(_WIN32_WCE)
+#if !defined(__BORLANDC__)
int
rb_w32_isatty(int fd)
{
diff --git a/wince/Makefile.sub b/wince/Makefile.sub
deleted file mode 100644
index d8f595a6bff..00000000000
--- 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 b4c8de2e090..00000000000
--- 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=<install_directory>%))'
- 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_directory> install%))'
-
- This command will create following directories and copy (not install :-P)
- files onto them.
- * <install_directory>\bin
- * <install_directory>\lib
- * <install_directory>\lib\ruby
- * <install_directory>\lib\ruby\<MAJOR>.<MINOR>
- * <install_directory>\lib\ruby\<MAJOR>.<MINOR>\<PLATFORM>
- * <install_directory>\lib\ruby\site_ruby
- * <install_directory>\lib\ruby\site_ruby\<MAJOR>.<MINOR>
- * <install_directory>\lib\ruby\site_ruby\<MAJOR>.<MINOR>\<PLATFORM>
- * <install_directory>\man\man1
- If Ruby's version is `x.y.z', the ((|<MAJOR>|)) is `x' and the ((|<MINOR>|)) is `y'.
- In case of `mips-hpc2k-wince', The ((|<PLATFORM>|)) is `(({mips-mswince}))'.
-
-(5) Copy <install_directory> 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.
-
-* ((<URL:http://member.nifty.ne.jp/ueivu/rubyico.html>)) or
- ((<zipped icons|URL:http://member.nifty.ne.jp/ueivu/Ruby_ico.zip>))
-* ((<URL:http://homepage1.nifty.com/a_nakata/ruby/>)) or
- ((<icon itself|URL:http://homepage1.nifty.com/a_nakata/ruby/RubyIcon.ico>))
-
-== 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 0f4be684975..00000000000
--- a/wince/assert.c
+++ /dev/null
@@ -1,11 +0,0 @@
-#include <windows.h>
-#include <tchar.h>
-#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 c2a4e3ebb76..00000000000
--- 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 dadfb2fa830..00000000000
--- 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 bf0d7cd2248..00000000000
--- a/wince/direct.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/***************************************************************
- direct.c
-***************************************************************/
-
-#include <windows.h>
-#include <tchar.h>
-#include <direct.h>
-#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 7c859b9d3b3..00000000000
--- 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 705b25428e6..00000000000
--- a/wince/errno.c
+++ /dev/null
@@ -1,11 +0,0 @@
-/***************************************************************
- errno.c
-***************************************************************/
-
-#include <errno.h>
-
-
-int errno;
-int _doserrno;
-int _sys_nerr;
-
diff --git a/wince/errno.h b/wince/errno.h
deleted file mode 100644
index 2fdd325b326..00000000000
--- 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 5a6bdc71e64..00000000000
--- 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 eb355a49164..00000000000
--- 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 613934aa66d..00000000000
--- 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 <windows.h>
-#include <stdlib.h>
-#include <io.h>
-#include <fcntl.h>
-#include <time.h>
-#include <errno.h>
-#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 2ef72a4ac19..00000000000
--- 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 4415ad024e7..00000000000
--- a/wince/process_wce.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/***************************************************************
- process.c
-***************************************************************/
-
-#include <windows.h>
-#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 96151c7da7e..00000000000
--- 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 95f857dd88e..00000000000
--- a/wince/signal.h
+++ /dev/null
@@ -1,71 +0,0 @@
-#ifndef SIGNAL_H
-#define SIGNAL_H 1
-
-#include <sys/types.h>
-
-#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 95f85e0ac8d..00000000000
--- a/wince/signal_wce.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/***************************************************************
- signal.c
-***************************************************************/
-
-#include <windows.h>
-#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 227725020ee..00000000000
--- 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 877408d417b..00000000000
--- a/wince/stdio.c
+++ /dev/null
@@ -1,36 +0,0 @@
-/***************************************************************
- stdio.c
-***************************************************************/
-
-#include <windows.h>
-#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 d371b12f88e..00000000000
--- a/wince/stdlib.c
+++ /dev/null
@@ -1,57 +0,0 @@
-/***************************************************************
- stdlib.c
-***************************************************************/
-
-#include <windows.h>
-
-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<count; i++ )
- {
- if( *p=='\0' ) break;
- if( IsDBCSLeadByteEx( CP_ACP, *p ) )
- n+=2, p+=2;
- else
- n+=1, p+=1;
- }
-
- return n;
-}
-
-void *bsearch( const void *key, const void *base,
- size_t num, size_t width,
- int ( __cdecl *compare )(const void *, const void *))
-{
- size_t i;
- const void* p = base;
- const char* px;
-
- for( i=0; i<num; i++ )
- {
- if( 0==compare( key, p ) )
- return (void*)p;
- px = (const char*)p; px+=width; p=(const void*)px;
- }
- return NULL;
-}
-
diff --git a/wince/string_wce.c b/wince/string_wce.c
deleted file mode 100644
index 257eee101d6..00000000000
--- a/wince/string_wce.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/***************************************************************
- string.c
-***************************************************************/
-
-#include <windows.h>
-#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 5d51dbf4269..00000000000
--- 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 <windows.h>
-#include <sys/stat.h>
-#include <time.h>
-#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 e3cdf8b8e7e..00000000000
--- a/wince/sys/stat.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef SYS_STAT_H
-#define SYS_STAT_H 1
-
-#include <sys/types.h>
-
-#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 838ae0798d0..00000000000
--- a/wince/sys/timeb.c
+++ /dev/null
@@ -1,25 +0,0 @@
-/***************************************************************
- timeb.c
-***************************************************************/
-
-#include <windows.h>
-#include <time.h>
-#include <sys/timeb.h>
-
-
-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 e051b9058cb..00000000000
--- a/wince/sys/timeb.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef SYS_TIMEB_H
-#define SYS_TIMEB_H 1
-
-#include <sys/types.h>
-
-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 541d5e83612..00000000000
--- 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 0139c138285..00000000000
--- a/wince/sys/utime.c
+++ /dev/null
@@ -1,44 +0,0 @@
-/***************************************************************
- utime.c
-***************************************************************/
-
-#include <windows.h>
-#include <sys/utime.h>
-#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 b644f02a613..00000000000
--- a/wince/sys/utime.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef SYS_UTIME_H
-#define SYS_UTIME_H 1
-
-#include <time.h>
-
-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 531b2aacfde..00000000000
--- a/wince/time.h
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef _TIME_WINCE_H
-#define _TIME_WINCE_H 1
-
-#include <winbase.h>
-#include <sys/types.h>
-
-#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 ed9b3386bdc..00000000000
--- 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 <windows.h>
-#include <tchar.h>
-#include <time.h>
-
-/* 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 2d1d476ccd9..00000000000
--- 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 c1a950c1c16..00000000000
--- 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 <windows.h>
-#include <tchar.h>
-#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 7a562f702af..00000000000
--- 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 5122b57d02e..00000000000
--- a/wince/wincemain.c
+++ /dev/null
@@ -1,18 +0,0 @@
-#include <windows.h>
-#include <stdio.h>
-#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 ea50c6ebc6a..00000000000
--- 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 9b2a5be6005..00000000000
--- a/wince/winsock2.c
+++ /dev/null
@@ -1,338 +0,0 @@
-/***************************************************************
- winsock2.c
-***************************************************************/
-
-//#define _WINSOCK2_C_DEBUG_MAIN_
-
-#include <windows.h>
-#include "wince.h"
-#ifdef _WINSOCK2_C_DEBUG_MAIN_
- #include <winsock.h>
-#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