You can subscribe to this list here.
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(16) |
Aug
(203) |
Sep
(142) |
Oct
(113) |
Nov
(73) |
Dec
(27) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2007 |
Jan
(7) |
Feb
(38) |
Mar
(6) |
Apr
(1) |
May
(9) |
Jun
(104) |
Jul
(6) |
Aug
(11) |
Sep
(13) |
Oct
(6) |
Nov
(15) |
Dec
(37) |
2008 |
Jan
(17) |
Feb
(4) |
Mar
(6) |
Apr
(4) |
May
(2) |
Jun
(5) |
Jul
(1) |
Aug
(3) |
Sep
(21) |
Oct
(7) |
Nov
|
Dec
(3) |
2009 |
Jan
(4) |
Feb
(15) |
Mar
|
Apr
(34) |
May
(44) |
Jun
(12) |
Jul
(6) |
Aug
(15) |
Sep
(20) |
Oct
(10) |
Nov
(1) |
Dec
(20) |
2010 |
Jan
(19) |
Feb
(5) |
Mar
(4) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <dan...@us...> - 2007-11-22 19:51:44
|
Revision: 1077 http://cegcc.svn.sourceforge.net/cegcc/?rev=1077&view=rev Author: dannybackx Date: 2007-11-22 11:51:03 -0800 (Thu, 22 Nov 2007) Log Message: ----------- Add the FAQ Modified Paths: -------------- trunk/cegcc/docs/build-toolchain.html trunk/cegcc/docs/choosing.html trunk/cegcc/docs/debugging.html trunk/cegcc/docs/details.html trunk/cegcc/docs/dll.html trunk/cegcc/docs/index.html trunk/cegcc/docs/install-linux.html trunk/cegcc/docs/layer.html trunk/cegcc/docs/license.html trunk/cegcc/docs/profile.html trunk/cegcc/docs/reporting.html trunk/cegcc/docs/structure.html trunk/cegcc/docs/using.html trunk/cegcc/docs/what.html trunk/cegcc/website/index.html trunk/cegcc/website/software-that-works.html Added Paths: ----------- trunk/cegcc/docs/faq.html Modified: trunk/cegcc/docs/build-toolchain.html =================================================================== --- trunk/cegcc/docs/build-toolchain.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/build-toolchain.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -277,6 +277,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/docs/choosing.html =================================================================== --- trunk/cegcc/docs/choosing.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/choosing.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -74,6 +74,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/docs/debugging.html =================================================================== --- trunk/cegcc/docs/debugging.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/debugging.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -329,6 +329,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/docs/details.html =================================================================== --- trunk/cegcc/docs/details.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/details.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -235,6 +235,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/docs/dll.html =================================================================== --- trunk/cegcc/docs/dll.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/dll.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -56,6 +56,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Added: trunk/cegcc/docs/faq.html =================================================================== --- trunk/cegcc/docs/faq.html (rev 0) +++ trunk/cegcc/docs/faq.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -0,0 +1,872 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> + +<!-- + The CeGCC FAQ + + last update: see the bottom of this file +--> + +<HTML LANG="en"> + +<HEAD> + +<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> + +<TITLE>CeGCC FAQ</TITLE> + +</HEAD> + +<BODY TEXT="#000000" LINK="#000099" VLINK="#660066" BGCOLOR="#FFFFFF" ALINK="#FF0040"> + +<!-- BEGIN OF CONTENT --> + +<H1> +Everything you always wanted to know about CeGCC but were afraid to ask. +</H1> +The author of this FAQ is Jacek M. Holeczek. Thank you Jacek ! + +<HR NOSHADE> + +<H3><A NAME="ToC">Table of Contents</A></H3> + +<OL> + + <!-- QUESTION TEMPLATE BEGIN --- + + <LI><A HREF="#PUT_YOUR_QUESTION_REFERENCE_HERE">PUT_YOUR_QUESTION_HERE</A></LI> + + ---- QUESTION TEMPLATE END --> + +<!-- BEGIN OF QUESTIONS --> + + <LI><A HREF="#WinCE">What are "Windows (Embedded) CE", "Windows Mobile", "Handheld + PC", "Pocket PC", "SmartPhone" and "Portable Media Center"?</A></LI> + + <LI><A HREF="#FileTransfer">How can I transfer files between my PC and my WinCE device?</A></LI> + + <LI><A HREF="#Emulator">Can I debug/test my DLL/EXE entirely on the PC itself (without any risk to make any harm to my WinCE device)?</A></LI> + + <LI><A HREF="#DDD">I hate to use the command-line driven "gdb"! Doesn't there exist any debugger with a graphical front-end?</A></LI> + + <LI><A HREF="#GdbError126Stub">I get "Unable to start remote stub '\gdb\wince-stub.exe'. Windows CE error 126." when I try to debug MyProgram with the "arm-wince-cegcc-gdb".</A></LI> + + <LI><A HREF="#GdbError126User">I get "Error creating process \gdb\MyProgram.exe, (error 126)." when I try to debug MyProgram.</A></LI> + + <LI><A HREF="#GdbMappingError">I get "Error while mapping shared library sections: coredll.dll: No such file or directory." when I try to debug MyProgram.</A></LI> + + <LI><A HREF="#GdbStippedExe">I get "No line number known for MyProcedure", or "(no debugging symbols found)", or "No symbol table is loaded. Use the 'file' command.", when I try to debug MyProgram.</A></LI> + + <LI><A HREF="#GdbDonPedro">I get "/cygdrive/e/pedro/cegcc/0.50/src/mingw/crt3.c: No such file or directory.", or "Function 'main' not defined.", when I try to "list" the source code in the debugger (and who's that mysterious Don Pedro anyhow?).</A></LI> + + <LI><A HREF="#LargeBinaries">Why is my "arm-wince-mingw32ce-g++" compiled DLL/EXE so large?</A></LI> + + <LI><A HREF="#MissingSymbols">The arm-wince-mingw32ce compiler complains about undeclared identifier 'SOME_WIN_CE_IDENTIFIER'.</A></LI> + + <LI><A HREF="#MissingFunctions">The arm-wince-mingw32ce linker complains about undefined reference to 'SomeWinCeFunctionW' (and what's that "W" suffix appended to the function's name?).</A></LI> + + <LI><A HREF="#MissingDLLImports">How can I find/trace any missing "DLL imports"?</A></LI> + <LI><A HREF="#LastErrorC1">I get "GetLastError returns c1" when + I try to use my DLL/EXE.</A></LI> + <LI><A HREF="#BadExeFormat">I get "ERROR_BAD_EXE_FORMAT" when + I try to use my DLL/EXE.</A></LI> + <LI><A HREF="#FileNotWinCEApplication">I get "'MyProgram' is not a + valid Windows CE application" when I try to run MyProgram.</A></LI> + + <LI><A HREF="#More">Need More Informations?</A></LI> + +<!-- END OF QUESTIONS --> + +</OL> + +<HR NOSHADE> + +<OL> + + <!-- ANSWER TEMPLATE BEGIN --- + + <LI> + <STRONG><A NAME="PUT_YOUR_QUESTION_REFERENCE_HERE"> + PUT_YOUR_QUESTION_HERE + </A></STRONG><BR> + <P> + PUT_YOUR_ANSWER_HERE + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + ---- ANSWER TEMPLATE END --> + +<!-- BEGIN OF ANSWERS --> + + <!-- WinCE --> + + <LI> + <STRONG><A NAME="WinCE"> + What are "Windows (Embedded) CE", "Windows Mobile", "Handheld PC", "Pocket PC", + "SmartPhone" and "Portable Media Center"? + </A></STRONG><BR> + <P> + See + <A HREF="http://en.wikipedia.org/">Wikipedia</A> + articles about the + <A HREF="http://en.wikipedia.org/wiki/Windows_CE">Windows CE</A> + and the + <A HREF="http://en.wikipedia.org/wiki/Windows_Mobile">Windows Mobile</A>. + See the + <A HREF="http://www.hpcfactor.com/qlink/?linkID=20">History & Overview of Windows CE</A> + and the + <A HREF="http://www.hpcfactor.com/support/cesd/s/0108.asp">Determining the Windows CE / H/PC version</A> + from the + <A HREF="http://www.hpcfactor.com/support/">HPC:Factor CESD</A>, + the + <A HREF="http://www.pocketpcfaq.com/wce/versions.htm">Windows CE / Windows Mobile Versions</A> + table from the + <A HREF="http://www.pocketpcfaq.com/">Pocket PC FAQ</A>, + and the + <A HREF="http://msdn2.microsoft.com/en-us/windowsmobile/bb264342.aspx">Learn Windows Mobile</A> + from the + <A HREF="http://msdn2.microsoft.com/en-us/windowsmobile/default.aspx">Windows Mobile Developer Center</A>. + In practice, all this means that, different WinCE driven devices come with + different sets of implemented functions in the system provided default + DLLs, and even with partially different sets of system provided default DLLs. + This in turn means that, a utility (or a DLL), which runs on one variation of WinCE, + may refuse to start on another one (even when their kernel versions match), just because + <A HREF="#MissingDLLImports">some required functions are missing in some system DLLs, or even some required system DLLs are missing at all</A>. + <BR>Note also that, while compiling your source code, you may need to +<A HREF="details.html"> +define the "_WIN32_IE" and the "_WIN32_WCE" macros +</A>, +in order to tell the compiler which version of WinCE you're using. + + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- FileTransfer --> + + <LI> + <STRONG><A NAME="FileTransfer"> + How can I transfer files between my PC and my WinCE device? + </A></STRONG><BR> + <P> + Several possibilities exist. +<UL> + +<LI> +If you use PC Windows (x86/x64), you may need to use the + "standard" native tool provided by the system. + WE WILL ALWAYS REFERENCE TO IT AS TO THE + <A HREF="http://en.wikipedia.org/wiki/Activesync">ActiveSync</A> + (USB, Infrared, Serial, Bluetooth, WiFi/LAN/Dial-up TCP/IP - support depends on the version), + while in fact ... + <UL> +<LI> + On Windows XP SP2 and earlier, you need the "real" + <A HREF="http://en.wikipedia.org/wiki/Activesync">ActiveSync</A>. + If you want to connect to a WinCE 6.0 based device, you will definitely need the + <A HREF="http://www.microsoft.com/windowsmobile/activesync/default.mspx">ActiveSync 4.5, or newer</A> + (WinCE 3.0 and newer supported). + On the other hand, starting with this release, Microsoft Office + Outlook 2000 is no longer supported (you need Outlook 2003 or newer). + Hence, if your device is WinCE 5.0 based, you can use the + <A HREF="http://www.microsoft.com/downloads/details.aspx?FamilyID=7269173a-28bf-4cac-a682-58d3233efb4c&DisplayLang=en">ActiveSync 4.2</A> + (WinCE 3.0 and newer supported, see also + <A HREF="http://www.hpcfactor.com/qlink/?linkID=8#Download">here</A>). + For yet older WinCE based devices, try the + <A HREF="http://www.hpcfactor.com/qlink/?linkID=7#Download">ActiveSync 3.8</A> + (from WinCE 2.0 to WinCE 4.2.1, maybe also WinCE 5.0). + <BR>Getting this really big s..t working may often be very, if not + "extremely", difficult. + The best idea, which solves all these problems (and many, many, many more), is + to delete PC Windows and install <A HREF="http://en.wikipedia.org/wiki/Linux">Linux</A>. + If you, however, still insist on running PC Windows, some advices are + <A HREF="http://www.pocketpcfaq.com/faqs/t-shootactivesync.htm">here</A>, + <A HREF="http://www.pocketpcfaq.com/wiki/tiki-index.php?page=Unresolved+Activesync+Problems">here</A>, + <A HREF="http://bevhoward.com/ASync.htm">here</A>, + <A HREF="http://blogs.msdn.com/jasonlan/archive/2006/03/22/556946.aspx">here</A>, + <A HREF="http://modernnomads.info/wiki/index.php?page=ActiveSync+4.0+Troubleshooting">here</A>, + <A HREF="http://modernnomads.info/wiki/index.php?page=ActiveSync+3.8+Troubleshooting">here</A>, + <A HREF="http://www.hpcfactor.com/support/cesd/i/S0017.asp">here</A>, + <A HREF=" http://kb.palm.com/SRVS/CGI-BIN/WEBCGI.EXE?New,Kb=PalmSupportKB,ts=Palm_External2001,Case=obj(41820)">here</A>, + <A HREF="http://support.microsoft.com/?scid=915152">here</A>, + and <A HREF="http://www.microsoft.com/windowsmobile/help/activesync/default.mspx">here</A>. + See also the +<A HREF="http://www.hpcfactor.com/support/syncsoft/">Handheld PC Desktop Synchronisation Software</A> + article from the + <A HREF="http://www.hpcfactor.com/support/">HPC:Factor CESD</A>, +and the +<A HREF="http://www.pocketpcfaq.com/wiki/tiki-index.php?page=ActiveSync">Pocket PC ActiveSync FAQ Wiki</A>. +</LI> +<LI> + On Windows Vista (and newer), you need the "new tool" called + <A HREF="http://www.microsoft.com/windowsmobile/devicecenter.mspx">Windows Mobile Device Center</A> + (WinCE 4.2 based devices and newer supported). + Problems? Install <A HREF="http://en.wikipedia.org/wiki/Linux">Linux</A>! Otherwise, see + <A HREF="http://www.pocketpcfaq.com/faqs/wmdc/t-shoot-wmdc.htm">here</A>, + <A HREF="http://modernnomads.info/wiki/index.php?page=Windows+Mobile+Device+Center+Troubleshooting">here</A>, + and <A HREF="http://www.microsoft.com/windowsmobile/devicecenter/troubleshooting.mspx">here</A>. +</LI> +</UL> +Note, on top of these tools, you can also use the +<A HREF="http://www.xs4all.nl/~itsme/projects/xda/tools.html">Xda RAPI Utilities</A>. +</LI> + +<LI> +If you use <A HREF="http://en.wikipedia.org/wiki/Linux">Linux</A> + (or another UNIX like system with USB, Bluetooth, WiFi/LAN), see the +<A HREF="http://www.synce.org/">SynCE</A> + and the + <A HREF="http://en.wikipedia.org/wiki/OpenSync">OpenSync</A> + projects, for example (note: many contemporary distributions come + with such packages built-in, i.e. ready to use). And, if you (accidentally) do not use <A + HREF="http://en.wikipedia.org/wiki/Linux">Linux</A> (yet), think it through! +</LI> + +<LI> +If your WinCE device has any +<A HREF="http://en.wikipedia.org/wiki/Memory_card">flash memory card</A> +reader (SD, CF, ...), you can use these cards. +</LI> + +<LI> +If your WinCE device has any Internet connectivity (Ethernet, Wi-Fi, or Bluetooth), you can use it. +</LI> + +</UL> + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- Emulator --> + + <LI> + <STRONG><A NAME="Emulator"> + Can I debug/test my DLL/EXE entirely on the PC itself (without any risk to make any harm to my WinCE device)? + </A></STRONG><BR> + <P> + +If you use a contemporary PC Windows (x86/x64) system, then you can + use the free +<A HREF="http://www.microsoft.com/downloads/details.aspx?FamilyID=dd567053-f231-4a64-a648-fea5e7061303&DisplayLang=en">Microsoft Device Emulator 2.0 -- Standalone Release</A>. + +<UL> +<LI> +It runs code compiled for ARM processors. In most cases, you can run the same binaries on the emulator as you do on the device. +</LI> +<LI> +You can connect a runnning Device Emulator to a directory on your PC as if the directory were a drive mounted on the Device Emulator. In the file system for the Device Emulator, the connected directory appears at the root level as Storage Card (you can connect the Device Emulator to only one directory, with all its subdirectories, at a time). +</LI> +<LI> +It supports synchronizing with +<A HREF="#FileTransfer">ActiveSync</A>. +This feature allows you to debug applications that are syncing, or be able to use real synchronized data from within the Device Emulator. +Use the Device Emulator Manager (DEM) to start, connect to, and manage Device Emulator instances on your PC. Using the DEM menu commands, you can connect to the emulator, cradle and uncradle it, shut it down, reset it, bring it to the front, clear saved states, refresh images, and perform other tasks. +When a device is cradled, it can communicate using <A HREF="#FileTransfer">ActiveSync</A> (synchronizing contents of email, calendar, application installations, and so on). The Device Emulator by itself has no equivalent functionality and cannot work with <A HREF="#FileTransfer">ActiveSync</A> unless it is cradled. A common scenario is to launch the Device Emulator, cradle it using the DEM, and then establish an <A HREF="#FileTransfer">ActiveSync</A> (set "File -> Connection Settings... -> Allow connections to one of the following: DMA") partnership with it. +</LI> +</UL> + +In order to use it, you just need to: + +<UL> + +<LI> +(well, if you haven't done it yet, then download and install an appropriate, for + your PC Windows system release, version of the free + <A HREF="#FileTransfer">ActiveSync</A> software) +</LI> + <LI> +download and install the free +<A HREF="http://www.microsoft.com/downloads/details.aspx?FamilyID=04d26402-3199-48a3-afa2-2dc0b40a73b6&DisplayLang=en"> +Virtual PC 2007</A>, +</LI> +<LI> +download and install the free +<A HREF="http://www.microsoft.com/downloads/details.aspx?FamilyID=dd567053-f231-4a64-a648-fea5e7061303&DisplayLang=en"> +Microsoft Device Emulator 2.0 -- Standalone Release</A>, +</LI> +<LI> +download and install the free ARM CPU Emulator Images (you need at least one, you can + install as many of them as you like): + <UL> +<LI> + for Windows Mobile 5.0 MSFP (ARM CPU) operating system images, get the free + <A HREF="http://www.microsoft.com/downloads/details.aspx?familyid=C62D54A5-183A-4A1E-A7E2-CC500ED1F19A&displaylang=en"> + efp.msi</A> file (English language version only, both, the "Pocket PC", and the + "SmartPhone" WinCE 5.0 ARM CPU operating system images + are provided; unfortunately, the pure "WinCE 5.0 Core" + image is not provided); do not install the + "V1Emulator.zip" file, you've already installed the + V2 release of the Device Emulator in the previous step, +</LI> +<LI> + for Windows Mobile 6 MSFP (ARM CPU) operating system images, get the free + <A HREF="http://www.microsoft.com/downloads/details.aspx?familyid=38C46AA8-1DD7-426F-A913-4F370A65A582&displaylang=en">Windows Mobile 6 Localized Emulator Images</A> + (versions for many languages are provided, + <A HREF="http://msdn2.microsoft.com/en-us/windowsmobile/bb264342.aspx#Difference"> + "Professional/Classic" and "Standard"</A> + images are provided, the pure "WinCE 6.0 Core" + image is not provided). +</LI> +</UL> + +</UL> + +The installation will create shortcuts on your start menu from where you can launch the various configurations of the Windows Mobile 5.0/6 MSFP (ARM CPU). You will also see a shortcut for the Device Emulator Manager (DEM) using which you can launch any of the installed images. + +<BR>Note again that, you do NOT need any non-free tools (in particular, you do NOT need the +<A HREF="http://en.wikipedia.org/wiki/Visual_studio"> +Microsoft Visual Studio</A>, +for example). +<BR>For the time being, I do not know if this software can be used on +<A HREF="http://en.wikipedia.org/wiki/Linux">Linux</A> +with the <A HREF="http://www.winehq.org/">Wine</A>), sorry. + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- DDD --> + + <LI> + <STRONG><A NAME="DDD"> + I hate to use the command-line driven "gdb"! Doesn't there exist any debugger with a graphical front-end? + </A></STRONG><BR> + <P> + Well, you can use the free + <A HREF="http://www.gnu.org/software/ddd/">GNU Data Display Debugger (DDD)</A>. + It's a graphical front-end for several command-line debuggers, including the + <A HREF="http://www.gnu.org/software/gdb/gdb.html">gdb</A>. + Besides "usual" front-end features, such as viewing source texts, + <A HREF="http://www.gnu.org/software/ddd/">DDD</A> + has become famous through its interactive graphical data display, + where data structures are displayed as graphs. + When invoking + <A HREF="http://www.gnu.org/software/ddd/">DDD</A>, + you simply need to specify the name under which the inferior debugger is to be invoked: + <UL> + <LI> + ddd --debugger "arm-wince-[cegcc/mingw32ce]-gdb" MyProgram.exe + </LI> + </UL> + Note however, from time to time, you will still need to interact with the + <A HREF="http://www.gnu.org/software/gdb/gdb.html">gdb</A>, via its command-line console window + (integrated in <A HREF="http://www.gnu.org/software/ddd/">DDD</A>). + <BR>For more informations see the + <A HREF="http://www.gnu.org/manual/ddd/html_mono/ddd.html">DDD Manual</A>. + <BR>See also <A HREF="#GdbDonPedro">this answer</A>, if you're debugging a GUI application. + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- GdbError126Stub --> + + <LI> + <STRONG><A NAME="GdbError126Stub"> + I get "Unable to start remote stub '\gdb\wince-stub.exe'. Windows CE error 126." when I try to debug MyProgram with the "arm-wince-cegcc-gdb". + </A></STRONG><BR> + <P> + The arm-wince-cegcc compiled binaries (including the "arm-wince-cegcc-stub.exe") require at least the "cegcc.dll" to be present on your WinCE device. + You can <A HREF="#FileTransfer">copy</A> +the "/opt/cegcc/arm-wince-cegcc/lib/device/cegcc.dll" to the "\gdb" subdirectory, or to the "\Windows" subdirectory, or to any subdirectory that is present in the registry subkey "SystemPath", in the "HKEY_LOCAL_MACHINE\Loader" registry entry, on your WinCE device (any change to the "SystemPath" subkey itself does not take effect until the WinCE device is reset). + <BR>You should not get this error when you try to use the "arm-wince-mingw32ce-gdb" (arm-wince-mingw32ce binaries NEVER need the "cegcc.dll", so also the "arm-wince-mingw32ce-stub.exe" does not need it), unless you are trying to debug an arm-wince-cegcc binary (the arm-wince-cegcc generated binary DLL/EXE will need it, of course), but in this case you should switch back to the "arm-wince-cegcc-gdb". + <BR>See <A HREF="dll.html">Beware! need to install CeGCC DLL's first</A>, and + <A HREF="#MissingDLLImports">How can I find/trace any missing "DLL imports"?</A>. + <BR>Note, the magic error "126", hexadecimal "0x7e", known also as "ERROR_MOD_NOT_FOUND" and "The specified module could not be found", is defined in the "winerror.h". + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- GdbError126User --> + + <LI> + <STRONG><A NAME="GdbError126User"> + I get "Error creating process \gdb\MyProgram.exe, (error 126)." when I try to debug MyProgram. + </A></STRONG><BR> + <P> + Your DLL/EXE could not be loaded/started. + This usually means that, one (or more) DLLs, required by your DLL/EXE, are missing on your WinCE device + (or, if all DLLs exist, one or more functions, which your program needs, are missing in some of them). + + You need to <A HREF="#FileTransfer">copy</A> +the required DLLs to the "\gdb" subdirectory, or to the "\Windows" subdirectory, or to any subdirectory that is present in the registry subkey "SystemPath", in the "HKEY_LOCAL_MACHINE\Loader" registry entry, on your WinCE device (any change to the "SystemPath" subkey itself does not take effect until the WinCE device is reset). + + <BR>See <A HREF="dll.html">Beware! need to install CeGCC DLL's first</A>, + <A HREF="#LastErrorC1">I get "GetLastError returns c1" when I try to use my DLL/EXE.</A>, + and + <A HREF="#MissingDLLImports">How can I find/trace any missing "DLL imports"?</A>. + <BR>Note, the magic error "126", hexadecimal "0x7e", known also as "ERROR_MOD_NOT_FOUND" and "The specified module could not be found", is defined in the "winerror.h". + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- GdbMappingError --> + + <LI> + <STRONG><A NAME="GdbMappingError"> + I get "Error while mapping shared library sections: coredll.dll: No such file or directory." when I try to debug MyProgram. + </A></STRONG><BR> + <P> + So what? Does it really bother you THAT much? Haven't you got any more serious problems in your life? + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- GdbStippedExe --> + + <LI> + <STRONG><A NAME="GdbStippedExe"> + I get "No line number known for MyProcedure", or "(no debugging symbols found)", or "No symbol table is loaded. Use the 'file' command.", when I try to debug MyProgram. + </A></STRONG><BR> + <P> + <UL> + <LI> + The error "No line number known for MyProcedure" means that the debugging symbols are not present in your binary DLL/EXE. It seems, you've forgotten to use the "-g" compiler flag (when compiling your source code). + </LI> + <LI> + The errors "(no debugging symbols found)" and "No symbol table is loaded. Use the 'file' command." mean that symbol table and relocation information have been removed from your binary DLL/EXE. Either you've been using the "-s" compiler flag (when compiling your source code), or you've run "arm-wince-[cegcc/mingw32ce]-strip MyProgram.[dll/exe]" later. + </LI> + </UL> + The best idea is to recompile your source code (with "-g" and without "-s" compiler flags), and then try to debug it once again. + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- GdbDonPedro --> + + <LI> + <STRONG><A NAME="GdbDonPedro"> + I get "/cygdrive/e/pedro/cegcc/0.50/src/mingw/crt3.c: No such file or directory.", or "Function 'main' not defined.", when I try to "list" the source code in the debugger (and who's that mysterious Don Pedro anyhow?). + </A></STRONG><BR> + <P> + You get this error message because, the debugger tries to "list" the source code for the "program entry point routine", which it apparently cannot locate in your source code. + <BR>Most probably, you're trying to debug an application which is a WinCE GUI (Graphical User Interface) application. + The normal user's startup routine for such an application is called "WinMain". + However, the "standard" entry point, for C/C++ language programs, is the "main". + So, CeGCC implements a special glue module which automatically defines the "main" function for you, which then calls your "WinMain" routine. + <BR>The solution is simple, just ask the debugger to "list WinMain", and you should immediately see your source code, unless you have forgotten to <A HREF="#GdbStippedExe">provide the debugging symbols</A>. + <BR>Note also that, when you compile a program that has the "main" routine of its own, then the automatic CeGCC "main" module is simply not used. In this case, you should never get such an error message, unless you have forgotten to <A HREF="#GdbStippedExe">provide the debugging symbols</A> (try to "list main"), of course. + <BR>See <A HREF="profile.html#start and terminate">Startup and termination of WinCE programs</A>. + <BR>Last, but not least, that mysterious <A HREF="mailto:ped...@po...">Don Pedro</A> is the one whoem you own a big tribute, for the possiblility to run your CeGCC binary distribution. He's the one who prepared it for you. + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- LargeBinaries --> + + <LI> + <STRONG><A NAME="LargeBinaries"> + Why is my "arm-wince-mingw32ce-g++" compiled DLL/EXE so large? + </A></STRONG><BR> + <P> + First, let me explain, why I am taking about the "arm-wince-mingw32ce-g++" compiler only, and not about the "arm-wince-cegcc-g++". + The reason is simple. The "arm-wince-mingw32ce" target ALWAYS STATICALLY LINKS the +<A HREF="http://en.wikipedia.org/wiki/C%2B%2B_standard_library">stdc++ library</A> +into your every DLL/EXE binary. + This may cause some really LARGE PARTS of this library to be INCLUDED in EACH of your DLL/EXE. You aks why? So do I! Apparently, it is the conseqence of the fact that, this target comes from the <A HREF="http://www.mingw.org/">MinGW</A> project, and +<A HREF="http://www.mingw.org/mingwfaq.shtml#faq-cpp-size"> +that's how they do it</A>. + The "arm-wince-cegcc" target, on the other hand, uses DYNAMICALLY LINKED +<A HREF="http://en.wikipedia.org/wiki/C%2B%2B_standard_library">stdc++ library</A>, +by default (of course, +<A HREF="dll.html">Beware! need to install CeGCC DLL's first</A>). + + <BR>So, let us now try to get the lowest possible size of your "arm-wince-mingw32ce-g++" compiled binaries. Let us create a very dumb "MyProgram.cpp", which contains just "int main(void) { return 0; }". +<UL> + + <LI> + +If you do not need to debug your DLL/EXE any more, get rid of all symbol table and relocation information from it. Either <A HREF="#GdbStippedExe">remove them using "arm-wince-[cegcc/mingw32ce]-strip MyProgram.[dll/exe]", or recompile your source code WITHOUT the "-g" and WITH the "-s" compiler flags</A>. +<BR>The example "MyProgram.cpp" compiled WITH "-g" is 203 kB long (for "arm-wince-cegcc-g++" it is just 18 kB long), but stripped, it is just 40 kB long (for "arm-wince-cegcc-g++", it is just 3 kB long, when stripped). + + </LI> + + <LI> + +If you do not need the +<A HREF="http://en.wikipedia.org/wiki/Exception_handling">exception handling</A> +(i.e. +"<A HREF="http://www.parashift.com/c++-faq-lite/exceptions.html">try/catch/throw</A>") +in your source code, compile it adding the "-fno-exceptions" compiler flag. +The <A HREF="http://en.wikipedia.org/wiki/Exception_handling">exception handling</A> +generates extra code needed to propagate exceptions, which then triggers some +<A HREF="http://en.wikipedia.org/wiki/C%2B%2B_standard_library">stdc++ library</A> +("/opt/mingw32ce/arm-wince-mingw32ce/lib/libstdc++.a") functions + +to be statically linked into your DLL/EXE. + +<BR>Note that, if you do not specify this option, GNU CC will enable +<A HREF="http://en.wikipedia.org/wiki/Exception_handling">exception handling</A> +by default for languages like C++ which normally require it, +and disable it for languages like C that do not +normally require it. However, you may need to enable this option +when compiling C code (adding the "-fexceptions" compiler flag) +that needs to interoperate properly with exception handlers written in C++. +<BR>The example "MyProgram.cpp" compiled WITH "-fexceptions" (the default), and stripped, is 40 kB long, but compiled WITH "-fno-exceptions", and stripped, is just 4.5 kB long (for "arm-wince-cegcc-g++", it doesn't really matter, it's always about 3 kB long, when stripped). + + <LI> + +Avoid using any +<A HREF="http://en.wikipedia.org/wiki/Standard_Template_Library">Standard Template Library</A> +elements, especially in your DLL libraries, no matter what the cost! +C++ programs (and shared libraries) using the +<A HREF="http://en.wikipedia.org/wiki/Standard_Template_Library">Standard Template Library</A> +(e.g. which "#include <iostream>" or any close "relative") cause a really large part of the +<A HREF="http://en.wikipedia.org/wiki/C%2B%2B_standard_library">stdc++ library</A> +("/opt/mingw32ce/arm-wince-mingw32ce/lib/libstdc++.a") to be statically linked into the binary. +<BR>If the only functions from "libstdc++.a" which you need are language support functions (those listed in +<A HREF="http://www.zib.de/benger/C++/clause18.html">the Clause 18 of the C++ Standard</A>, +e.g. "new" and "delete"), then try linking against "libsupc++.a" (using gcc instead of g++ and explicitly linking in "-lsupc++" for the final link step should do it). This library contains only those support routines, one per object file. But if you are using anything from the rest of the library, such as "IOStreams" or "Vectors", then you'll still need pieces from "libstdc++.a". +<BR>Let us now extend the "MyProgram.cpp" example. Let us add a line in form "#include <iostream>", before our "main" routine (we will NOT use any "IOStreams", it is sufficient to just include this file). The extended example "MyProgram.cpp" compiled WITH "-g" is almost 4 MB long (for "arm-wince-cegcc-g++", it is just 49 kB long). Stripped, it is still 544 kB long (for "arm-wince-cegcc-g++", it is just 3.5 kB long, when stripped). The "-fno-exceptions" compiler flag has no impact on the size now (the +<A HREF="http://en.wikipedia.org/wiki/C%2B%2B_standard_library">stdc++ library</A> +<A HREF="http://en.wikipedia.org/wiki/Exception_handling">exception handling</A> +code is always linked in anyhow, because it's used by the +<A HREF="http://en.wikipedia.org/wiki/Standard_Template_Library">Standard Template Library</A> +routines, I believe). + + </LI> + +</UL> + +Last, but not least, you can, of course, use the above advices to minimize the size of your "arm-wince-mingw32ce-gcc" generated DLL/EXE binaries, too (i.e. when you compile any C source code, except for the +<A HREF="http://en.wikipedia.org/wiki/Standard_Template_Library">Standard Template Library</A> +advice, which is C++ specific). + + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- MissingSymbols --> + + <LI> + <STRONG><A NAME="MissingSymbols"> + The arm-wince-mingw32ce compiler complains about undeclared identifier 'SOME_WIN_CE_IDENTIFIER'. + </A></STRONG><BR> + <P> + + First, make sure that you +<A HREF="details.html"> +properly define the "_WIN32_IE" and the "_WIN32_WCE" macros +</A>, +while compiling your source code (in order to tell the compiler which version of WinCE you're using). + + <BR>If you do, then it's quite possible that you've hit a CeGCC bug. + + <BR>Indeed, we don't have all the macros we should have. Our include files ("/opt/mingw32ce/arm-wince-mingw32ce/include/*") +are inherited from other projects (e.g. <A HREF="http://www.mingw.org/">MinGW</A>). +They're very good, but they tend to lack some WinCE specific stuff (well, WinCE is not their focus). +A patch for our include files would be very welcome. +The good sources for this information are (in this order): +<UL> +<LI> +reliable documentation, such as +<A HREF="http://msdn2.microsoft.com/en-us/library/ms376734.aspx">MSDN</A>, +</LI> +<LI> +publicly avaiable programming examples. +</LI> +</UL> + +A bad source for such information is a copy of a Microsoft include file - that's copyrighted. + +<BR>In any case, please, do inform us about the missing identifier +(regardless whether you were able to fix it, or not), using either the +<A HREF="http://sourceforge.net/tracker/?group_id=173455">CeGCC Tracker</A> +system, and/or the +<A HREF="http://sourceforge.net/mailarchive/forum.php?forum_name=cegcc-devel">cegcc-devel</A> +mailing list. + + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- MissingFunctions --> + + <LI> + <STRONG><A NAME="MissingFunctions"> + The arm-wince-mingw32ce linker complains about undefined reference to 'SomeWinCeFunctionW' (and what's that "W" suffix appended to the function's name?). + </A></STRONG><BR> + <P> + + First, make sure that you +<A HREF="details.html"> +properly define the "_WIN32_IE" and the "_WIN32_WCE" macros +</A>, +while compiling your source code (in order to tell the compiler which version of WinCE you're using). + + <BR>If you do, then it's quite possible that you've hit a CeGCC bug. + +<BR>In general, because the +<A HREF="http://en.wikipedia.org/wiki/Comparison_of_Windows_versions"> +Microsoft Windows System comes in so many flavours</A>, +there exist two mysterious suffixes, "A" and "W", which may get appended to function names. +They directly correspond to the "ASCII" and the "Wide-Character" versions of the Windows API. +The system include files are meant to automatically map a function name into a function with +an added "A" or "W" to its name, depending on whether the "UNICODE" macro is defined, or not. +For WinCE, however, the "UNICODE" should always be defined, as WinCE supports only that part of the API. +Hence, there is no need to append the "W" suffix in this case (and it should not be present). +Our include files ("/opt/mingw32ce/arm-wince-mingw32ce/include/*") are inherited from other projects (e.g. <A HREF="http://www.mingw.org/">MinGW</A>). +They're very good, but they tend to lack some WinCE specific stuff (well, WinCE is not their focus). +<BR>By running "arm-wince-mingw32ce-strings" on the right library file ("/opt/mingw32ce/arm-wince-mingw32ce/lib/*.a"), you can check whether the "SomeWinCeFunction" is present in there. +If it is not there, then +<A HREF="#MissingSymbols">we need to implement this function</A>. +If it is present, however, then it usually requires just some slight modifications of one of our include files +(you should then immediately be able to use this function, no further steps required). + +The fix is to "#ifdef" the function's prototype, in the appropriate header file, with "_WIN32_WCE", +so that this function is always declared as "SomeWinCeFunction", +instead of the non-WinCE "SomeWinCeFunctionA" + "SomeWinCeFunctionW" pair +(which also depends on the "UNICODE" macro). +See, for example, any other function, which is present in the same header file as +"SomeWinCeFunction", in order to learn what needs to be done. + +A patch for our include files would be very welcome. + +<BR>In any case, please, do inform us about this problem +(regardless whether you were able to fix it, or not), using either the +<A HREF="http://sourceforge.net/tracker/?group_id=173455">CeGCC Tracker</A> +system, and/or the +<A HREF="http://sourceforge.net/mailarchive/forum.php?forum_name=cegcc-devel">cegcc-devel</A> +mailing list. + + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- MissingDLLImports --> + + <LI> + <STRONG><A NAME="MissingDLLImports"> + How can I find/trace any missing "DLL imports"? + </A></STRONG><BR> + <P> + Different variations of + <A HREF="#WinCE">Windows CE</A> + based systems come with different sets of functions implemented + in the system provided default DLLs, and with partially different + sets of system provided default DLLs (even when their kernel versions match). + Hence, it sometimes happens that a user added DLL / EXE will not + run on the user's system, just because it misses a specific + function to be imported from some specific system default DLL, + or even the required DLL itself does not exist at all on the user's system. + + <BR>How can one find/trace any missing "DLL imports"? + <BR>You can find the ultimate answer below! + +<UL> + +<LI> + Get the free PC Windows (x86/x64) utility called + <A HREF="http://dependencywalker.com/">Dependency Walker</A>. + Although it is a PC Windows (x86/x64) utility + (on <A HREF="http://en.wikipedia.org/wiki/Linux">Linux</A>, + you can try to run it with the <A HREF="http://www.winehq.org/">Wine</A>), + it can also "scan" WinCE (ARM) libraries + and executables. What one needs to do is to open the "Options -> + Configure Module Search Order" window, remove all "standard PC Windows + subdirectories" from there, and add one's own (which hold WinCE DLLs). + Then, one can "Save..." these settings, in order to easily run the + <A HREF="http://dependencywalker.com/">Dependency Walker</A> + later, giving it the "saved module search order" as + a command line parameter. See the question "Will Dependency Walker + work with Windows CE modules?" in the + <A HREF="http://dependencywalker.com/faq.html">Dependency Walker Frequently Asked Questions (FAQ)</A>, + and read about its + <A HREF="http://dependencywalker.com/help/html/hidd_search_order.htm">Module Search Order</A> + and its + <A HREF="http://dependencywalker.com/help/html/hidr_command_line_help.htm">Command Line Options</A>. + <BR>Note that, in order to "resolve" all dependencies, you will need to + have a copy of the WinCE DLLs, provided by YOUR OWN WinCE device in the + "\Windows" subdirectory, in the PC. However, as these libraries reside in ROM, + they cannot be simply copied to the PC, you cannot + even copy them entirely inside of the WinCE system (using its file manager). +</LI> + +<LI> + Get the free WinCE utility called + <A HREF="http://forum.xda-developers.com/showthread.php?p=1571715">ROM Extractor</A>. + This utility can "extract" DLL / EXE / CPL / ... modules from ROM (files + which have the "FILE_ATTRIBUTE_ROMMODULE" set, i.e. files which cannot be copied by using a + file manager nor by the + <A HREF="#FileTransfer">ActiveSync</A>). + <A HREF="#FileTransfer">Copy</A> these "extracted" files into the PC + (preserving their original names), put them into a separate subdirectory, and use the + "Add Directory" button in the "Options -> Configure Module Search + Order" window (of the + <A HREF="http://dependencywalker.com/">Dependency Walker</A> + ), in order to add this + subdirectory to the "Current Search Order". + <BR>There are two things, I need to mention here. Although my CPU is an + "ARM", the "extracted modules" are marked as "Thumb". This fools the + <A HREF="http://dependencywalker.com/">Dependency Walker</A> + a bit - it will mark all of them in red, to notify + the user that the CPU types do not match. I do not know if this + "Thumb" signature is really put in my ROM, or is it just the + <A HREF="http://forum.xda-developers.com/showthread.php?p=1571715">ROM Extractor</A> + which does it. The solution, however, is very simple. Just + take any tool that can edit binary files (I use the free + <A HREF="http://en.wikipedia.org/wiki/Midnight_commander"> + GNU Midnight Commander</A>) + and change one byte, or two, in each DLL (the bytes which define the + CPU type). Very close to the beginning of the DLL file (usually inside of the first 256 bytes), + you should find a sequence of bytes in form: + "0x50 0x45 0x00 0x00 0xC2 0x01" ("0x50 0x45" = "PE"). + The sequence "0xC2 0x01" means "Thumb" CPU, so we need to change it + into "0xC0 0x01", which means "ARM" CPU (just one, single byte to be changed): + "0x50 0x45 0x00 0x00 0xC0 0x01". + The second thing to mention is related to the usage of the + <A HREF="http://forum.xda-developers.com/showthread.php?p=1571715">ROM Extractor</A>. + On my WinCE system, it keeps closing the "Input Panel" + (i.e. the "Keyboard"), so that I cannot enter the "Save to:" output + file. The solution is to manually open the "Input Panel" BEFORE + starting the + <A HREF="http://forum.xda-developers.com/showthread.php?p=1571715">ROM Extractor</A> + executable (then the "Keyboard" remains available all the time). +</LI> + +</UL> + +And voilà, you can use the + <A HREF="http://dependencywalker.com/">Dependency Walker</A> +to trace your problems! + +<BR> There is still one thing, I need to mention here. As of today, Sun, Nov 11, 2007, +the <A HREF="http://dependencywalker.com/">Dependency Walker</A> has some problems +with binaries (DLL/EXE) generated by the CeGCC-0.50 release (and earlier, I believe). +The problem is related to the DLL names "encoded" inside of the CeGCC generated DLL/EXE files. +All these names miss the ".dll" file name extension. As a result, the +<A HREF="http://dependencywalker.com/">Dependency Walker</A> seeks for files +named "DllName" (which do NOT exist) instead of "DllName.dll" (which, hopefully, DO exist). +A temporary solution is to keep a copy of every "DllName.dll" file as a "DllName" file +(note, you do NOT need these copies on your WinCE device, just on the PC). + +<BR>For the completeness of this description, let me add the following. + +<UL> + +<LI> + There exists a simple free, "command line" driven, WinCE utility called + <A HREF="http://www.geocities.co.jp/SiliconValley-Cupertino/2039/">Executability Check</A>, + which can be helpful (it checks which libraries are needed and it can + "rewrite" both, the library name and it's version), but using it is a + pain. Moreover, as this utility is NOT able to read system DLLs, it + will not tell you which function is missing (if any), nor it will tell + you which functions are provided by the system default DLLs. + Note, this is really a "command line" driven utility. It NEEDS to get + the name of the DLL/EXE file (to be "inspected") in the command line + (as a parameter). It will not start without this parameter. +</LI> + +<LI> + There exists a more advanced free WinCE tool called + <A HREF="http://s-k-tools.com/index.html?m_products.html">PEInfo</A>. + It will provide you with many informations about your DLL/EXE, + including the list of imported functions. However, as this utility is + NOT able to read system DLLs, it will not tell you which function is + missing (if any). Moreover, it does NOT even check whether the required function (to be + imported) is actually exported by the system DLL. As soon as it finds + the required DLL, it will simply happily assume that all required + functions are really provided by it. +</LI> + +</UL> + + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- LastErrorC1 --> + + <LI> + <STRONG><A NAME="LastErrorC1"> + I get "GetLastError returns c1" when + I try to use my DLL/EXE. + </A></STRONG><BR> + <P> + Your DLL/EXE could not be loaded/started. + Are you mistakenly trying to run a PC Windows (x86/x64) DLL/EXE on your WinCE device? + If not (i.e. you are sure this is really a WinCE ARM binary), then + this usually means that one or more functions, which your + program needs, are missing in some system DLLs, or even that + one or more required DLLs are missing at all + (well, you might have also forgotten to <A HREF="#FileTransfer">copy</A> some DLLs, that came + with your program, to your WinCE device, for example). + In such case, one gets a mysterious message "'MyProgram' is not a + valid Windows CE application", often bundled with a mysterious + error message "GetLastError returns c1". The "0xc1", decimal + "193", error is called "ERROR_BAD_EXE_FORMAT". It is defined in + the "winerror.h" file. + <BR>See <A HREF="#MissingDLLImports">How can I find/trace any missing "DLL imports"?</A> + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- BadExeFormat --> + + <LI> + <STRONG><A NAME="BadExeFormat"> + I get "ERROR_BAD_EXE_FORMAT" when I try to use my DLL/EXE. + </A></STRONG><BR> + <P> + That is just another form of the message + "<A HREF="#LastErrorC1">GetLastError returns c1</A>". + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- FileNotWinCEApplication --> + + <LI> + <STRONG><A NAME="FileNotWinCEApplication"> + I get "'MyProgram' is not a valid Windows CE application" when + I try to run MyProgram. + </A></STRONG><BR> + <P> + That is just another form of the message + "<A HREF="#LastErrorC1">GetLastError returns c1</A>". + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + + <!-- More --> + + <LI> + <STRONG><A NAME="More"> + Need More Informations? + </A></STRONG><BR> + <P> + See the <A HREF="index.html">CeGCC Documentation</A>. + </P> + <P><A HREF="#ToC">Table of Contents</A></P> + </LI> + +<!-- END OF ANSWERS --> + +</OL> + +<HR NOSHADE> + + +<!-- END OF CONTENT --> + +</BODY> + +<table border=0 cellspacing=10 width="100%"> <tr> + <td align=left valign=top bgcolor="#ededed" width="50%"> + <h2 align=center>Information</h2> + <ul> + <li> <a href="http://cegcc.sourceforge.net"> CeGCC Home Page on SourceForge </a> + <li> <a href="index.html"> CeGCC Documentation </a> + <li> <a href="http://sourceforge.net/projects/cegcc"> Project page on SourceForge </a> + <li> <a href="http://cegcc.wiki.sourceforge.net"> CeGCC wiki </a> + </ul> + </td> + <td align=left valign=top bgcolor="#ededed" width="50%"> + <h2 align=center>Support</h2> + <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. + <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. + <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> + <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> + </ul> + </td> +</tr></table> +</HTML> Property changes on: trunk/cegcc/docs/faq.html ___________________________________________________________________ Name: svn:eol-style + native Modified: trunk/cegcc/docs/index.html =================================================================== --- trunk/cegcc/docs/index.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/index.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -55,6 +55,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/docs/install-linux.html =================================================================== --- trunk/cegcc/docs/install-linux.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/install-linux.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -158,6 +158,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/docs/layer.html =================================================================== --- trunk/cegcc/docs/layer.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/layer.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -57,6 +57,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/docs/license.html =================================================================== --- trunk/cegcc/docs/license.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/license.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -69,6 +69,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/docs/profile.html =================================================================== --- trunk/cegcc/docs/profile.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/profile.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -504,6 +504,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/docs/reporting.html =================================================================== --- trunk/cegcc/docs/reporting.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/reporting.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -39,6 +39,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/docs/structure.html =================================================================== --- trunk/cegcc/docs/structure.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/structure.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -100,6 +100,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/docs/using.html =================================================================== --- trunk/cegcc/docs/using.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/using.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -347,6 +347,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/docs/what.html =================================================================== --- trunk/cegcc/docs/what.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/docs/what.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -92,6 +92,7 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/website/index.html =================================================================== --- trunk/cegcc/website/index.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/website/index.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -91,6 +91,7 @@ </ul> <h2 align=center>Support</h2> <ul> + <li> <a href="faq.html">Frequently asked questions ? Read the FAQ</a>. <li> <a href="mailto:ceg...@li...">Questions ? Use the mailing list</a>. <li> <a href="http://sourceforge.net/tracker/?group_id=173455&atid=865514"> CeGCC Bug tracker </a> <LI><A HREF="docs/reporting.html">Information to including when asking help or when reporting problems</A></LI> Modified: trunk/cegcc/website/software-that-works.html =================================================================== --- trunk/cegcc/website/software-that-works.html 2007-11-18 16:36:40 UTC (rev 1076) +++ trunk/cegcc/website/software-that-works.html 2007-11-22 19:51:03 UTC (rev 1077) @@ -1448,4 +1448,30 @@ </tr>... [truncated message content] |
From: <ped...@us...> - 2007-11-18 16:36:41
|
Revision: 1076 http://cegcc.svn.sourceforge.net/cegcc/?rev=1076&view=rev Author: pedroalves Date: 2007-11-18 08:36:40 -0800 (Sun, 18 Nov 2007) Log Message: ----------- * config/arm/wince-pe.h (ARM_DOUBLEWORD_ALIGN): Define as 0. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce trunk/cegcc/src/gcc/gcc/config/arm/wince-pe.h Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2007-11-18 16:33:11 UTC (rev 1075) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2007-11-18 16:36:40 UTC (rev 1076) @@ -1,3 +1,7 @@ +2007-11-18 Pedro Alves <ped...@po...> + + * config/arm/wince-pe.h (ARM_DOUBLEWORD_ALIGN): Define as 0. + 2007-11-15 Danny Backx <dan...@us...> * config/arm/mingw32.h (EXTRA_OS_CPP_BUILTINS, CPP_SPEC): Move Modified: trunk/cegcc/src/gcc/gcc/config/arm/wince-pe.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/wince-pe.h 2007-11-18 16:33:11 UTC (rev 1075) +++ trunk/cegcc/src/gcc/gcc/config/arm/wince-pe.h 2007-11-18 16:36:40 UTC (rev 1076) @@ -230,7 +230,7 @@ #define DEFAULT_STRUCTURE_SIZE_BOUNDARY 8 #undef ARM_DOUBLEWORD_ALIGN -#define ARM_DOUBLEWORD_ALIGN 1 +#define ARM_DOUBLEWORD_ALIGN 0 #undef BIGGEST_ALIGNMENT #define BIGGEST_ALIGNMENT 64 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2007-11-18 16:33:16
|
Revision: 1075 http://cegcc.svn.sourceforge.net/cegcc/?rev=1075&view=rev Author: pedroalves Date: 2007-11-18 08:33:11 -0800 (Sun, 18 Nov 2007) Log Message: ----------- Initial release. * Makefile, README, common.h, driver.cpp, makemsvc.sh, msvc.cpp, msvc.h, msvc.obj: New files. Added Paths: ----------- trunk/cegcc/tools/abicheck/ trunk/cegcc/tools/abicheck/ChangeLog trunk/cegcc/tools/abicheck/Makefile trunk/cegcc/tools/abicheck/README trunk/cegcc/tools/abicheck/common.h trunk/cegcc/tools/abicheck/driver.cpp trunk/cegcc/tools/abicheck/makemsvc.sh trunk/cegcc/tools/abicheck/msvc.cpp trunk/cegcc/tools/abicheck/msvc.h trunk/cegcc/tools/abicheck/msvc.obj Added: trunk/cegcc/tools/abicheck/ChangeLog =================================================================== --- trunk/cegcc/tools/abicheck/ChangeLog (rev 0) +++ trunk/cegcc/tools/abicheck/ChangeLog 2007-11-18 16:33:11 UTC (rev 1075) @@ -0,0 +1,5 @@ +2007-11-18 Pedro Alves <ped...@po...> + + Initial release. + * Makefile, README, common.h, driver.cpp, makemsvc.sh, msvc.cpp, + msvc.h, msvc.obj: New files. Property changes on: trunk/cegcc/tools/abicheck/ChangeLog ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/cegcc/tools/abicheck/Makefile =================================================================== --- trunk/cegcc/tools/abicheck/Makefile (rev 0) +++ trunk/cegcc/tools/abicheck/Makefile 2007-11-18 16:33:11 UTC (rev 1075) @@ -0,0 +1,32 @@ +TARGET=arm-wince-mingw32ce +CXX=$(TARGET)-g++ +STRIP=$(TARGET)-strip +CXXFLAGS=-O3 + +OBJECTS=driver.o + +all: driver_gcc.exe + +msvc: + makemsvc.sh + +all-msvc: msvc all + +msvc.obj: + +.cpp.o: + $(CXX) $< -o $@ $(CXXFLAGS) -c + +driver_gcc_unstripped.exe: $(OBJECTS) msvc.obj + $(CXX) $(OBJECTS) msvc.obj -o $@ $(CXXFLAGS) + +driver_gcc.exe: driver_gcc_unstripped.exe + $(STRIP) $< -o $@ + +clean: + rm -f $(OBJECTS) driver_gcc.exe driver_gcc_unstripped.exe *~ + +clean-msvc: clean + rm -f msvc.obj + +.PHONY: all clean Property changes on: trunk/cegcc/tools/abicheck/Makefile ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/cegcc/tools/abicheck/README =================================================================== --- trunk/cegcc/tools/abicheck/README (rev 0) +++ trunk/cegcc/tools/abicheck/README 2007-11-18 16:33:11 UTC (rev 1075) @@ -0,0 +1,13 @@ +A simple ABI checker. It isn't very smart, or automatic, but +serves the immediate purpose. + +The idea is to have gcc built code interfacing with MSVC +built code, and ensuring the the arguments are passed +correctly to both sides. + +msvc.obj is built with MSVC. Since access to a MSVC is limited, +the object file is kept in the repository. + +To build, type `make'. If you're changing the msvc.cpp file, be sure +to have access to an MSVC that can output ARM WinCE code, and type +`make all-msvc'. Property changes on: trunk/cegcc/tools/abicheck/README ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/cegcc/tools/abicheck/common.h =================================================================== --- trunk/cegcc/tools/abicheck/common.h (rev 0) +++ trunk/cegcc/tools/abicheck/common.h 2007-11-18 16:33:11 UTC (rev 1075) @@ -0,0 +1,39 @@ +#ifndef COMMON_H +#define COMMON_H + +#include <windows.h> +struct struct64 +{ + __int64 value; +}; + +struct struct32 +{ + int value; +}; + +struct T1 +{ + unsigned short f1; + int f2; + char f3; + char f4; +}; + +struct T2 +{ + unsigned short f1; + __int64 f2; + char f3; + char f4; +}; + +struct T3 +{ + unsigned short f1; + double f2; + char f3; + char f4; +}; + +#endif Property changes on: trunk/cegcc/tools/abicheck/common.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/cegcc/tools/abicheck/driver.cpp =================================================================== --- trunk/cegcc/tools/abicheck/driver.cpp (rev 0) +++ trunk/cegcc/tools/abicheck/driver.cpp 2007-11-18 16:33:11 UTC (rev 1075) @@ -0,0 +1,37 @@ +#ifdef __GNUC__ +# define _tmain main +# define LL(X) X ## LL +#else +# define LL(X) X ## i64 +#endif + +#include "common.h" +#include "msvc.h" + +struct struct64 dd64 = { LL(0x1122334455667788) }; +struct struct32 dd32 = { 0x11223344 }; + +int +_tmain (void) +{ + print_offsets (); + + test_struct64 ("", dd64); + test_struct32 ("", dd32); + + struct struct64 ldd64 = test_ret_struct64 (); + struct struct32 ldd32 = test_ret_struct32 (); + + long double ldouble = test_ret_ldouble(); + double doubl = test_ret_double(); + + printf("test_ret_ldouble, ldouble = %lf\n", ldouble); + printf("test_ret_double, doubl = %f\n", doubl); + + test_ldouble("", 0.12345678); + test_uint64("", LL(0x1122334455667788)); + + test_odd_regs64(0, LL(0x1111111122222222), + 3, LL(0x4444444455555555), + 6, LL(0x7777777788888888)); +} Property changes on: trunk/cegcc/tools/abicheck/driver.cpp ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/cegcc/tools/abicheck/makemsvc.sh =================================================================== --- trunk/cegcc/tools/abicheck/makemsvc.sh (rev 0) +++ trunk/cegcc/tools/abicheck/makemsvc.sh 2007-11-18 16:33:11 UTC (rev 1075) @@ -0,0 +1,19 @@ +#!/bin/bash + +MSVC_PATH=d:\\Programas\\Microsoft\ Visual\ Studio\ 8 +PATH=${MSVC_PATH}/Common7/IDE:${PATH} +PATH=${MSVC_PATH}/VC/ce/bin/x86_arm:${PATH} + +export PATH + +INCLUDE="${MSVC_PATH}\\VC\\ce\\include" +INCLUDE="${MSVC_PATH}\\SmartDevices\\SDK\\PocketPC2003\\Include;${INCLUDE}" + +export INCLUDE + +cl.exe /nologo /W3 /O2 \ + /D "ARM" /D "_M_ARM" \ + /D "WIN32" /D "NDEBUG" /D "_WINDOWS" \ + /D "STRICT" /D "_WIN32_WCE=0x300" \ + /D "UNICODE" /D "_UNICODE" \ + /c msvc.cpp Property changes on: trunk/cegcc/tools/abicheck/makemsvc.sh ___________________________________________________________________ Name: svn:executable + * Name: svn:eol-style + native Added: trunk/cegcc/tools/abicheck/msvc.cpp =================================================================== --- trunk/cegcc/tools/abicheck/msvc.cpp (rev 0) +++ trunk/cegcc/tools/abicheck/msvc.cpp 2007-11-18 16:33:11 UTC (rev 1075) @@ -0,0 +1,93 @@ +#include <windows.h> +#include <stdio.h> + +#include "common.h" +#include "msvc.h" + +void +print_offsets (void) +{ +#define poffset(T, F) \ + printf("offsetof (%s::%s) = %i\n", #T, #F, offsetof (T, F)) + + printf("sizeof (struct T1) = %i\n", sizeof (struct T1)); + poffset(struct T1, f1); + poffset(struct T1, f2); + poffset(struct T1, f3); + poffset(struct T1, f4); + + printf("sizeof (struct T2) = %i\n", sizeof (struct T2)); + poffset(struct T2, f1); + poffset(struct T2, f2); + poffset(struct T2, f3); + poffset(struct T2, f4); + + printf("sizeof (struct T3) = %i\n", sizeof (struct T3)); + poffset(struct T3, f1); + poffset(struct T3, f2); + poffset(struct T3, f3); + poffset(struct T3, f4); +} + +void +test_struct64 (const char *s, struct struct64 dd) +{ + printf("test_struct64, dd = %I64x\n", dd); +} + +void +test_struct32 (const char *s, struct struct32 dd) +{ + printf("test_struct32, dd = %x\n", dd); +} + +void +test_ldouble(const char *s, long double ld) +{ + printf("test_uint64, ld = %lf\n", ld); +} + +void +test_uint64(const char *s, unsigned __int64 ll) +{ + printf("test_uint64, ll = %I64x\n", ll); +} + +struct struct64 +test_ret_struct64 (void) +{ + struct struct64 ddd = { 0x1122334455667788i64 }; + return ddd; +} + +struct struct32 +test_ret_struct32 (void) +{ + struct struct32 ddd = { 0x11223344 }; + return ddd; +} + +long double +test_ret_ldouble (void) +{ + return 1.2345678; +} + +double +test_ret_double (void) +{ + return 2.3456789; +} + +void +test_odd_regs64 (char a, __int64 b, char c, __int64 d, char e, __int64 f) +{ + printf("test_odd_regs64\n" + "\ta = %d\n" + "\tb = %I64x\n" + "\tc = %d\n" + "\td = %I64x\n" + "\te = %d\n" + "\tf = %I64x\n", + (int)a, b, (int)c, d, (int)e, f); +} Property changes on: trunk/cegcc/tools/abicheck/msvc.cpp ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/cegcc/tools/abicheck/msvc.h =================================================================== --- trunk/cegcc/tools/abicheck/msvc.h (rev 0) +++ trunk/cegcc/tools/abicheck/msvc.h 2007-11-18 16:33:11 UTC (rev 1075) @@ -0,0 +1,30 @@ +#ifndef MSVC_H +#define MSVC_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include "common.h" + +void print_offsets (void); + +void test_struct64 (const char *s, struct struct64 dd); +void test_struct32 (const char *s, struct struct32 dd); + +struct struct64 test_ret_struct64 (void); +struct struct32 test_ret_struct32 (void); + +long double test_ret_ldouble(void); +double test_ret_double(void); + +void test_ldouble(const char *s, long double ld); +void test_uint64(const char *s, unsigned __int64 ll); + +void test_odd_regs64(char a, __int64 b, char c, __int64 d, char e, __int64 f); + +#ifdef __cplusplus +} +#endif + +#endif Property changes on: trunk/cegcc/tools/abicheck/msvc.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/cegcc/tools/abicheck/msvc.obj =================================================================== (Binary files differ) Property changes on: trunk/cegcc/tools/abicheck/msvc.obj ___________________________________________________________________ Name: svn:mime-type + application/octet-stream This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2007-11-16 16:32:10
|
Revision: 1074 http://cegcc.svn.sourceforge.net/cegcc/?rev=1074&view=rev Author: dannybackx Date: 2007-11-16 08:31:20 -0800 (Fri, 16 Nov 2007) Log Message: ----------- Oops, use spaces not tabs as Pedro requested. Modified Paths: -------------- trunk/cegcc/src/w32api/include/shlwapi.h Modified: trunk/cegcc/src/w32api/include/shlwapi.h =================================================================== --- trunk/cegcc/src/w32api/include/shlwapi.h 2007-11-16 16:30:30 UTC (rev 1073) +++ trunk/cegcc/src/w32api/include/shlwapi.h 2007-11-16 16:31:20 UTC (rev 1074) @@ -196,7 +196,7 @@ WINSHLWAPI LPWSTR WINAPI PathBuildRootW(LPWSTR,int); WINSHLWAPI BOOL WINAPI PathCanonicalizeA(LPSTR,LPCSTR); WINSHLWAPI BOOL WINAPI PathCanonicalizeW(LPWSTR,LPCWSTR); -#ifdef _WIN32_WCE +#ifdef _WIN32_WCE WINSHLWAPI LPWSTR WINAPI PathCombine(LPWSTR,LPCWSTR,LPCWSTR); #else WINSHLWAPI LPSTR WINAPI PathCombineA(LPSTR,LPCSTR,LPCSTR); @@ -463,7 +463,7 @@ #define PathAppend PathAppendW #define PathBuildRoot PathBuildRootW #define PathCanonicalize PathCanonicalizeW -#ifndef _WIN32_WCE +#ifndef _WIN32_WCE #define PathCombine PathCombineW #endif #define PathCommonPrefix PathCommonPrefixW This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2007-11-16 16:31:23
|
Revision: 1073 http://cegcc.svn.sourceforge.net/cegcc/?rev=1073&view=rev Author: dannybackx Date: 2007-11-16 08:30:30 -0800 (Fri, 16 Nov 2007) Log Message: ----------- * include/shlwapi.h (PathCombine) : Define without W or A suffix for Windows CE. Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/shlwapi.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2007-11-15 20:44:25 UTC (rev 1072) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2007-11-16 16:30:30 UTC (rev 1073) @@ -1,3 +1,8 @@ +2007-11-16 Danny Backx <dan...@us...> + + * include/shlwapi.h (PathCombine) : Define without W or A suffix for + Windows CE. + 2007-11-15 Jacek M. Holeczek <hol...@us...> * include/aygshell.h (SHLoadImageFile, SHLoadImageResource) : Define. Modified: trunk/cegcc/src/w32api/include/shlwapi.h =================================================================== --- trunk/cegcc/src/w32api/include/shlwapi.h 2007-11-15 20:44:25 UTC (rev 1072) +++ trunk/cegcc/src/w32api/include/shlwapi.h 2007-11-16 16:30:30 UTC (rev 1073) @@ -196,8 +196,12 @@ WINSHLWAPI LPWSTR WINAPI PathBuildRootW(LPWSTR,int); WINSHLWAPI BOOL WINAPI PathCanonicalizeA(LPSTR,LPCSTR); WINSHLWAPI BOOL WINAPI PathCanonicalizeW(LPWSTR,LPCWSTR); +#ifdef _WIN32_WCE +WINSHLWAPI LPWSTR WINAPI PathCombine(LPWSTR,LPCWSTR,LPCWSTR); +#else WINSHLWAPI LPSTR WINAPI PathCombineA(LPSTR,LPCSTR,LPCSTR); WINSHLWAPI LPWSTR WINAPI PathCombineW(LPWSTR,LPCWSTR,LPCWSTR); +#endif WINSHLWAPI int WINAPI PathCommonPrefixA(LPCSTR,LPCSTR,LPSTR); WINSHLWAPI int WINAPI PathCommonPrefixW(LPCWSTR,LPCWSTR,LPWSTR); WINSHLWAPI BOOL WINAPI PathCompactPathA(HDC,LPSTR,UINT); @@ -459,7 +463,9 @@ #define PathAppend PathAppendW #define PathBuildRoot PathBuildRootW #define PathCanonicalize PathCanonicalizeW +#ifndef _WIN32_WCE #define PathCombine PathCombineW +#endif #define PathCommonPrefix PathCommonPrefixW #define PathCompactPath PathCompactPathW #define PathCompactPathEx PathCompactPathExW This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2007-11-15 20:44:27
|
Revision: 1072 http://cegcc.svn.sourceforge.net/cegcc/?rev=1072&view=rev Author: dannybackx Date: 2007-11-15 12:44:25 -0800 (Thu, 15 Nov 2007) Log Message: ----------- 2007-11-15 Jacek M. Holeczek <hol...@us...> * include/aygshell.h (SHLoadImageFile, SHLoadImageResource) : Define. * include/sipapi.h (SipShowIM, SipGetCurrentIM, SipSetCurrentIM) : Define. 2007-11-15 Danny Backx <dan...@us...> * include/aygshell.h (SHCMBM_GETSUBMENU) : Define. Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/aygshell.h trunk/cegcc/src/w32api/include/sipapi.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2007-11-15 20:11:34 UTC (rev 1071) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2007-11-15 20:44:25 UTC (rev 1072) @@ -1,3 +1,13 @@ +2007-11-15 Jacek M. Holeczek <hol...@us...> + + * include/aygshell.h (SHLoadImageFile, SHLoadImageResource) : Define. + * include/sipapi.h (SipShowIM, SipGetCurrentIM, SipSetCurrentIM) : + Define. + +2007-11-15 Danny Backx <dan...@us...> + + * include/aygshell.h (SHCMBM_GETSUBMENU) : Define. + 2007-11-14 Matthew Kille <ma...@am...> * include/winbase.h (THREAD_PRIORITY_TIME_CRITICAL) Modified: trunk/cegcc/src/w32api/include/aygshell.h =================================================================== --- trunk/cegcc/src/w32api/include/aygshell.h 2007-11-15 20:11:34 UTC (rev 1071) +++ trunk/cegcc/src/w32api/include/aygshell.h 2007-11-15 20:44:25 UTC (rev 1072) @@ -216,6 +216,18 @@ WINSHELLAPI DWORD SHRecognizeGesture(SHRGINFO *shrg); #endif +#if (_WIN32_WCE >= 0x0300) +/* + * http://www.docjar.com/html/api/org/eclipse/swt/internal/win32/OS.java.html + */ +#define SHCMBM_GETSUBMENU 0x0591 +#endif /* _WIN32_WCE */ + +#if (_WIN32_WCE >= 0x0400) +HBITMAP SHLoadImageFile(LPCTSTR pszFileName); +HBITMAP SHLoadImageResource(HINSTANCE hinst, UINT uIdImageFile); +#endif /* _WIN32_WCE >= 0x0300 */ + #ifdef __cplusplus } #endif Modified: trunk/cegcc/src/w32api/include/sipapi.h =================================================================== --- trunk/cegcc/src/w32api/include/sipapi.h 2007-11-15 20:11:34 UTC (rev 1071) +++ trunk/cegcc/src/w32api/include/sipapi.h 2007-11-15 20:44:25 UTC (rev 1072) @@ -49,8 +49,12 @@ int WINAPI SipEnumIM(IMENUMPROC); -#endif +BOOL WINAPI SipShowIM(DWORD); +BOOL WINAPI SipGetCurrentIM(CLSID *); +BOOL WINAPI SipSetCurrentIM(CLSID *); +#endif /* _WIN32_WCE >= 0x0201 */ + #ifdef __cplusplus } #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2007-11-15 20:11:44
|
Revision: 1071 http://cegcc.svn.sourceforge.net/cegcc/?rev=1071&view=rev Author: dannybackx Date: 2007-11-15 12:11:34 -0800 (Thu, 15 Nov 2007) Log Message: ----------- Fix the issue reported by Jacek : you could see in cegcc's dumpspecs which compiler-dependent macros were defined, but not in mingw32ce. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce trunk/cegcc/src/gcc/gcc/config/arm/mingw32.h Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2007-11-14 22:45:10 UTC (rev 1070) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2007-11-15 20:11:34 UTC (rev 1071) @@ -1,3 +1,10 @@ +2007-11-15 Danny Backx <dan...@us...> + + * config/arm/mingw32.h (EXTRA_OS_CPP_BUILTINS, CPP_SPEC): Move + macro definitions of __COREDLL__, __MINGW32__, and __MINGW32CE__ + from former to latter construction so they show up when using + -dumpspecs. + 2007-09-11 Pedro Alves <ped...@po...> * config/arm/wince-pe.h (ARM_DOUBLEWORD_ALIGN, BIGGEST_ALIGNMENT): Modified: trunk/cegcc/src/gcc/gcc/config/arm/mingw32.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/mingw32.h 2007-11-14 22:45:10 UTC (rev 1070) +++ trunk/cegcc/src/gcc/gcc/config/arm/mingw32.h 2007-11-15 20:11:34 UTC (rev 1071) @@ -27,9 +27,6 @@ #define EXTRA_OS_CPP_BUILTINS() \ do \ { \ - builtin_define ("__COREDLL__"); \ - builtin_define ("__MINGW32__"); \ - builtin_define ("__MINGW32CE__"); \ builtin_define ("_WIN32"); \ builtin_define_std ("WIN32"); \ builtin_define_std ("WINNT"); \ @@ -38,6 +35,7 @@ #undef CPP_SPEC #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT} \ +-D__COREDLL__ -D__MINGW32__ -D__MINGW32CE__ \ %{!nostdinc: -idirafter ../include/w32api%s -idirafter ../../include/w32api%s }" #undef LIB_SPEC This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2007-11-14 22:45:15
|
Revision: 1070 http://cegcc.svn.sourceforge.net/cegcc/?rev=1070&view=rev Author: pedroalves Date: 2007-11-14 14:45:10 -0800 (Wed, 14 Nov 2007) Log Message: ----------- 2007-11-14 Matthew Kille <ma...@am...> * include/winbase.h (THREAD_PRIORITY_TIME_CRITICAL) (THREAD_PRIORITY_HIGHEST, THREAD_PRIORITY_ABOVE_NORMAL) (THREAD_PRIORITY_NORMAL, THREAD_PRIORITY_BELOW_NORMAL) (THREAD_PRIORITY_LOWEST, THREAD_PRIORITY_IDLE): Correct values for Windows CE. (THREAD_PRIORITY_ABOVE_IDLE): Define. Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/winbase.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2007-11-05 16:29:52 UTC (rev 1069) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2007-11-14 22:45:10 UTC (rev 1070) @@ -1,3 +1,12 @@ +2007-11-14 Matthew Kille <ma...@am...> + + * include/winbase.h (THREAD_PRIORITY_TIME_CRITICAL) + (THREAD_PRIORITY_HIGHEST, THREAD_PRIORITY_ABOVE_NORMAL) + (THREAD_PRIORITY_NORMAL, THREAD_PRIORITY_BELOW_NORMAL) + (THREAD_PRIORITY_LOWEST, THREAD_PRIORITY_IDLE): Correct values for + Windows CE. + (THREAD_PRIORITY_ABOVE_IDLE): Define. + 2007-10-20 Jacek M. Holeczek <hol...@us...> * include/winuser.h (ChangeDisplaySettings): Define differently for CE than for other Windows versions. Modified: trunk/cegcc/src/w32api/include/winbase.h =================================================================== --- trunk/cegcc/src/w32api/include/winbase.h 2007-11-05 16:29:52 UTC (rev 1069) +++ trunk/cegcc/src/w32api/include/winbase.h 2007-11-14 22:45:10 UTC (rev 1070) @@ -258,6 +258,16 @@ #define GET_TAPE_DRIVE_INFORMATION 1 #define SET_TAPE_MEDIA_INFORMATION 0 #define SET_TAPE_DRIVE_INFORMATION 1 +#ifdef _WIN32_WCE +#define THREAD_PRIORITY_TIME_CRITICAL 0 +#define THREAD_PRIORITY_HIGHEST 1 +#define THREAD_PRIORITY_ABOVE_NORMAL 2 +#define THREAD_PRIORITY_NORMAL 3 +#define THREAD_PRIORITY_BELOW_NORMAL 4 +#define THREAD_PRIORITY_LOWEST 5 +#define THREAD_PRIORITY_ABOVE_IDLE 6 +#define THREAD_PRIORITY_IDLE 7 +#else #define THREAD_PRIORITY_ABOVE_NORMAL 1 #define THREAD_PRIORITY_BELOW_NORMAL (-1) #define THREAD_PRIORITY_HIGHEST 2 @@ -265,6 +275,7 @@ #define THREAD_PRIORITY_LOWEST (-2) #define THREAD_PRIORITY_NORMAL 0 #define THREAD_PRIORITY_TIME_CRITICAL 15 +#endif #define THREAD_PRIORITY_ERROR_RETURN 2147483647 #define TIME_ZONE_ID_UNKNOWN 0 #define TIME_ZONE_ID_STANDARD 1 This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2007-11-05 16:29:59
|
Revision: 1069 http://cegcc.svn.sourceforge.net/cegcc/?rev=1069&view=rev Author: dannybackx Date: 2007-11-05 08:29:52 -0800 (Mon, 05 Nov 2007) Log Message: ----------- Move eurokbd to the "works" list Modified Paths: -------------- trunk/cegcc/website/software-that-works.html Modified: trunk/cegcc/website/software-that-works.html =================================================================== --- trunk/cegcc/website/software-that-works.html 2007-10-21 08:18:42 UTC (rev 1068) +++ trunk/cegcc/website/software-that-works.html 2007-11-05 16:29:52 UTC (rev 1069) @@ -51,6 +51,12 @@ <td class="project"><a href="http://xinvest.dotsrc.org">PocketInvest</a></td> <td class="description">PocketInvest is a port to Windows CE of Xinvest, a personal finance package for X/Motif</td> <td class="works">Yes</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/eurokbd">euro keyboard</a> </td> +<td class="description"> Multilanguage on-screen keyboard for PocketPC (Windows Mobile)</td> +<td class="works">?</td> +</tr> </table> <A NAME="dunno"><H1>To be rated : does this software work with CeGCC ?</H1></A> <table BORDER=1> @@ -565,11 +571,6 @@ <td class="works">?</td> </tr> <tr> -<td class="project"> <a href="http://sourceforge.net/projects/eurokbd">euro keyboard</a> </td> -<td class="description"> Multilanguage on-screen keyboard for PocketPC (Windows Mobile)</td> -<td class="works">?</td> -</tr> -<tr> <td class="project"> <a href="http://sourceforge.net/projects/wxpropgrid">wxPropertyGrid</a> </td> <td class="description"> wxPropertyGrid is a specialized two-column grid for editing properties such as strings, numbers, flagsets, fonts, and colours. Use with wxWidgets 2.6.0 or later (older 1.0.x releases also work with 2.5.x branch).</td> <td class="works">?</td> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2007-10-21 08:18:43
|
Revision: 1068 http://cegcc.svn.sourceforge.net/cegcc/?rev=1068&view=rev Author: dannybackx Date: 2007-10-21 01:18:42 -0700 (Sun, 21 Oct 2007) Log Message: ----------- Add a line asking for input. Modified Paths: -------------- trunk/cegcc/website/software-that-works.html Modified: trunk/cegcc/website/software-that-works.html =================================================================== --- trunk/cegcc/website/software-that-works.html 2007-10-21 08:05:40 UTC (rev 1067) +++ trunk/cegcc/website/software-that-works.html 2007-10-21 08:18:42 UTC (rev 1068) @@ -16,6 +16,9 @@ <LI><A HREF="#wontwork">Software that does not, and never will work with CeGCC</A></LI> </UL> <P> +Please help us to make this list more accurate. Send input to +<a href="mailto:ceg...@li...">ceg...@li...</a>. +<P> <A NAME="works"><H1>Software that is confirmed to work with CeGCC</H1></A> <table BORDER=1> <tr> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2007-10-21 08:05:41
|
Revision: 1067 http://cegcc.svn.sourceforge.net/cegcc/?rev=1067&view=rev Author: dannybackx Date: 2007-10-21 01:05:40 -0700 (Sun, 21 Oct 2007) Log Message: ----------- Add the list of "Software that works with CeGCC". Modified Paths: -------------- trunk/cegcc/website/index.html Added Paths: ----------- trunk/cegcc/website/software-that-works.html Modified: trunk/cegcc/website/index.html =================================================================== --- trunk/cegcc/website/index.html 2007-10-20 17:43:44 UTC (rev 1066) +++ trunk/cegcc/website/index.html 2007-10-21 08:05:40 UTC (rev 1067) @@ -76,10 +76,11 @@ <td align=left valign=top bgcolor="#ededed" width="50%"> <h2 align=center>Information</h2> <ul> - <li> <a href="docs/index.html"> Documentation </a> - <li> <a href="docs/install-linux.html"> Installation on Linux </a> - <li> <a href="http://sourceforge.net/projects/cegcc"> Project page on SourceForge </a> - <li> <a href="http://cegcc.wiki.sourceforge.net"> CeGCC wiki </a> + <li> <a href="docs/index.html">Documentation</a> + <li> <a href="docs/install-linux.html">Installation on Linux</a> + <li> <a href="http://sourceforge.net/projects/cegcc">Project page on SourceForge</a> + <li> <a href="http://cegcc.wiki.sourceforge.net">CeGCC wiki</a> + <li> <a href="software-that-works.html">Software that works with CeGCC</a> </ul> </td> <td align=left valign=top bgcolor="#ededed" width="50%"> Added: trunk/cegcc/website/software-that-works.html =================================================================== --- trunk/cegcc/website/software-that-works.html (rev 0) +++ trunk/cegcc/website/software-that-works.html 2007-10-21 08:05:40 UTC (rev 1067) @@ -0,0 +1,1447 @@ +<html> +<header> +<TITLE>PocketPC applications. Can they be compiled with CeGCC ?</TITLE> +</header> +<body> +<H1>CeGCC - Software compatibility list</H1> +<P> +This page gives an overview of software that works with CeGCC. +At the bottom, there is a separate table that lists software that does not and +will not work with CeGCC. +<P> +Information on this page : +<UL> +<LI><A HREF="#works">Software that is confirmed to work with CeGCC</A></LI> +<LI><A HREF="#dunno">To be rated : does this software work with CeGCC ?</A></LI> +<LI><A HREF="#wontwork">Software that does not, and never will work with CeGCC</A></LI> +</UL> +<P> +<A NAME="works"><H1>Software that is confirmed to work with CeGCC</H1></A> +<table BORDER=1> +<tr> +<td>Project name</td> +<td>Description</td> +<td>Works with CeGCC ?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/xwords">Crosswords for handhelds</a> </td> +<td class="description"> Crosswords implements the rules of Scrabble(tm) for handhelds like PalmOS and PocketPC, (Linux too). Easy to port to other platforms, supports multiple languages and multi-device play via IR or UDP. Not vaporware: one of TIME.com's top 5 PalmOS apps</td> +<td class="works">Yes</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/cegcc">CeGCC - Cross development for Pocket PC</a> </td> +<td class="description"> CeGCC is a cross-development environment for creating Windows CE (Pocket PC) applications, from a Linux or a Cygwin host PC.</td> +<td class="works">Yes I guess</td> +</tr> +<tr> +<td class="project"> <a href="http://prolinux.free.fr/scid/PPC.html">Scid for Pocket PC</a></td> +<td class="description"> Scid Pocket is a chess program ported to Pocket PC with cegcc. The code is in C, compiled with cegcc and the UI uses Tcl/Tk. </td> +<td class="works">Yes</td> +</tr> +<tr> +<td class="project"><a href="http://www.openssl.org/source/">OpenSSL-0.9.8e</a></td> +<td class="description">The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a full-strength general purpose cryptography library. OpenSSL is based on the excellent SSLeay library developed by Eric A. Young and Tim J. Hudson.</td> +<td class="works">Ported with patches, need to address these in CeGCC</td> +</tr> +</tr> +<tr> +<td class="project"><a href="http://xinvest.dotsrc.org">PocketInvest</a></td> +<td class="description">PocketInvest is a port to Windows CE of Xinvest, a personal finance package for X/Motif</td> +<td class="works">Yes</td> +</table> +<A NAME="dunno"><H1>To be rated : does this software work with CeGCC ?</H1></A> +<table BORDER=1> +<tr> +<td>Project name</td> +<td>Description</td> +<td>Works with CeGCC ?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/cmusphinx">CMU Sphinx</a> </td> +<td class="description"> Sphinx is a speaker-independent large vocabulary continuous speech recognizer released under a BSD style license. It is also a collection of open source tools and resources that allows researchers and developers to build speech recognition systems.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/infozip">Info-ZIP project</a> </td> +<td class="description"> Info-ZIP portable compression/archiver utilities (Zip, UnZip, WiZ, etc.)</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/sqlite-dotnet2">ADO.NET 2.0 Provider for SQLite</a> </td> +<td class="description"> ADO.NET 2.0 Provider for SQLite. Supports Full and Compact Framework, complete with full Visual Studio 2005 design-time support.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/gpac">gpac</a> </td> +<td class="description"> Multimedia Framework for MPEG-4, VRML, X3D, SVG, LASeR ...</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/opendmtp">OpenDMTP</a> </td> +<td class="description"> OpenDMTP is a protocol/framework that allows communications with small devices (mobile phones, PDA's, and other high-latency/low-bandwidth devices), especially geared towards the transmission of GPS, temperature, and other remote monitoring information.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/atari800">Atari800</a> </td> +<td class="description"> Emulator of Atari 800/800XL/130XE/5200 with various extensions (320kB RAM, stereo sound and more) running on just about every operating system (Unix/Linux, Windows, DOS, TOS, MacOS, Workbench, WinCE...)</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/mjustice">MobileJustice</a> </td> +<td class="description"> Antitheft software for WM5 phones with GPS module(tested on Mio A701). Useful for searching of lost/stolen phones and for children monitoring. Can monitor sim card changes. You can acquire current coordinates of the phone by the means of SMS request.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/ogl-es">Vincent Mobile 3D Rendering Library</a> </td> +<td class="description"> develops a compliant implementation of the OpenGL (R) ES 1.1 API specification for embedded devices, such as PDAs and Smartphones. The 2.x project is at http://sf.net/projects/ogles2.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketinsanity">PocketInsanity</a> </td> +<td class="description"> PocketInsanity is a project to provide ports of existing Open Source projects to the PocketPC ARM Platform. Examples are FreeSCI (Sierra Games VM), UAE (Amiga Emulator), Wolfenstein 3D and XRick. More are following as the project advances.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/curl">curl and libcurl</a> </td> +<td class="description"> Curl is a tool and libcurl is a library for transfering data with URL syntax, supporting FTP, FTPS, HTTP, HTTPS, TFTP, GOPHER, TELNET, DICT, FILE and LDAP. The tool and library offer a myriad of powerful features and full protocol control.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/canfestival">CanFestival</a> </td> +<td class="description"> CanFestival </a>focuses on providing an ANSI-C platform independent CANOpen stack that can be implemented as master or slave nodes on PCs, Real-time IPCs, and Microcontrollers. A WxPython based CanOpen Object Dictionary editor GUI is also provided.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketgcc">Pocket GCC</a> </td> +<td class="description"> PocketGCC is a port of well-known GNU C/C++ compiler and Binutils for ARM-WinCE-PE platform. Both crosscompiler and native builds are provided, allowing to develop applications for WindowsCE devices with ARM-compatible processor on the go without desktop</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/nethack">NetHack</a> </td> +<td class="description"> NetHack is a popular single player dungeon exploration game that runs on a wide variety of computer systems.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/amerigo">amerigo</a> </td> +<td class="description"> GPS Chart Navigator for marine and outdoor activities on PC, PocketPC and WinMobile phones and PDA. Create georeferenced photos from GPS phones with a built-in camera. Library of placemarks viewable with Google Earth. BSB (NOAA) and TIFF charts support.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/flvstreamtcpmp">flv streaming plugin per TCPMP</a> </td> +<td class="description"> Flv plugin per vedere con TCPMP i video di youtube,google,metacafe tramite www.mobytube.net.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/slapi">Scalable Language API</a> </td> +<td class="description"> Scalable Language API - An architecture for natural-language applications including speech recognition, speech synthesis, semantics, lexicons, machine translation and language identification.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/wincevncsvr">Windows CE VNC server</a> </td> +<td class="description"> Bare bone VNC server for Windows CE. Currently only uncompressed blocks are supported. It has been ported from the original code from AT&T (windows server release 3.3.3.r9) as part of a feasibility research project. Also compiles under VC++6.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/asap">ASAP - Another Slight Atari Player</a> </td> +<td class="description"> ASAP (Another Slight Atari Player) plays and converts Atari 8-bit music (*.sap, *.cmc, *.mpt, *.tmc, ...) on modern computers.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/ctypes">ctypes</a> </td> +<td class="description"> ctypes is a Python module allowing to create and manipulate C data types in Python. These can then be passed to C-functions loaded from dynamic link libraries.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/openpalm">OpenPalm</a> </td> +<td class="description"> OpenPalm is aimed at providing a Palm API compatible GUI system for small embedded devices. Not anymore a propritary OS can limit our imagination; not anymore a slow processor can limit our extension. Let's help fulfill these simple requirements.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/gps0-100">0-100</a> </td> +<td class="description"> GPS-aided car kinematics calculator. Computes forward and lateral accelerations of the vehicle, time to reach some speed and some distance. It will work on PocketPC.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/ixdp4xx">ixdp4xx - IXP425 wince project</a> </td> +<td class="description"> IXP4xx (IXP425, 422, 421, 420) BSP for wince (Windows CE) 4.2/5.0/6.0</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/openwince">The openwince project</a> </td> +<td class="description"> The openwince project collects free (open source) software tools, modules, applications, drivers, and so on for Windows CE platform developers. Some of the modules are usable outside Windows CE development environment and are platform independent.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketfrog">PocketFrog</a> </td> +<td class="description"> PocketFrog is *THE* game library to rapidly write blazing fast games on the Pocket PC platform. It is implemented in C++ with an object oriented design. If your application needs to harness the raw power of your Pocket PC graphics, PocketFrog is for you.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/ogles2">Vincent 3D Rendering Library</a> </td> +<td class="description"> This project is working on an open source implementation of the OpenGL ES 2.x API.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/dbldr">Embedded bootloader/OS for HFRK</a> </td> +<td class="description"> The bootloader and Linux/WinCE for HENGFENGRUIKE (ARM S3C2410) dev board.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/vade-mecum">Vade Mecum</a> </td> +<td class="description"> Vade Mecum is a feature-packed Pocket PC-based viewer for Plucker (http://www.plkr.org) documents, supporting text selection, highlighting, annotations, and more.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/melo">Melo AAC Decoder</a> </td> +<td class="description"> Portable AAC Decoder</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/wcelibcex">Windows CE C Library Extensions</a> </td> +<td class="description"> Package of C library extensions for Windows CE operating system. It is a supplement to C library available on Windows CE platform. The main objective of the project is to provide helper utilities for porting applications from Unix and Windows.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/lua-ce">Lua-5.1-CE</a> </td> +<td class="description"> This project is the porting of Lua5.1. It base on the porting for Lua5.0 which named LuaCE. It include an interpreter and a library projects file for EVC4.2.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/farsitools">FarsiWeb</a> </td> +<td class="description"> General information, and a pack of tools for manipulating the Persian (Farsi) language and script, on different platforms and operating systems.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/wince-xcompile">Cross compiler for Windows CE (PocketPC)</a> </td> +<td class="description"> This project contains a consistent and clean build toolchain so you can build Windows CE (PocketPC) applications from a Linux workstation. Documentation (how to get started with this) will also be provided.</td> +<td class="works">This is a predecessor to CeGCC</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/dungasync">Dunga Sync</a> </td> +<td class="description"> DungaSync is an effort to create a generic architecture to synchronize data over a wide range of formats and data sources. It it not bound to a certain platform, its concept allows the adaptation to any datasource. NOTE: DEVELOPMENT STOPPED! 12/2001 CS</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/schoolplaner">PPC Schulplaner</a> </td> +<td class="description"> PPC 2003 Schoolmanager (zum Verwalten von Noten, Stundenplaenen, Klausuren etc...) (Endprodukt ist hauptsaechlich fuer IPAQ vorgesehen, wird aber spaeter noch fuer Windows und Linux portiert.)</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/mythcontrol">MythControl</a> </td> +<td class="description"> MythControl makes out of your Windows Mobile Smartphone the best remote control ever for MythTV (or similar Media Center Products). It uses Bluetooth or TCP/IP to communicate with your MythTV box and has a flexible, customizable user interface.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/perlce">Perl for WinCE</a> </td> +<td class="description"> PerlCE provides pre-built perl binaries and some popular extensions for various WinCE platforms</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pdaspiritlevel">PDA Spirit Level</a> </td> +<td class="description"> "PDA Spirit" lets your PDA look like spirit level instrument. It includes functions like zero-point adjustment and live simulation of different angles.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/vlcpocketpc">VLC-PocketPC</a> </td> +<td class="description"> Windows CE BETA portage of VideoLAN VLC for Pocket PC.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/rsyncwin32">RsyncWin32</a> </td> +<td class="description"> Rsync port to native Win32.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketpc-dev">pocketpc-dev</a> </td> +<td class="description"> pocketpc-dev: Cross Compilers for the PocketPC ARM-WINCE-PE Target. Port of GNU C, C++, BINUTILS and newlib to PocketPC.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/npopuk">nPOPuk</a> </td> +<td class="description"> nPOPuk is an ultra-small, but comprehensive, e-mail client that runs on a wide range of Windows-based operating systems. See http://npopsupport.org.uk/ for more details.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/dialdtmf">dialDTMF</a> </td> +<td class="description"> dialDTMF is a library for dialing DTMF's (it is not a DTMF tone generator). An example usage of the library is included which is a Pocket Contact plugin to dial telephone numbers from a PDA running the Microsoft Pocket PC platform</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/celib">CELIB, WinCE ANSI C/POSIX library</a> </td> +<td class="description"> CELIB is ANSI C/POSIX layer library for Windows CE devices developped by Rainer Keuchel. It allows to port existing software to run on handheld and pocket devices. This project is devoted to maintaining the library.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/wxembedded">wxEmbedded</a> </td> +<td class="description"> Realize GUI based on wxWindows for embedded systems operating on Embedded Linux (x11 / framebuffer) and Windows (CE / .NET)</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/superwaba">SuperWaba</a> </td> +<td class="description"> SuperWaba is a Virtual Machine for handhelds. Runs in PalmOS, Windows CE, Win32, and is fully emulated under JDK/browser. Supports Exceptions, has a complete set of UI controls (Palm/WinCE), double and long, grayscale/color, sockets/serial/IR/Bluetooth</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/dasher">Dasher</a> </td> +<td class="description"> **** This page is no longer used by the Dasher project - please see http://www.dasher.org.uk/ **** Dasher is a data entry interface incorporating language modelling and driven by continuous two-dimensional gestures, e.g. a mouse, a stylus, or eye-tracker</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/alora">Alora Framework</a> </td> +<td class="description"> A cross platform development library which will focus mainly on SDL based games. It will provide API's for debugging, security, interface, logging and so on for almost every notable platform.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/hwx">HWX - The Perl IDE</a> </td> +<td class="description"> IDE for portables GUI applications in Perl. Works with wxPerl (wxWindows), GML (GUI Markup Language) and HPL.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/kyndig">Mud Magic Client</a> </td> +<td class="description"> OpenSource mud client designed to work on both windows,linux and MAC OS X. Written in Gtk+ and C with SQLLite, Python, MSP, MXP, HTML, and ZMP support. Provides plugin support, automapper functionality, triggers, aliases and macros.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/bussched">BusSched</a> </td> +<td class="description"> BusSched is a utility for PalmOS, Pocket PC and Windows, designed to give you easy access to Dublin Bus schedules. Several databases of schedules can be stored on your device/PC and selected dynamically.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/mpt">Mendeleev periodic table (MPT)</a> </td> +<td class="description"> Mendeleev periodic table (PalmOS,WinCE) displays: Atomic data, physical data, lattice data, neutron scattering data, chemical properties: electronegativity</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/tclce">tclce</a> </td> +<td class="description"> Port of Tcl (Tool Command Language) version 8.3 to the Windows CE operating system.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/dxgame">Space - A DirectX Game</a> </td> +<td class="description"> Space - A DirectX Game, is a DirectX, C, C++ based game that can be runned on any OS system. Needs DirectX in order to run effectively and cleanly. Peer-to-Peer, LAN, games as well as international gaming is available. Runs with 2+ players.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketgnugo">Mobile GNU Go</a> </td> +<td class="description"> Mobile GNU Go is a GNU Go player for Windows, Windows Mobiles including Pocket PC and Smartphone. Go, also known as Weiqi, is an ancient board game originated in China more than 4,000 years ago. Today Go is played by millions of people around the globe.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/gbrowsers">The GBrowser Software Project</a> </td> +<td class="description"> The Gbrowser Software Project.GBrowser is an advanced internet browser, support html/css/javascript/xml/wml,also support powerful rich client application development,This project is for develop all kinds of web based software based on Gbrowser API.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/crownim2">CIM3</a> </td> +<td class="description"> Provide a secure and centrally managed Business Instant Messaging Solution (server/client), including Chat, Voice / Video Conferencing, File Transfer, Emoticons, Dictionary and Tools add-in function etc.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/rwfile-java">Read-Write File for Java</a> </td> +<td class="description"> You can consider this a general "Java File Object Correction" project. It seeks to add in whatever features are missing or weak in the Java File implementation. For example, currently in Java, once a file is made read-only it cannot be reset back to a w</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/corelibrary">CoreLibrary</a> </td> +<td class="description"> The CoreLibrary is a multiplatform object library for C++ (Linux, Win32, MacOSX, PocketPC). It provides many of the common objects found in Java (Strings, Threads, Collections, etc.) and has the ability to send objects across the network like CORBA.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/mwaretechdotnet">mWareTechDotNet</a> </td> +<td class="description"> mWareTechDotNet a collection of source code,executable files of algorithms, applications and other programs, ported and/or written in the programming language C# using .NET project participants, to learn C, C++, C# and .NET . The project is useful for be</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/getlocal">getLocal</a> </td> +<td class="description"> The getLocal system provides positioning information about mobile clients in heterogeneous networks without relying on costly and proprietary positioning information from network operators. The Location information will be collected by user communties.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/vitooki">ViTooKi</a> </td> +<td class="description"> The Video-ToolKit supports adaptive standard compliant video streaming, transcoding and proxy caching. It supports MPEG-1/2/4/7/21, Theora and Vorbis/pcm/MP3, stored in various containers like mp4, avi, ogg, mkv over RTSP/RTP/UDP with retransmission or H</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/lisbon">Lisbon Embedded Database</a> </td> +<td class="description"> Object-based database for Windows CE with C++ and .Net interface</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/nazooke">Nazooke!</a> </td> +<td class="description"> Nazooke! lets people track their friends, vehicles, animals, or other things. It sends the user's position in defined intervals to a remote server which will show the user's position on a map.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/extra-language">Extra Language for Existing Software</a> </td> +<td class="description"> Software to build extra language resource for existing software and software library packages and tools for language computing</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/nethackce">NetHackCE</a> </td> +<td class="description"> An attempt to port NetHack to the WindowsCE operating system. With primary focus upon keyboard enabled WindowsCE devices.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketclive">PocketClive</a> </td> +<td class="description"> PocketClive is a PocketPC emulator for some of the classic 8-bit computers from Sinclair Research Ltd.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/cama">CAMA</a> </td> +<td class="description"> CAMA (Context-Aware Mobile Agents) is a middleware for supporting mobile agents coordination. It is based on Linda-style coordination and provides numerous extentions for interoperability and fault-tolerance. It supports portable platforms such as PDAs.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/distdrm">Distributed DRM Progect</a> </td> +<td class="description"> This shall be a DRM system that will have source and binaries for linux/unix and windows. It will be peer to peer distributed rather then central server with file owner having control of their file. Rights changes "perk down through system". TCP/IP, XM</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/simtoday">Sim Today</a> </td> +<td class="description"> Windows Mobile Phone editions today plugin to support Dual Sim adapters</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/mminstant">MM Server</a> </td> +<td class="description"> The aim of this project is to develop a standalone mobility plateforme, that supply security aspect, network aspect (dialing, QoS, P2P ...), fleet management and which is embedded mobile service such as push (mail, application ...) with an open API.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/akaciogps">AkacioGPS</a> </td> +<td class="description"> EN: OpenSource GPS software engine. (+Free maps) HUN: Nyilt forráskodú GPS program motor.(+ingyen térképek)</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/jomega">Jomega is a JNI extension of IBM J9 JVM</a> </td> +<td class="description"> JOmega is a Open Source Java Mobile J9 Extension This LGPL library is a JAVA-JNI-C++ extension of J9 IBM Java Virtual Machine CDC for WinCe. It provides low level power management support, sound and a SQL database based on Sqlite.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/gloposcom">GloPosCom</a> </td> +<td class="description"> An platform-independent engine that transfers global positioning data from a PDA/mobile phone/portable to XMPP-clients.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/php-mobile">PHP-Mobile Project</a> </td> +<td class="description"> This project is for carrying language PHP for mobiles platforms (PalmOS and others). using a small set of functions and classes.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/mysaifujvm">Mysaifu JVM</a> </td> +<td class="description"> Mysaifu JVM is a Java Virtual Machine for Windows Mobile for Windows Mobile.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/osi">Open System Interface</a> </td> +<td class="description"> Open System Interface(OSI) is an abstract layer of embedded os.It aims to provide a set of APIs for developing portable embedded software by hiding the raw APIs of various RTOS.A high-availability API,small footprint and high portable are OSI's features</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/flas">Free Lonworks Advanced Stack</a> </td> +<td class="description"> the goal of this project is to build a stack for Lonworks Protocol and device working on this protocol</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/lib-alexandria">Alexandria</a> </td> +<td class="description"> Alexandria is an archive system for large data amounts. Suitable for inhomogenous collections of books, media files, art items and other artifacts. Main focus is on easy usage, small executable file and portability.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/openssl4j">OpenSSL wrapper for Java</a> </td> +<td class="description"> This is an OpenSSL wrapper for Java for multiple platforms. The wrapper uses asynchronous OpenSSL interfaces, so it might be used in the style of JDK 1.5 SSL engine. The wrapper uses SSL engine of OpenSSL directly rather than just cryptogrphaphy.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/m-opengl">Mobile Open Graphic Library(m-openGL)</a> </td> +<td class="description"> m-OpenGL is a 2D graphic rendering engine for mobile device. It provide esay interfaces to render SWF and SVG.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/mobile-grapic">Mobile Graphic Library</a> </td> +<td class="description"> It is a platform independent 2D graphic library, which provide a easy way to render your 2D vector graphic data, such as SVG and SWF.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/gtk-wince">glib2-gtk-wince</a> </td> +<td class="description"> Port Gtk to Wince Environment but in the early stage first port glib2 to wince.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/quilmap">Quill is a lovely seeing eye dog.</a> </td> +<td class="description"> QuilMap is a project about Mobile GIS application in the handheld system.which base on Geometry file from remote server.and show the geometry graphic infomation and other economic info.develope in MS windows mobile os firstly. MSN:Jef...@ho...</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/b4e">BEE The Browser for Embeded </a> </td> +<td class="description"> The BE means Browser for Embedded.This project wants to provide a fast, light-weight web browser for different platform, espacially for embedded system. The first version is base on another open source browser - Zen.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/tunepal">TunePal</a> </td> +<td class="description"> TunePal is an open source player and searcher for ABC files that uses ABC2MIDI and Timidity</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/open-risc-som">Open RiSC-SOM</a> </td> +<td class="description"> Project to Open Hardware Designs, Schematics, PCB files, JTags and BSPs of 32bit MMU enabled RiSC-SOM(tm) for non-profit org(s).</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/port4ever">PocketEverything</a> </td> +<td class="description"> This project aims on the porting/update of the existing PC/PocketPC applications of any kind starting with developer tools and ending with games. The first subproject will be a continuation of development the brilliant PocketConsole/PocketCMS tools from</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketputty">PocketPuTTY</a> </td> +<td class="description"> PocketPuTTY is a Pocket PC port of famous PuTTY (SSH client). Smartphone support is also planned. The long-term goal is to get PocketPuTTY included into official PuTTY development tree.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/m2everyware">M 2 EveryWare</a> </td> +<td class="description"> M2 EveryWare provides a generic software/system framework for applications to: 1) remote data entries into DB's in data center 2) remote control of devices attached to a computer in home/office 3) receive instructions from home/office and reply</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/hypertella">hypertella</a> </td> +<td class="description"> hyptertella is a Peer to peer(p2p) system using the gnutella network, features include: filters, fast(er) downloads, easy interface, an open api for use in other applications such as an antivirus. the main pourpose of hypertella is stabability.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/dsapi">DSAPI</a> </td> +<td class="description"> DAPI (Data structures and Algorithm Programing Interface) is a programing interface of data structures and algorithms use c language, it supports multiple task</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/hiketracker">HikeTracker GPS</a> </td> +<td class="description"> Hiketracker GPS ist ein Projekt f�r die Navigation im Gel�nde mittels PocketPC und GPS-Empf�nger mit Bluetooth-Verbindung in Java. Hiketracker GPS is a Java based project to navigate in the landscape on PocketPC and GPS-receiver with Bluetooth-connectio</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/freeciv4ppc">Freeciv for the PocketPC</a> </td> +<td class="description"> Freeciv is a free turn-based multiplayer strategy game, in which each player becomes the leader of a civilization, fighting to obtain the ultimate goal: To become the greatest civilization.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/easyasnat">Easy as NAT -Open WiFi Bandwidth Sharing</a> </td> +<td class="description"> Our aim is providing fixed nodes with redundancy, share unused bandwidth, and create hotspots with base services(web,email,IM,etc.) for any roaming user. GOAL - To make sharing your excess bandwidth as easy as setting up a NAT (Or XP ICS). Admins Needed!</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/unisync">UniSync Server</a> </td> +<td class="description"> UniSync will allow you to run a synchronization server that communicates using the SyncML protocol (www.syncml.org) using accessor modules for Palm, WinCE, Outlook, etc. Web and WAP portals will allow you to access data from anywhere.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/passwordsafe">Password Safe</a> </td> +<td class="description"> Password Safe is a password database utility. Users can keep their passwords securely encrypted on their computers. A single Safe Combination unlocks them all.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/stlport">STLport</a> </td> +<td class="description"> Multiplatform C++ Standard Library (STL implementation). Many compilers and operational environments supported. Standard (ISO/IEC 14882) compliance. Maximum efficiency. Exception and thread safety. Debug mode.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/scummvm">ScummVM</a> </td> +<td class="description"> ScummVM is a cross-platform interpreter for several point-and-click adventure engines. This includes all SCUMM-based adventures by LucasArts, Simon the Sorcerer 1&2 by AdventureSoft, Beneath a Steel Sky and Broken Sword 1&2 by Revolution, and many more.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/xcsoar">XCSoar</a> </td> +<td class="description"> PocketPC Gliding/Soaring computer. Airspace Warnings, Final Glide, Landing Points In Range, Unlimited Tasks, GPS and Vario inputs, Auto Wind Calculation, Topographical Map, Fully configurable polars and much more</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/ambulant">ambulant</a> </td> +<td class="description"> Ambulant is an extensible cross-platform multimedia playback engine in C++, aimed primarily at playback of SMIL documents.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/keepasssd">KeePass for Smart Devices</a> </td> +<td class="description"> This project hosts the Windows Mobile ports of the famous Windows PC application "KeePass - The Open-Source Password Safe" from Dominik Reichl (http://keepass.sourceforge.net). KeePassPPC is based on KeePass V1.xx and KeePassSD on KeePass V2.xx.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/eurokbd">euro keyboard</a> </td> +<td class="description"> Multilanguage on-screen keyboard for PocketPC (Windows Mobile)</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/wxpropgrid">wxPropertyGrid</a> </td> +<td class="description"> wxPropertyGrid is a specialized two-column grid for editing properties such as strings, numbers, flagsets, fonts, and colours. Use with wxWidgets 2.6.0 or later (older 1.0.x releases also work with 2.5.x branch).</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pywin32">Python for Windows extensions</a> </td> +<td class="description"> Python Extensions for Windows</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketgpsmap">PocketGPS-Map</a> </td> +<td class="description"> This program views calibrated bitmap maps (moving maps) on PocketPC/WinCE platform. Additionaly it supports using GPS device to retrieve user position and show it (with other marks) in map - making it very handy for geocaching.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/claunch">cLaunch for PocketPC</a> </td> +<td class="description"> cLaunch - Highly customisable PocketPC Today Screen Launcher based on tdLaunch code</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/mpsdk">Intel® Mobile Platform SDK 1.2</a> </td> +<td class="description"> Intel® Mobile Platform SDK 1.2 enables developers to build mobile-aware applications. It provides a set of libraries and runtime components, along with a programming interface that is common across supported Windows platforms and runtimes.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/tcpmpflvplugin">TCPMP Plugin for Flash Video on PPC</a> </td> +<td class="description"> It is designed for Pocket PC 2003, Windows Mobile 5.0 and higher. It has two parts: 1. A program to download YouTube movie by PPC and PC. 2. A TCPMP plugin to play flv file directly on PPC (the plugin will never support CorePlayer)</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/smartwin">SmartWin++</a> </td> +<td class="description"> SmartWin++ is a C++ template GUI library written to give the flexibility of the Windows API without the hassle and lack of typesafety that MFC/WTL delivers. A flexible, expandable abstraction of the Windows API (formerly Win32 API).</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/cekli-photolab">Cekli Photolab</a> </td> +<td class="description"> A photo editor that provides real professional photo lab effects like smoothing and color filters, adaptive photo enhancement (adaptive sharpness and contrast). Based on C++ using wxWidget makes available for various OS (Linux, Windows, Mac OS, etc).</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketdigi">PocketDigi</a> </td> +<td class="description"> Hamradio HF digital teletype modem for PocketPC.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/tvguide-ppc">tvguide-ppc</a> </td> +<td class="description"> TVGuide for Pocket PC - TV schedule viewer. This is Pocket PC analogue of Palm program Advanced TV Guide (ATV).</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/progrdowntcpmp">flv streaming plugin for tcpmp</a> </td> +<td class="description"> Play video from youtube,googlevideo,metacafe,etc through www.mobytube.net with pocketpc/smartphones and tcpmp video player.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketxpdf">PocketXpdf</a> </td> +<td class="description"> PocketXpdf is a PDF-file viewer for the PocketPC/Windows mobile platform based on Xpdf.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/tbookdtd">tbook -- Document Preparation with XML</a> </td> +<td class="description"> A system that typesets XML documents with high-level LaTeX while HTML, XHTML+MathML and DocBook output is equally possible. It bases on the LaTeX-like tbook DTD developed for this project, XSLT transformations and further tools.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/feedlaunch">Feed Launch .NET</a> </td> +<td class="description"> Feed Launch .NET is an open-source feed creator and feed editor for both RSS 2.0 and ATOM 1.0 Feeds. A clean interface makes feed creation intuitive. Preview your Feeds or save them on your hard disk. Upload feature via FTP is integrated into the app.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/mobilexpdf">MobileXpdf</a> </td> +<td class="description"> Free open source PDF reader for smartphone (Windows Mobile 2003SE and Windows Mobile 5.0) It's a free PDF reader for smart phone using Windows Mobile ... Cab is also available for free download ( CVS source code available too )</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketvnc">PocketVNC</a> </td> +<td class="description"> This project is to provide a single installable PocketPC release of a VNC Server and Client, based on existing works from previous authors.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/labyrinthgame">Labyrinth</a> </td> +<td class="description"> Labyrinth is a complicated game for two or more players. They walk in dark Labyrinth, searching for treasures, by passing moves to server and getting replies.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pnester">PocketNester</a> </td> +<td class="description"> PocketNester is a fast NES/Famicom emulator for Pocket PC featuring impressive speed (30~50fps on 200Mhz XScale), accurate sound, intuitive UI and good support of loads of NES mappers. PocketNester is based on nester, nesterce & unofficial nester.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/dopewarsppc">DopeWars for the PocketPC</a> </td> +<td class="description"> Dopewars is a game simulating the life of a drug dealer in New York. Deal in drugs, amass a huge fortune and pay off the loanshark, while avoiding the police.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/rhobot">Rho-Bot for Half-Life</a> </td> +<td class="description"> Rho-Bot is a computer-generated opponent for the Sierra/Valve game Half-Life. This project has been effectively abandoned.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketmk">PocketMK</a> </td> +<td class="description"> PocketMK is programmable RPN calculator designed to be comfortable for small screens (like PDA) and compatible with a set of Soviet programmable calculators (like MK-61). It have special functions (erf, gamma ...), graphical and indirect address commands</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/fatsip">Fat Keyboard</a> </td> +<td class="description"> Virtual keyboard for PocketPC with "fat" buttons. So you can type by fingers without stilus.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/widestudio">WideStudio</a> </td> +<td class="description"> WideStudio is an Integrated Development Environment (IDE) for building window applications in C++, Ruby, Python an Perl for Windows, MacOSX, Linux, FreeBSD, SOLARIS and other unix and BTRON and T-Engine. This is open and free (under MIT/X Consortiun Lice</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/robokick">Kicking RoboSapien Humanoid Robots</a> </td> +<td class="description"> RoboKick is a software that enables a modified RoboSapien humanoid toy-robot to play soccer. The software package includes a detailed description of how to modify the original toy robot in order to equip it with a PDA and a vision system.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/mxcontrolgreece">MXControl Greek</a> </td> +<td class="description"> The MXControl Greece is creates tools for WinMX p2p program to help greek users of WinMX a part of the MXControl Greece project is MXControl Simple Bot RoboMX and Metis. The MXControl Program Is In Greek Language.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/tracetool">TraceTool</a> </td> +<td class="description"> Send C++ , Java, Delphi or Dot Net traces to an external viewer(local/remote). Traces can display Objects info, stacks ,dumps,... The viewer display OutputDebugString and Eventlog msg. Act as a Tail-f. Pocket PC development is supported in C++ and C#.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/winsrvx">winSrvX</a> </td> +<td class="description"> As we all know, srvX is a very usefull and god IRC Service bot set. I have searched the net for a set of bots like srvX but for windows. None found. winSrvX is srvX ported to windows platform. All the credits goes to the GameSurge Developers.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/simcoupe">SimCoupe - A SAM Coupe Emulator</a> </td> +<td class="description"> SimCoupe emulates a SAM Coupé home computer - a Z80-based machine released in 1989 by Miles Gordon Technology. The emulator is written mainly in C++, with Win32, SDL, Allegro and Pocket PC targets.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/medsurvey">MedSurvey</a> </td> +<td class="description"> A medical information system for Windows-based systems (95-XP/CE/PocketPC) based on Open Source platforms</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/atv">Zaval Advanced TV Guide</a> </td> +<td class="description"> Zaval Advanced TV Guide (also known as ATV) is a small and nifty program that allows TV schedule viewing with your PDA, so you will be always informed on what's on TV. With our product you can do TV programs tracking and much more!</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/opennono">OpenNono</a> </td> +<td class="description"> OpenNono is a free implementation of the 'Nonogram' game, a picture logic puzzle.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/nbtstatce">NbtstatCE</a> </td> +<td class="description"> Nbtstat for the Pocket PC. Written in Embedded Visual C++. All versions of Windows CE have a file explorer which can not view windows shares easily. Nbtstat allows the user to view netbios shares on all IP addresses in a subnet.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/war3d">War 3D</a> </td> +<td class="description"> WAR 3D is a strategy game, miltiplataform, already for Windows/Linux, similar to Age of Empires or Star Craft. War 3D is written in C++, usin the libraries of OpenGL and Glut.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/p-2">Portable Personality</a> </td> +<td class="description"> P2 is a middleware solution for smart user profiling and advanced profile distribution. It provides a comfortable interface to both profile provider and consumer applications, enabling them to create, exchange and evaluate user profiles easily.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/wikigps">wikigps</a> </td> +<td class="description"> A symbiosis of WikiMapia and GPS module for PocketPC PDA.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/slmath">GLSL Math for C++</a> </td> +<td class="description"> C++ math library providing similar interfaces to GLSL</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/safarimobile">SafariMobile</a> </td> +<td class="description"> A very fast and tiny web browser for hand-hold devices based on S60WebKit,full support Windows Mobile,Symbian S60,etc.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/keyhole">KeyHole</a> </td> +<td class="description"> KeyHole is a Windows CE application that turns commodity CE devices into intelligent homing beacons that update their location in real-time to OpenGIS WFS servers.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/kbattery">KBattery</a> </td> +<td class="description"> Small battery meter and memory/storage card status display for Windows Mobile 2003 and WM 2003 Second Edition PocketPC devices. Supports VGA resolution. Shows battery meter in the top taskbar, configurable, can replace clock by clock+battery meter.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/foxirc">FoxIRC</a> </td> +<td class="description"> FoxIRC - opensource IRC client for Windows Mobile 2003/5.0 Smartphone Edition. Featuring tabbed channel view, multilingual support and other.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pckdos">pckdos</a> </td> +<td class="description"> DOS emulation program for WinCE. Based on Dosbox.063,n0p's DosBox,Wall's pDosBox beta 2, mamaich compiller, Pocket Console and DOS Emulator. You may use these tools at your own risk!</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/herecast">Herecast</a> </td> +<td class="description"> Herecast is an application that delivers location-based services using only an 802.11 network (no GPS required.) It can also be used as an Wi-Fi network scanner for Pocket PC 2003.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/scusi">Scusi</a> </td> +<td class="description"> A Windows CE port of Qt 4.2.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/maxantcolony">Ant Colony Maxium</a> </td> +<td class="description"> Great Ant Colony Maxium</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/graphite-wince">Graphite for Pocket PC</a> </td> +<td class="description"> Graphite for Pocket PC and WinCE is a free mathematical graphic Tool. It draws graphs like f(x)=x�. It is very useful for result-control in all mathematic environments. Binaries for PocketPC2002/2003 on ARM/XScale are directly available.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/semxq-suite">SemXQ Suite for Infosystem Intelligence</a> </td> +<td class="description"> The project will integrate viable aspects of the semantic web technologies for use with advanced Semantic SQLCLI based XML DBMS. The purpose of this project is develop a GUI Application for a Suite of ECM Services.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/cabassa">Cabassa Reference</a> </td> +<td class="description"> This program will be an easy to use dictionary reader. It will have a spellchecker, and will allow you to find any form of a word, which is useful in morphologically complex languages.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketwarrior">PocketWarrior PocketPC WiFi Survey tool</a> </td> +<td class="description"> PocketPC WiFi 802.11b Prism wardriving tool</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/virtualtiemu">Virtual TI Emulator</a> </td> +<td class="description"> This is an emulator for the TI line of graphing calculators. The emulator runs programs written for z80 and 68k based calculators. This program is written for MS Windows but we need porters! This project was abandond by rusty wagner</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/crengine">CoolReader Engine</a> </td> +<td class="description"> CoolReader Engine is fast and small cross-platform XML/CSS visualization library for writing E-Book readers for desktops as well as for handheld devices.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/wmmar">Mail Account Repair</a> </td> +<td class="description"> Project's aim is to repair one or more windows mobile e-mail account after they have suddenly disappeared due to an inconsistency of it's properties.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/pocketkobo">PocketKobo</a> </td> +<td class="description"> PocketKobo is a single-player four-way scrolling action game. Your objective is to destroy all the fortresses. Control your space ship by pressing the cursor keys and shoot beams by pressing the action key. PocketKobo is a port of the game XKOBO.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/cecontacttools">ContactTools for PocketPC</a> </td> +<td class="description"> ContactTools for PocketPC is a set of tools to manage, extend and organize your PocketPC contact list, some of them are made to improve the way Pocket Outlook Works, adding some missing functionality.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/z-bar">Z-Bar: .NET for Zebra Printers</a> </td> +<td class="description"> [PROJECT CLOSED!] A collection of MS VS.NET (C++, C#, VB.NET) components, controls and class libraries (Win32/64 and WinCE/WM) to aid development of printing functionality in .NET applications that make use of the Zebra barcode, mobile and RFID printers.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/wxcrp">wxCRP - Code Generator and Repos Tool</a> </td> +<td class="description"> wxCRP can output code based on a flexible template language. This allows you to create your code only once, debug and verify it, then use it in many situations due to the flexible output of the GUI wizard and template mechanism. Also for project files.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/crust">Crust</a> </td> +<td class="description"> Visual Software used in the medical field for developing a comprehensive system to capture and analyse image based medical conditions.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/mobiserv">MobiServ Parking System</a> </td> +<td class="description"> This is a client/server application. It is a parking assistant to a smartphone user. The client runs on a smartphone and the server is on desktop.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/inventurce">InventurCE</a> </td> +<td class="description"> InventurCE is a project for the german municipalities to check their inventory on a handheld.</td> +<td class="works">?</td> +</tr> +<tr> +<td class="project"> <a href="http://sourceforge.net/projects/djvuce">DjvuCE</a> </td> +<td class="description"> This project aims to develop DjVu reader for PocketPC (and, maybe, for windows mobile sm... [truncated message content] |
From: <dan...@us...> - 2007-10-20 17:43:49
|
Revision: 1066 http://cegcc.svn.sourceforge.net/cegcc/?rev=1066&view=rev Author: dannybackx Date: 2007-10-20 10:43:44 -0700 (Sat, 20 Oct 2007) Log Message: ----------- 2007-10-20 Jacek M. Holeczek <hol...@us...> * include/winuser.h (ChangeDisplaySettings): Define differently for CE than for other Windows versions. * include/shellapi.h (ShellExecuteEx, ShellExecute): Define only those functions that exist in the CE API. * include/wingdi.h (struct _devicemodeW, DEVMODEW, LPDEVMODEW, PDEVMODEW): Define this structure, the typedefs, and the constants it requires differently for Windows CE than for other Windows platforms. Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/shellapi.h trunk/cegcc/src/w32api/include/wingdi.h trunk/cegcc/src/w32api/include/winuser.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2007-10-20 17:25:19 UTC (rev 1065) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2007-10-20 17:43:44 UTC (rev 1066) @@ -1,3 +1,13 @@ +2007-10-20 Jacek M. Holeczek <hol...@us...> + * include/winuser.h (ChangeDisplaySettings): Define differently for CE + than for other Windows versions. + * include/shellapi.h (ShellExecuteEx, ShellExecute): Define only those + functions that exist in the CE API. + * include/wingdi.h (struct _devicemodeW, DEVMODEW, LPDEVMODEW, + PDEVMODEW): Define this structure, the typedefs, and the constants + it requires differently for Windows CE than for other Windows + platforms. + 2007-10-20 Danny Backx <dan...@us...> * include/winuser.h (IsDlgButtonChecked) : Change to a macro for Modified: trunk/cegcc/src/w32api/include/shellapi.h =================================================================== --- trunk/cegcc/src/w32api/include/shellapi.h 2007-10-20 17:25:19 UTC (rev 1065) +++ trunk/cegcc/src/w32api/include/shellapi.h 2007-10-20 17:43:44 UTC (rev 1066) @@ -297,14 +297,14 @@ BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW); int WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON); int WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON); +#ifndef _WIN32_WCE HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT); HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT); BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA); -#ifndef _WIN32_WCE BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW); -#else +#else /* _WIN32_WCE */ BOOL WINAPI ShellExecuteEx(LPSHELLEXECUTEINFOW); -#endif +#endif /* _WIN32_WCE */ int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA); int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW); void WINAPI SHFreeNameMappings(HANDLE); @@ -341,10 +341,10 @@ #define FindExecutable FindExecutableW #define Shell_NotifyIcon Shell_NotifyIconW #define ShellAbout ShellAboutW +#ifndef _WIN32_WCE #define ShellExecute ShellExecuteW -#ifndef _WIN32_WCE #define ShellExecuteEx ShellExecuteExW -#endif +#endif /* _WIN32_WCE */ #define SHFileOperation SHFileOperationW #ifndef _WIN32_WCE #define SHGetFileInfo SHGetFileInfoW Modified: trunk/cegcc/src/w32api/include/wingdi.h =================================================================== --- trunk/cegcc/src/w32api/include/wingdi.h 2007-10-20 17:25:19 UTC (rev 1065) +++ trunk/cegcc/src/w32api/include/wingdi.h 2007-10-20 17:43:44 UTC (rev 1066) @@ -1182,10 +1182,20 @@ #define DM_PELSHEIGHT 0x00100000 #define DM_DISPLAYFLAGS 0x00200000 #define DM_DISPLAYFREQUENCY 0x00400000 +#ifndef _WIN32_WCE #define DM_ICMMETHOD 0x00800000 #define DM_ICMINTENT 0x01000000 #define DM_MEDIATYPE 0x02000000 #define DM_DITHERTYPE 0x04000000 +#else /* _WIN32_WCE */ +#define DM_DISPLAYORIENTATION 0x00800000 +#define DM_DISPLAYQUERYORIENTATION 0x01000000 +#define DMDO_0 0 +#define DMDO_DEFAULT DMDO_0 +#define DMDO_90 1 +#define DMDO_180 2 +#define DMDO_270 4 +#endif /* _WIN32_WCE */ #if(WINVER >= 0x0500) #define DM_PANNINGWIDTH 0x08000000 #define DM_PANNINGHEIGHT 0x10000000 @@ -1523,6 +1533,7 @@ #endif #endif /* WINVER >= 0x0400 */ } DEVMODEA,*LPDEVMODEA,*PDEVMODEA; +#ifndef _WIN32_WCE typedef struct _devicemodeW { WCHAR dmDeviceName[CCHDEVICENAME]; WORD dmSpecVersion; @@ -1574,6 +1585,37 @@ #endif #endif /* WINVER >= 0x0400 */ } DEVMODEW,*LPDEVMODEW,*PDEVMODEW; +#else /* _WIN32_WCE */ +typedef struct _devicemodeW { + WCHAR dmDeviceName[CCHDEVICENAME]; + WORD dmSpecVersion; + WORD dmDriverVersion; + WORD dmSize; + WORD dmDriverExtra; + DWORD dmFields; + short dmOrientation; + short dmPaperSize; + short dmPaperLength; + short dmPaperWidth; + short dmScale; + short dmCopies; + short dmDefaultSource; + short dmPrintQuality; + short dmColor; + short dmDuplex; + short dmYResolution; + short dmTTOption; + short dmCollate; + WCHAR dmFormName[CCHFORMNAME]; + WORD dmLogPixels; + DWORD dmBitsPerPel; + DWORD dmPelsWidth; + DWORD dmPelsHeight; + DWORD dmDisplayFlags; + DWORD dmDisplayFrequency; + DWORD dmDisplayOrientation; +} DEVMODEW,*PDEVMODEW,*NPDEVMODEW,*LPDEVMODEW; +#endif /* _WIN32_WCE */ typedef struct tagDIBSECTION { BITMAP dsBm; BITMAPINFOHEADER dsBmih; Modified: trunk/cegcc/src/w32api/include/winuser.h =================================================================== --- trunk/cegcc/src/w32api/include/winuser.h 2007-10-20 17:25:19 UTC (rev 1065) +++ trunk/cegcc/src/w32api/include/winuser.h 2007-10-20 17:43:44 UTC (rev 1066) @@ -3391,11 +3391,15 @@ WINUSERAPI WORD WINAPI CascadeWindows(HWND,UINT,LPCRECT,UINT,const HWND*); WINUSERAPI BOOL WINAPI ChangeClipboardChain(HWND,HWND); #ifndef NOGDI +#ifndef _WIN32_WCE WINUSERAPI LONG WINAPI ChangeDisplaySettingsA(PDEVMODEA,DWORD); WINUSERAPI LONG WINAPI ChangeDisplaySettingsW(PDEVMODEW,DWORD); WINUSERAPI LONG WINAPI ChangeDisplaySettingsExA(LPCSTR,LPDEVMODEA,HWND,DWORD,LPVOID); WINUSERAPI LONG WINAPI ChangeDisplaySettingsExW(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID); -#endif +#else /* _WIN32_WCE */ +WINUSERAPI LONG WINAPI ChangeDisplaySettingsEx(LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID); +#endif /* _WIN32_WCE */ +#endif /* NOGDI */ WINUSERAPI BOOL WINAPI ChangeMenuA(HMENU,UINT,LPCSTR,UINT,UINT); WINUSERAPI BOOL WINAPI ChangeMenuW(HMENU,UINT,LPCWSTR,UINT,UINT); WINUSERAPI LPSTR WINAPI CharLowerA(LPSTR); @@ -4254,14 +4258,14 @@ #ifndef NOGDI typedef ICONMETRICSW ICONMETRICS,*LPICONMETRICS; typedef NONCLIENTMETRICSW NONCLIENTMETRICS,*LPNONCLIENTMETRICS; +#define CreateDesktop CreateDesktopW +#ifndef _WIN32_WCE #define ChangeDisplaySettings ChangeDisplaySettingsW #define ChangeDisplaySettingsEx ChangeDisplaySettingsExW -#define CreateDesktop CreateDesktopW -#ifndef _WIN32_WCE #define EnumDisplaySettings EnumDisplaySettingsW #define EnumDisplaySettingsEx EnumDisplaySettingsExW #define EnumDisplayDevices EnumDisplayDevicesW -#endif +#endif /* _WIN32_WCE */ #endif /* NOGDI */ #else /* UNICODE */ #define EDITWORDBREAKPROC EDITWORDBREAKPROCA This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2007-10-20 17:25:24
|
Revision: 1065 http://cegcc.svn.sourceforge.net/cegcc/?rev=1065&view=rev Author: dannybackx Date: 2007-10-20 10:25:19 -0700 (Sat, 20 Oct 2007) Log Message: ----------- Change IsDlgButtonChecked into a macro, this matches the description on http://msdn2.microsoft.com/en-us/library/ms909866.aspx . Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/winuser.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2007-10-16 21:22:00 UTC (rev 1064) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2007-10-20 17:25:19 UTC (rev 1065) @@ -1,3 +1,8 @@ +2007-10-20 Danny Backx <dan...@us...> + + * include/winuser.h (IsDlgButtonChecked) : Change to a macro for + Windows CE. + 2007-10-16 Erik van Pienbroek <er...@va...> * include/commdlg.h (ChooseColor): New declaration, and hide Modified: trunk/cegcc/src/w32api/include/winuser.h =================================================================== --- trunk/cegcc/src/w32api/include/winuser.h 2007-10-16 21:22:00 UTC (rev 1064) +++ trunk/cegcc/src/w32api/include/winuser.h 2007-10-20 17:25:19 UTC (rev 1065) @@ -3785,7 +3785,11 @@ WINUSERAPI BOOL WINAPI IsClipboardFormatAvailable(UINT); WINUSERAPI BOOL WINAPI IsDialogMessageA(HWND,LPMSG); WINUSERAPI BOOL WINAPI IsDialogMessageW(HWND,LPMSG); +#ifdef _WIN32_WCE +#define IsDlgButtonChecked(h, i) SendDlgItemMessageW(h, i, BM_GETCHECK, (WPARAM)(0), 0) +#else WINUSERAPI UINT WINAPI IsDlgButtonChecked(HWND,int); +#endif #if(_WIN32_WINNT >= 0x0501) WINUSERAPI BOOL WINAPI IsGUIThread(BOOL); #endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2007-10-16 22:03:27
|
Revision: 1063 http://cegcc.svn.sourceforge.net/cegcc/?rev=1063&view=rev Author: pedroalves Date: 2007-10-16 13:52:57 -0700 (Tue, 16 Oct 2007) Log Message: ----------- 2007-10-16 Erik van Pienbroek <er...@va...> * include/sys/time.h (gettimeofday): Expose on __COREDLL__. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/include/sys/time.h Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2007-09-19 18:51:06 UTC (rev 1062) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2007-10-16 20:52:57 UTC (rev 1063) @@ -1,7 +1,6 @@ -2007-09-03 Pedro Alves <ped...@po...> +2007-10-16 Erik van Pienbroek <er...@va...> - * mingwex/wince/open: Include sys/stat.h. - (vopen): Implement PMODE parameter support. + * include/sys/time.h (gettimeofday): Expose on __COREDLL__. 2007-09-03 Pedro Alves <ped...@po...> Modified: trunk/cegcc/src/mingw/include/sys/time.h =================================================================== --- trunk/cegcc/src/mingw/include/sys/time.h 2007-09-19 18:51:06 UTC (rev 1062) +++ trunk/cegcc/src/mingw/include/sys/time.h 2007-10-16 20:52:57 UTC (rev 1063) @@ -36,10 +36,8 @@ The timezone pointer arg is ignored. Errors are ignored. */ -#ifndef __COREDLL__ int __cdecl gettimeofday(struct timeval *__restrict__, void *__restrict__ /* tzp (unused) */); -#endif #ifdef __cplusplus } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2007-10-16 21:22:44
|
Revision: 1064 http://cegcc.svn.sourceforge.net/cegcc/?rev=1064&view=rev Author: pedroalves Date: 2007-10-16 14:22:00 -0700 (Tue, 16 Oct 2007) Log Message: ----------- 2007-10-16 Erik van Pienbroek <er...@va...> * include/commdlg.h (ChooseColor): New declaration, and hide macro. (ChooseColorA, ChooseColorW): Hide. * include/shellapi.h (SHLoadBIBitmap): Declare. * include/winbase.h (_SYSTEM_POWER_STATUS, _SYSTEM_POWER_STATUS) (LPSYSTEM_POWER_STATUS, GetSystemPowerStatus): Hide. * include/winuser.h (EnumDisplaySettings, EnumDisplayDevices): New declarations, and hide macros. (EnumDisplaySettingsA, EnumDisplaySettingsW) (EnumDisplaySettingsExA, EnumDisplaySettingsExW) (EnumDisplayDevicesA, EnumDisplayDevicesW): Hide. (TrackPopupMenu): Define in terms of TrackPopupMenuEx. Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/commdlg.h trunk/cegcc/src/w32api/include/shellapi.h trunk/cegcc/src/w32api/include/winbase.h trunk/cegcc/src/w32api/include/winuser.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2007-10-16 20:52:57 UTC (rev 1063) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2007-10-16 21:22:00 UTC (rev 1064) @@ -1,3 +1,18 @@ +2007-10-16 Erik van Pienbroek <er...@va...> + + * include/commdlg.h (ChooseColor): New declaration, and hide + macro. + (ChooseColorA, ChooseColorW): Hide. + * include/shellapi.h (SHLoadBIBitmap): Declare. + * include/winbase.h (_SYSTEM_POWER_STATUS, _SYSTEM_POWER_STATUS) + (LPSYSTEM_POWER_STATUS, GetSystemPowerStatus): Hide. + * include/winuser.h (EnumDisplaySettings, EnumDisplayDevices): New + declarations, and hide macros. + (EnumDisplaySettingsA, EnumDisplaySettingsW) + (EnumDisplaySettingsExA, EnumDisplaySettingsExW) + (EnumDisplayDevicesA, EnumDisplayDevicesW): Hide. + (TrackPopupMenu): Define in terms of TrackPopupMenuEx. + 2007-09-19 Danny Backx <dan...@us...> * include/service.h (ServiceAddPort): Fix type of szRegWritePath Modified: trunk/cegcc/src/w32api/include/commdlg.h =================================================================== --- trunk/cegcc/src/w32api/include/commdlg.h 2007-10-16 20:52:57 UTC (rev 1063) +++ trunk/cegcc/src/w32api/include/commdlg.h 2007-10-16 21:22:00 UTC (rev 1064) @@ -525,8 +525,12 @@ } PRINTDLGEXW, *LPPRINTDLGEXW; #endif /* WINVER >= 0x0500 */ +#ifdef _WIN32_WCE +BOOL WINAPI ChooseColor(LPCHOOSECOLORW); +#else BOOL WINAPI ChooseColorA(LPCHOOSECOLORA); BOOL WINAPI ChooseColorW(LPCHOOSECOLORW); +#endif BOOL WINAPI ChooseFontA(LPCHOOSEFONTA); BOOL WINAPI ChooseFontW(LPCHOOSEFONTW); DWORD WINAPI CommDlgExtendedError(void); @@ -568,7 +572,9 @@ typedef OFNOTIFYW OFNOTIFY,*LPOFNOTIFY; typedef PAGESETUPDLGW PAGESETUPDLG,*LPPAGESETUPDLG; typedef PRINTDLGW PRINTDLG,*LPPRINTDLG; +#ifndef _WIN32_WCE #define ChooseColor ChooseColorW +#endif #define ChooseFont ChooseFontW #define FindText FindTextW #define GetFileTitle GetFileTitleW @@ -598,7 +604,9 @@ typedef OFNOTIFYA OFNOTIFY,*LPOFNOTIFY; typedef PAGESETUPDLGA PAGESETUPDLG,*LPPAGESETUPDLG; typedef PRINTDLGA PRINTDLG,*LPPRINTDLG; +#ifndef _WIN32_WCE #define ChooseColor ChooseColorA +#endif #define ChooseFont ChooseFontA #define FindText FindTextA #define GetFileTitle GetFileTitleA Modified: trunk/cegcc/src/w32api/include/shellapi.h =================================================================== --- trunk/cegcc/src/w32api/include/shellapi.h 2007-10-16 20:52:57 UTC (rev 1063) +++ trunk/cegcc/src/w32api/include/shellapi.h 2007-10-16 21:22:00 UTC (rev 1064) @@ -326,6 +326,7 @@ #ifdef _WIN32_WCE BOOL WINAPI SHGetShortcutTarget(LPCTSTR,LPTSTR,int); BOOL WINAPI SHCreateShortcut(LPTSTR,LPTSTR); +HBITMAP WINAPI SHLoadDIBitmap(LPCTSTR); #endif #ifdef UNICODE Modified: trunk/cegcc/src/w32api/include/winbase.h =================================================================== --- trunk/cegcc/src/w32api/include/winbase.h 2007-10-16 20:52:57 UTC (rev 1063) +++ trunk/cegcc/src/w32api/include/winbase.h 2007-10-16 21:22:00 UTC (rev 1064) @@ -900,6 +900,7 @@ WORD wProcessorLevel; WORD wProcessorRevision; } SYSTEM_INFO,*LPSYSTEM_INFO; +#ifndef _WIN32_WCE typedef struct _SYSTEM_POWER_STATUS { BYTE ACLineStatus; BYTE BatteryFlag; @@ -908,6 +909,7 @@ DWORD BatteryLifeTime; DWORD BatteryFullLifeTime; } SYSTEM_POWER_STATUS,*LPSYSTEM_POWER_STATUS; +#endif typedef struct _TIME_ZONE_INFORMATION { LONG Bias; WCHAR StandardName[32]; @@ -1589,8 +1591,9 @@ WINBASEAPI UINT WINAPI GetSystemDirectoryA(LPSTR,UINT); WINBASEAPI UINT WINAPI GetSystemDirectoryW(LPWSTR,UINT); WINBASEAPI VOID WINAPI GetSystemInfo(LPSYSTEM_INFO); +#ifndef _WIN32_WCE WINBASEAPI BOOL WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS); -#ifdef _WIN32_WCE +#else WINBASEAPI DWORD GetSystemPowerStatusEx2(PSYSTEM_POWER_STATUS_EX2,DWORD,BOOL); WINBASEAPI BOOL GetSystemPowerStatusEx(PSYSTEM_POWER_STATUS_EX,BOOL); #endif Modified: trunk/cegcc/src/w32api/include/winuser.h =================================================================== --- trunk/cegcc/src/w32api/include/winuser.h 2007-10-16 20:52:57 UTC (rev 1063) +++ trunk/cegcc/src/w32api/include/winuser.h 2007-10-16 21:22:00 UTC (rev 1064) @@ -3554,6 +3554,10 @@ WINUSERAPI BOOL WINAPI EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM); WINUSERAPI BOOL WINAPI EnumDisplayMonitors(HDC,LPCRECT,MONITORENUMPROC,LPARAM); #ifndef NOGDI +#ifdef _WIN32_WCE +WINUSERAPI BOOL WINAPI EnumDisplaySettings(LPCWSTR,DWORD,PDEVMODEW); +WINUSERAPI BOOL WINAPI EnumDisplayDevices(LPCWSTR,DWORD,PDISPLAY_DEVICEW,DWORD); +#else WINUSERAPI BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,PDEVMODEA); WINUSERAPI BOOL WINAPI EnumDisplaySettingsW(LPCWSTR,DWORD,PDEVMODEW); #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410) @@ -3563,6 +3567,7 @@ WINUSERAPI BOOL WINAPI EnumDisplayDevicesA(LPCSTR,DWORD,PDISPLAY_DEVICEA,DWORD); WINUSERAPI BOOL WINAPI EnumDisplayDevicesW(LPCWSTR,DWORD,PDISPLAY_DEVICEW,DWORD); #endif +#endif WINUSERAPI int WINAPI EnumPropsA(HWND,PROPENUMPROCA); WINUSERAPI int WINAPI EnumPropsW(HWND,PROPENUMPROCW); WINUSERAPI int WINAPI EnumPropsExA(HWND,PROPENUMPROCEXA,LPARAM); @@ -4029,7 +4034,12 @@ WINUSERAPI int WINAPI ToUnicode(UINT,UINT,PBYTE,LPWSTR,int,UINT); WINUSERAPI int WINAPI ToUnicodeEx(UINT,UINT,PBYTE,LPWSTR,int,UINT,HKL); WINUSERAPI BOOL WINAPI TrackMouseEvent(LPTRACKMOUSEEVENT); +#ifdef _WIN32_WCE +#define TrackPopupMenu(hmenu,uFlags,x,y,nReserved,hWnd,rect) \ + TrackPopupMenuEx(hmenu,uFlags,x,y,hWnd,NULL) +#else WINUSERAPI BOOL WINAPI TrackPopupMenu(HMENU,UINT,int,int,int,HWND,LPCRECT); +#endif WINUSERAPI BOOL WINAPI TrackPopupMenuEx(HMENU,UINT,int,int,HWND,LPTPMPARAMS); WINUSERAPI int WINAPI TranslateAcceleratorA(HWND,HACCEL,LPMSG); WINUSERAPI int WINAPI TranslateAcceleratorW(HWND,HACCEL,LPMSG); @@ -4243,9 +4253,11 @@ #define ChangeDisplaySettings ChangeDisplaySettingsW #define ChangeDisplaySettingsEx ChangeDisplaySettingsExW #define CreateDesktop CreateDesktopW +#ifndef _WIN32_WCE #define EnumDisplaySettings EnumDisplaySettingsW #define EnumDisplaySettingsEx EnumDisplaySettingsExW #define EnumDisplayDevices EnumDisplayDevicesW +#endif #endif /* NOGDI */ #else /* UNICODE */ #define EDITWORDBREAKPROC EDITWORDBREAKPROCA This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2007-09-19 18:51:12
|
Revision: 1062 http://cegcc.svn.sourceforge.net/cegcc/?rev=1062&view=rev Author: dannybackx Date: 2007-09-19 11:51:06 -0700 (Wed, 19 Sep 2007) Log Message: ----------- * include/service.h (ServiceAddPort): Fix type of szRegWritePath parameter, MSDN is wrong. * include/service.h: Use 400, not 0x0400 to conditionally compile. Modified Paths: -------------- trunk/cegcc/src/w32api/ChangeLog.ce trunk/cegcc/src/w32api/include/service.h Modified: trunk/cegcc/src/w32api/ChangeLog.ce =================================================================== --- trunk/cegcc/src/w32api/ChangeLog.ce 2007-09-11 21:36:53 UTC (rev 1061) +++ trunk/cegcc/src/w32api/ChangeLog.ce 2007-09-19 18:51:06 UTC (rev 1062) @@ -1,3 +1,9 @@ +2007-09-19 Danny Backx <dan...@us...> + + * include/service.h (ServiceAddPort): Fix type of szRegWritePath + parameter, MSDN is wrong. + * include/service.h: Use 400, not 0x0400 to conditionally compile. + 2007-08-09 Danny Backx <dan...@us...> * include/service.h (SERVICE_STATE_OFF, SERVICE_STATE_ON, Modified: trunk/cegcc/src/w32api/include/service.h =================================================================== --- trunk/cegcc/src/w32api/include/service.h 2007-09-11 21:36:53 UTC (rev 1061) +++ trunk/cegcc/src/w32api/include/service.h 2007-09-19 18:51:06 UTC (rev 1062) @@ -19,7 +19,7 @@ extern "C" { #endif -#if defined(_WIN32_WCE) && (_WIN32_WCE >= 0x0400) +#if defined(_WIN32_WCE) && (_WIN32_WCE >= 400) typedef struct ServiceEnumInfo { WCHAR szPrefix[6]; WCHAR szDllName; @@ -43,7 +43,7 @@ BOOL EnumServices (PBYTE pBuffer, DWORD *pdwServiceEntries, DWORD *pdwBufferLen); HANDLE GetServiceHandle (LPWSTR szPrefix, LPWSTR szDllName, DWORD *pdwDllBuf); BOOL ServiceAddPort (HANDLE hService, SOCKADDR *pSockAddr, INT cbSockAddr, - INT iProtocol, WCHAR szRegWritePath); + INT iProtocol, WCHAR *szRegWritePath); BOOL ServiceClosePort (HANDLE hService, SOCKADDR *pSockAddr, int cbSockAddr, int iProtocol, BOOL fRemoveFromRegistry); BOOL ServiceIoControl (HANDLE hService, DWORD dwIoControlCode, LPVOID lpInBuf, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2007-09-11 21:36:57
|
Revision: 1061 http://cegcc.svn.sourceforge.net/cegcc/?rev=1061&view=rev Author: pedroalves Date: 2007-09-11 14:36:53 -0700 (Tue, 11 Sep 2007) Log Message: ----------- * config/arm/wince-pe.h (ARM_DOUBLEWORD_ALIGN, BIGGEST_ALIGNMENT): Define. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce trunk/cegcc/src/gcc/gcc/config/arm/wince-pe.h Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2007-09-11 21:17:06 UTC (rev 1060) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2007-09-11 21:36:53 UTC (rev 1061) @@ -1,3 +1,8 @@ +2007-09-11 Pedro Alves <ped...@po...> + + * config/arm/wince-pe.h (ARM_DOUBLEWORD_ALIGN, BIGGEST_ALIGNMENT): + Define. + 2007-08-05 Danny Backx <dan...@us...> * c-common.c (handle_exception_handler_attribute): Add new handler Modified: trunk/cegcc/src/gcc/gcc/config/arm/wince-pe.h =================================================================== --- trunk/cegcc/src/gcc/gcc/config/arm/wince-pe.h 2007-09-11 21:17:06 UTC (rev 1060) +++ trunk/cegcc/src/gcc/gcc/config/arm/wince-pe.h 2007-09-11 21:36:53 UTC (rev 1061) @@ -229,6 +229,12 @@ #undef DEFAULT_STRUCTURE_SIZE_BOUNDARY #define DEFAULT_STRUCTURE_SIZE_BOUNDARY 8 +#undef ARM_DOUBLEWORD_ALIGN +#define ARM_DOUBLEWORD_ALIGN 1 + +#undef BIGGEST_ALIGNMENT +#define BIGGEST_ALIGNMENT 64 + #undef TREE #ifndef BUFSIZ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2007-09-11 21:17:58
|
Revision: 1060 http://cegcc.svn.sourceforge.net/cegcc/?rev=1060&view=rev Author: pedroalves Date: 2007-09-11 14:17:06 -0700 (Tue, 11 Sep 2007) Log Message: ----------- Move most recent log entry to the top... Fix formatting throughout. Modified Paths: -------------- trunk/cegcc/src/gcc/gcc/ChangeLog.ce Modified: trunk/cegcc/src/gcc/gcc/ChangeLog.ce =================================================================== --- trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2007-09-08 02:06:52 UTC (rev 1059) +++ trunk/cegcc/src/gcc/gcc/ChangeLog.ce 2007-09-11 21:17:06 UTC (rev 1060) @@ -1,29 +1,55 @@ +2007-08-05 Danny Backx <dan...@us...> + + * c-common.c (handle_exception_handler_attribute): Add new handler + to support the __exception_handler__ attribute. + + * config/arm/arm.c (arm_exception_handler): Add function to query + the structures built by the compiler for the exception handler for + the function that we're currently generating code for. + + * config/arm/wince-pe.h (ASM_DECLARE_FUNCTION_NAME): Add macro to + generate function header including an exception handler spec and + an entry in the .pdata segment, call the one in pe.h to reuse the + existing code. + + * config/arm/wince-pe.h (ASM_DECLARE_FUNCTION_SIZE): Add macro to + generate function trailer (one additional local label) so we can + do a size calculation. + + * config/arm/pe.h (ASM_DECLARE_FUNCTION_NAME): Rename to + ARM_PE_DECLARE_FUNCTION_NAME so it can be called from + ASM_DECLARE_FUNCTION_NAME in config/arm/wince-pe.h. + 2007-06-02 Danny Backx <dan...@us...> - * toplev.h opts.c coverage.c common.opt libgcov.c : Add support for - -fcoverage-base option. This supports --coverage in a - cross-development environment where it is not always easy to use run - time environment variables. This option works at compile time. This - has been submitted to gcc-patches. - * doc/gcov.texi : Add documentation for -fcoverage-base. + * toplev.h, opts.c, coverage.c, common.opt, libgcov.c: Add support + for -fcoverage-base option. This supports --coverage in a + cross-development environment where it is not always easy to use + run time environment variables. This option works at compile + time. This has been submitted to gcc-patches. + * doc/gcov.texi: Add documentation for -fcoverage-base. 2006-12-21 Danny Backx <dan...@us...> - * config/arm/t-strongarm-pe config/arm/t-strongarm-elf config/arm/t-pe - config/arm/t-arm-elf config/arm/t-xscale-elf config/arm/t-xscale-coff - config/arm/t-arm-coff config/arm/t-wince-pe : Remove inhibit_libc . + * config/arm/t-strongarm-pe, config/arm/t-strongarm-elf, + config/arm/t-pe config/arm/t-arm-elf, config/arm/t-xscale-elf, + config/arm/t-xscale-coff config/arm/t-arm-coff, + config/arm/t-wince-pe: Remove inhibit_libc. - * coverage.c (build_gcov_info) : Add more support for dealing with - directory names in cross-debugging environment. Main difference - is that this is specified on the host, not the target platform. + * coverage.c (build_gcov_info): Add more support for dealing with + directory names in cross-debugging environment. Main difference is + that this is specified on the host, not the target platform. - * doc/gcov.texi : Add documentation for GCOV_CROSS_PREFIX. + * doc/gcov.texi: Add documentation for GCOV_CROSS_PREFIX. - * tsystem.h : Don't include <errno.h> when __MINGW32CE__ is defined. + * tsystem.h: Don't include <errno.h> when __MINGW32CE__ is + defined. - * gcov-io.c (gcov_open) : Call setvbuf instead of setbuf in mingw32ce. + * gcov-io.c (gcov_open): Call setvbuf instead of setbuf in + mingw32ce. - * libgcov.c (gcov_exit) : Don't call getenv and setenv in mingw32ce. + * libgcov.c (gcov_exit): Don't call getenv and setenv in + mingw32ce. 2006-12-03 Pedro Alves <ped...@po...> @@ -50,13 +76,14 @@ 2006-11-04 Danny Backx <dan...@us...> - * config/arm/pe.h (PROFILE_HOOK): Remove, it looks like we don't need - it to get profiling to work. + * config/arm/pe.h (PROFILE_HOOK): Remove, it looks like we don't + need it to get profiling to work. 2006-10-30 Pedro Alves <ped...@po...> * target-def.h (TARGET_ATTRIBUTE_TABLE): Only define if not defined before. + * config/arm/arm.c (arm_file_end): Give it external linkage. (arm_handle_struct_attribute): New. (arm_ms_bitfield_layout_p): New. @@ -170,50 +197,30 @@ 2006-10-17 Pedro Alves <ped...@po...> - * config/arm/wince-cegcc.h (STARTFILE_SPEC) : Add gcrt3.o instead + * config/arm/wince-cegcc.h (STARTFILE_SPEC): Add gcrt3.o instead of gcrt2.o. * config/arm/mingw32.h: Likewise. 2006-10-16 Danny Backx <dan...@us...> - * config/arm/wince-cegcc.h (LIB_SPEC) : Link -lgmon when called + * config/arm/wince-cegcc.h (LIB_SPEC): Link -lgmon when called with -pg. (STARTFILE_SPEC): Add gcrt2.o when called with -pg. 2006-10-12 Danny Backx <dan...@us...> - * config/arm/wince-cegcc.h (mno-cegcc): Remove option. - Use the arm-wince-mingw32ce target instead. + * config/arm/wince-cegcc.h (mno-cegcc): Remove option. Use the + arm-wince-mingw32ce target instead. 2006-10-10 Pedro Alves <ped...@po...> - * config/arm/cegcc.c: Delete. We use the originals instead. - This code is generic PE code, and will hopefully get - pushed down to a more general place in GCC 4.3 stage1. + * config/arm/cegcc.c: Delete. We use the originals instead. This + code is generic PE code, and will hopefully get pushed down to a + more general place in GCC 4.3 stage1. * cegcc-cxx.c: Likewise. * cegcc-stubs.c: Likewise. - * config.gcc: Use the originals instead of the new copies for the + * config.gcc: Use the originals instead of the new copies for the arm*-wince-cegcc case. * config/arm/t-wince-cegcc: Make it empty, we now inherit the generic t-wince-pe. * ChangeLog.ce: New file. - -2007-08-05 Danny Backx <dan...@us...> - - * c-common.c (handle_exception_handler_attribute) : Add new handler to - support the __exception_handler__ attribute. - * config/arm/arm.c (arm_exception_handler) : Add function to query the - structures built by the compiler for the exception handler for the - function that we're currently generating code for. - * config/arm/wince-pe.h (ASM_DECLARE_FUNCTION_NAME) : Add macro to - generate function header including an exception handler spec and an - entry in the .pdata segment, call the one in pe.h to reuse the - existing code. - * config/arm/wince-pe.h (ASM_DECLARE_FUNCTION_SIZE) : Add macro to - generate function trailer (one additional local label) so we can do a - size calculation. - * config/arm/pe.h (ASM_DECLARE_FUNCTION_NAME) : Rename to - ARM_PE_DECLARE_FUNCTION_NAME so it can be called from - ASM_DECLARE_FUNCTION_NAME in config/arm/wince-pe.h . Code reuse - instead of code duplication. - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2007-09-08 02:07:52
|
Revision: 1059 http://cegcc.svn.sourceforge.net/cegcc/?rev=1059&view=rev Author: pedroalves Date: 2007-09-07 19:06:52 -0700 (Fri, 07 Sep 2007) Log Message: ----------- Fixes the "child has closed already, but the host didn't realize it" bug I saw frequently here. There current code expected that the child closed before the stdout pipe, but that was racy, and sometimes not true. Classic "with debug on, I don't see it" bug. * rshd.c (create_child): On pipe creation failure, close the pipes that had already been created. (handle_connection): If closing because the child died, close the stdout/stdin and stderr sockets if stdout or stderr pipes have respectivelly already closed. Modified Paths: -------------- trunk/cegcc/tools/rshd/ChangeLog trunk/cegcc/tools/rshd/rshd.c Modified: trunk/cegcc/tools/rshd/ChangeLog =================================================================== --- trunk/cegcc/tools/rshd/ChangeLog 2007-09-03 20:21:03 UTC (rev 1058) +++ trunk/cegcc/tools/rshd/ChangeLog 2007-09-08 02:06:52 UTC (rev 1059) @@ -1,3 +1,11 @@ +2007-09-08 Pedro Alves <ped...@po...> + + * rshd.c (create_child): On pipe creation failure, close the pipes + that had already been created. + (handle_connection): If closing because the child died, close the + stdout/stdin and stderr sockets if stdout or stderr pipes have + respectivelly already closed. + 2007-07-02 Pedro Alves <ped...@po...> Danny Backx <dan...@us...> Modified: trunk/cegcc/tools/rshd/rshd.c =================================================================== --- trunk/cegcc/tools/rshd/rshd.c 2007-09-03 20:21:03 UTC (rev 1058) +++ trunk/cegcc/tools/rshd/rshd.c 2007-09-08 02:06:52 UTC (rev 1059) @@ -538,8 +538,10 @@ for (i = 0; i < 3; i++) { wchar_t devname[MAX_PATH]; + child->readh[i] = child->writeh[i] = INVALID_HANDLE_VALUE; if (!CreatePipe (&child->readh[i], &child->writeh[i], NULL, 0)) { + size_t j; char buf[1024]; DWORD err = GetLastError (); if (err == ERROR_FILE_NOT_FOUND) @@ -556,6 +558,15 @@ logprintf ("%s", buf); } send (child->sockfd, buf, strlen (buf), 0); + + /* Close the previously succeeded pipes. */ + for (j = 0; j < i; j++) + { + wchar_t devname[MAX_PATH]; + SafeCloseHandle (&child->readh[j]); + SafeCloseHandle (&child->writeh[j]); + } + return NULL; } @@ -578,7 +589,7 @@ NULL, /* environment, not supported */ NULL, /* current directory, not supported */ NULL, /* start info, not supported */ - pi); /* proc info */ + pi); /* proc info */ /* Restore the paths. */ for (i = 0; i < 3; i++) @@ -706,6 +717,7 @@ HANDLE thread[3]; HANDLE waith[4]; + HANDLE allh[4]; HANDLE hndproc; DWORD stopped; size_t i; @@ -866,6 +878,9 @@ waith[i] = thread[i]; waith[i] = hndproc; + for (i = 0; i < COUNTOF (waith); i++) + allh[i] = waith[i]; + ResumeThread (pi.hThread); CloseHandle (pi.hThread); pi.hThread = NULL; @@ -886,6 +901,7 @@ HANDLE h = waith[j]; DWORD ec = 0; BOOL abrupt; + const char *name = "<?>"; stopped++; @@ -897,10 +913,37 @@ && !client_data->stop && (GetExitCodeThread (h, &ec) && ec == 1)); - logprintf ("j = %ld, abrupt = %d, stopped = %ld, i = %d\n", - j, abrupt, stopped, i); + { + int m; + const struct + { + HANDLE h; + const char *name; + HANDLE *m; + } hi[] = + { + { thread[0], "stdin", &allh[0] }, + { thread[1], "stdout", &allh[1] }, + { thread[2], "stderr", &allh[2] }, + { hndproc, "child", &allh[3] }, + }; + for (m = 0; m < COUNTOF (hi); m++) + { + if (hi[m].h == h) + { + name = hi[m].name; + /* record the fact that the object corresponding + to h is now closed. */ + *hi[m].m = INVALID_HANDLE_VALUE; + break; + } + } + } + logprintf ("j = %ld, abrupt = %d, stopped = %ld, i = %d, \"%s\"\n", + j, abrupt, stopped, i, name); + if (abrupt) { /* Record that we are stopping. */ @@ -927,7 +970,7 @@ if (client_data->stop) { - if (h == thread[1]) + if (allh[1] == INVALID_HANDLE_VALUE) { /* The child is gone, and so is the stdout thread. All the data is now flushed to the host. Close @@ -941,7 +984,8 @@ client_data->sockfd = -1; } } - else if (h == thread[2]) + + if (allh[2] == INVALID_HANDLE_VALUE) { /* Not sure how the host rsh handles *only* stderr closing. */ @@ -965,7 +1009,7 @@ else { logprintf ("WaitForMultipleObjects' default reached with %d : %u\n", - w, (unsigned)GetLastError ()); + w, (unsigned) GetLastError ()); goto break_wait_loop; } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <dan...@us...> - 2007-09-03 20:21:09
|
Revision: 1058 http://cegcc.svn.sourceforge.net/cegcc/?rev=1058&view=rev Author: dannybackx Date: 2007-09-03 13:21:03 -0700 (Mon, 03 Sep 2007) Log Message: ----------- Add toolhelp library Modified Paths: -------------- trunk/cegcc/src/ChangeLog trunk/cegcc/src/cegcc/importlibs/build.sh Modified: trunk/cegcc/src/ChangeLog =================================================================== --- trunk/cegcc/src/ChangeLog 2007-09-02 23:52:29 UTC (rev 1057) +++ trunk/cegcc/src/ChangeLog 2007-09-03 20:21:03 UTC (rev 1058) @@ -1,3 +1,7 @@ +2007-09-03 Danny Backx <dan...@us...> + + * cegcc/importlibs/build.sh: Generate proxy for the toolhelp library. + 2007-06-13 Pedro Alves <ped...@po...> * mingw-fake_crt: Remove. Modified: trunk/cegcc/src/cegcc/importlibs/build.sh =================================================================== --- trunk/cegcc/src/cegcc/importlibs/build.sh 2007-09-02 23:52:29 UTC (rev 1057) +++ trunk/cegcc/src/cegcc/importlibs/build.sh 2007-09-03 20:21:03 UTC (rev 1058) @@ -15,5 +15,6 @@ ./mkimport.sh $defdir/winsock.def $outputdir || exit ./mkimport.sh $defdir/ws2.def $outputdir || exit ./mkimport.sh $defdir/mmtimer.def $outputdir || exit +./mkimport.sh $defdir/toolhelp.def $outputdir || exit #./winsock.sh $defdir $outputdir || exit #./ws2.sh $defdir $outputdir This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2007-09-02 23:52:34
|
Revision: 1057 http://cegcc.svn.sourceforge.net/cegcc/?rev=1057&view=rev Author: pedroalves Date: 2007-09-02 16:52:29 -0700 (Sun, 02 Sep 2007) Log Message: ----------- * mingwex/wince/open: Include sys/stat.h. (vopen): Implement PMODE parameter support. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/mingwex/wince/open.c Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2007-09-02 23:23:28 UTC (rev 1056) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2007-09-02 23:52:29 UTC (rev 1057) @@ -1,5 +1,10 @@ 2007-09-03 Pedro Alves <ped...@po...> + * mingwex/wince/open: Include sys/stat.h. + (vopen): Implement PMODE parameter support. + +2007-09-03 Pedro Alves <ped...@po...> + * mingwex/wince/stat.c (_stat): Set last error to ERROR_FILE_NOT_FOUND when file is not found. Fix indenting. Modified: trunk/cegcc/src/mingw/mingwex/wince/open.c =================================================================== --- trunk/cegcc/src/mingw/mingwex/wince/open.c 2007-09-02 23:23:28 UTC (rev 1056) +++ trunk/cegcc/src/mingw/mingwex/wince/open.c 2007-09-02 23:52:29 UTC (rev 1057) @@ -1,6 +1,7 @@ #include <windows.h> #include <unistd.h> #include <fcntl.h> +#include <sys/stat.h> static int vopen (const char *path, int oflag, va_list ap) @@ -59,7 +60,16 @@ mbstowcs (wpath, path, path_len + 1); - fileshare = FILE_SHARE_READ | FILE_SHARE_WRITE; + fileshare = 0; + if (oflag & O_CREAT) + { + int pmode = va_arg (ap, int); + if ((pmode & S_IREAD) == S_IREAD) + fileshare |= FILE_SHARE_READ; + if ((pmode & S_IWRITE) == S_IWRITE) + fileshare |= FILE_SHARE_WRITE; + } + fileattrib = FILE_ATTRIBUTE_NORMAL; hnd = CreateFileW (wpath, fileaccess, fileshare, NULL, filecreate, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2007-09-02 23:23:31
|
Revision: 1056 http://cegcc.svn.sourceforge.net/cegcc/?rev=1056&view=rev Author: pedroalves Date: 2007-09-02 16:23:28 -0700 (Sun, 02 Sep 2007) Log Message: ----------- * mingwex/wince/stat.c (_stat): Set last error to ERROR_FILE_NOT_FOUND when file is not found. Fix indenting. Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce trunk/cegcc/src/mingw/mingwex/wince/stat.c Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2007-09-02 23:20:11 UTC (rev 1055) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2007-09-02 23:23:28 UTC (rev 1056) @@ -1,5 +1,10 @@ 2007-09-03 Pedro Alves <ped...@po...> + * mingwex/wince/stat.c (_stat): Set last error to + ERROR_FILE_NOT_FOUND when file is not found. Fix indenting. + +2007-09-03 Pedro Alves <ped...@po...> + * include/stdio.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Define as fileno(stdin), fileno(stdout) and fileno(stderr). Modified: trunk/cegcc/src/mingw/mingwex/wince/stat.c =================================================================== --- trunk/cegcc/src/mingw/mingwex/wince/stat.c 2007-09-02 23:20:11 UTC (rev 1055) +++ trunk/cegcc/src/mingw/mingwex/wince/stat.c 2007-09-02 23:23:28 UTC (rev 1056) @@ -123,8 +123,8 @@ { DWORD dwError = GetLastError (); if(dwError == ERROR_NO_MORE_FILES) - /* Convert error to something more sensible. */ - SetLastError (ERROR_FILE_NOT_FOUND); + /* Convert error to something more sensible. */ + SetLastError (ERROR_FILE_NOT_FOUND); return -1; } @@ -132,7 +132,7 @@ len = strlen (path); exec = (len >= 4 - && strcasecmp (path + len - 4, ".exe") == 0); + && strcasecmp (path + len - 4, ".exe") == 0); ret = __stat_by_file_info (&sfi, st, exec); FindClose (h); return ret; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2007-09-02 23:20:12
|
Revision: 1055 http://cegcc.svn.sourceforge.net/cegcc/?rev=1055&view=rev Author: pedroalves Date: 2007-09-02 16:20:11 -0700 (Sun, 02 Sep 2007) Log Message: ----------- Upps... Modified Paths: -------------- trunk/cegcc/src/mingw/ChangeLog.mingw32ce Modified: trunk/cegcc/src/mingw/ChangeLog.mingw32ce =================================================================== --- trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2007-09-02 23:09:49 UTC (rev 1054) +++ trunk/cegcc/src/mingw/ChangeLog.mingw32ce 2007-09-02 23:20:11 UTC (rev 1055) @@ -1,3 +1,8 @@ +2007-09-03 Pedro Alves <ped...@po...> + + * include/stdio.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): + Define as fileno(stdin), fileno(stdout) and fileno(stderr). + 2007-08-06 Pedro Alves <ped...@po...> * mingwex/Makefile.in (WINCE_DISTFILES): Add lfind.c. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2007-09-02 23:10:00
|
Revision: 1054 http://cegcc.svn.sourceforge.net/cegcc/?rev=1054&view=rev Author: pedroalves Date: 2007-09-02 16:09:49 -0700 (Sun, 02 Sep 2007) Log Message: ----------- * include/stdio.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO): Define as fileno(stdin), fileno(stdout) and fileno(stderr). Modified Paths: -------------- trunk/cegcc/src/mingw/include/stdio.h Modified: trunk/cegcc/src/mingw/include/stdio.h =================================================================== --- trunk/cegcc/src/mingw/include/stdio.h 2007-09-02 23:05:55 UTC (rev 1053) +++ trunk/cegcc/src/mingw/include/stdio.h 2007-09-02 23:09:49 UTC (rev 1054) @@ -45,9 +45,15 @@ * The three standard file pointers provided by the run time library. * NOTE: These will go to the bit-bucket silently in GUI applications! */ +#ifndef __COREDLL__ #define STDIN_FILENO 0 #define STDOUT_FILENO 1 #define STDERR_FILENO 2 +#else +#define STDIN_FILENO fileno(stdin) +#define STDOUT_FILENO fileno(stdout) +#define STDERR_FILENO fileno(stderr) +#endif /* Returned by various functions on end of file condition or error. */ #define EOF (-1) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ped...@us...> - 2007-09-02 23:06:05
|
Revision: 1053 http://cegcc.svn.sourceforge.net/cegcc/?rev=1053&view=rev Author: pedroalves Date: 2007-09-02 16:05:55 -0700 (Sun, 02 Sep 2007) Log Message: ----------- Initial import. * README, ChangeLog, Makefile, rcp.c, config.h, extern.h, util.c: New files. Added Paths: ----------- trunk/cegcc/tools/rcp2/ trunk/cegcc/tools/rcp2/ChangeLog trunk/cegcc/tools/rcp2/Makefile trunk/cegcc/tools/rcp2/README trunk/cegcc/tools/rcp2/config.h trunk/cegcc/tools/rcp2/extern.h trunk/cegcc/tools/rcp2/rcp.c trunk/cegcc/tools/rcp2/util.c Added: trunk/cegcc/tools/rcp2/ChangeLog =================================================================== --- trunk/cegcc/tools/rcp2/ChangeLog (rev 0) +++ trunk/cegcc/tools/rcp2/ChangeLog 2007-09-02 23:05:55 UTC (rev 1053) @@ -0,0 +1,14 @@ +2007-09-03 Pedro Alves <ped...@po...> + + Initial import. + + * README, ChangeLog, Makefile, rcp.c, config.h, extern.h, util.c: + New files. + + +Local Variables: +mode: change-log +left-margin: 8 +fill-column: 74 +version-control: never +End: Property changes on: trunk/cegcc/tools/rcp2/ChangeLog ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/cegcc/tools/rcp2/Makefile =================================================================== --- trunk/cegcc/tools/rcp2/Makefile (rev 0) +++ trunk/cegcc/tools/rcp2/Makefile 2007-09-02 23:05:55 UTC (rev 1053) @@ -0,0 +1,74 @@ +TARGET=arm-wince-mingw32ce +CFLAGS=-O0 -g3 +WARNFLAGS=-Wall -Wextra + +INCLUDES=-I../errno -I../libcwd -I. +LDFLAGS=-L../errno -L../libcwd +LIBS=-lcwd -lerrno -lws2 + +ALLFLAGS=$(CFLAGS) $(INCLUDES) $(WARNFLAGS) + +CC=$(TARGET)-gcc +STRIP=$(TARGET)-strip + +BINS = rcp_unstripped.exe +STRIPPED_BINS = rcp.exe + +TARGETS = $(STRIPPED_BINS) + +srcdir=. +distdir=rcp-0.2.0 +TAR = tar +TARFLAGS = z +TARFILEEXT = .tar.gz + +SRCDIST_FILES=\ + rcp.c Makefile README TODO COPYING ChangeLog + +BINDIST_FILES=\ + rcp.exe + +OBJECTS=rcp.o util.o + +all: $(TARGETS) +bins: $(BINS) + +.c.o: + $(CC) -o $@ $< -c $(ALLFLAGS) + +rcp_unstripped.exe: $(OBJECTS) Makefile + $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(ALLFLAGS) $(LIBS) + +rcp.exe: rcp_unstripped.exe + $(STRIP) $< -o $@ + +download: rcp.exe + pcp rcp.exe ":/rcp.exe" + +clean: + rm -f $(BINS) $(STRIPPED_BINS) $(OBJECTS) + +dist: srcdist bindist + +srcdist: all + rm -rf $(distdir) + mkdir $(distdir) + chmod 755 $(distdir) + for i in $(SRCDIST_FILES); do \ + cp -p $(srcdir)/$$i $(distdir)/$$i ; \ + done + rm -f $(distdir).tar.gz + $(TAR) $(TARFLAGS)cf $(distdir)-src$(TARFILEEXT) $(distdir) + +bindist: all + rm -rf $(distdir) + mkdir $(distdir) + chmod 755 $(distdir) + for i in $(BINDIST_FILES); do \ + cp -p $(srcdir)/$$i $(distdir)/$$i ; \ + done + rm -f $(distdir).tar.gz + $(TAR) $(TARFLAGS)cf $(distdir)-bin$(TARFILEEXT) $(distdir) + + +.PHONY: all install download clean dist bindist srcdist Property changes on: trunk/cegcc/tools/rcp2/Makefile ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/cegcc/tools/rcp2/README =================================================================== --- trunk/cegcc/tools/rcp2/README (rev 0) +++ trunk/cegcc/tools/rcp2/README 2007-09-02 23:05:55 UTC (rev 1053) @@ -0,0 +1,16 @@ + README for rcp for Windows CE + +This directory contains rcp for Windows CE. + +To build make sure you have the mingw32ce toolchain on your path, and +type make. + +Have fun! + +Pedro Alves + +-- + +REPORTING BUGS: +ce...@so... +pe...@po... Property changes on: trunk/cegcc/tools/rcp2/README ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/cegcc/tools/rcp2/config.h =================================================================== --- trunk/cegcc/tools/rcp2/config.h (rev 0) +++ trunk/cegcc/tools/rcp2/config.h 2007-09-02 23:05:55 UTC (rev 1053) @@ -0,0 +1,10 @@ +#ifndef CONFIG_H +#define CONFIG_H + +#define RCP_NOPERMS 1 + +#define PACKAGE_NAME "rcp (Windows CE)" +#define PACKAGE_VERSION "1.0" +#define PACKAGE_BUGREPORT "ce...@li..." + +#endif Property changes on: trunk/cegcc/tools/rcp2/config.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/cegcc/tools/rcp2/extern.h =================================================================== --- trunk/cegcc/tools/rcp2/extern.h (rev 0) +++ trunk/cegcc/tools/rcp2/extern.h 2007-09-02 23:05:55 UTC (rev 1053) @@ -0,0 +1,84 @@ +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)extern.h 8.1 (Berkeley) 5/31/93 + */ + +typedef struct { + int cnt; + char *buf; +} BUF; + +extern int iamremote; + +BUF *allocbuf (BUF *, int, int); +char *colon (char *); +void lostconn (int); +void nospace (void); +int okname (char *); +void run_err (const char *, ...); +int susystem (char *, int); +void verifydir (char *); + +/* Print the program name and error message MESSAGE, which is a + printf-style format string with optional args. If ERRNUM is + nonzero, print its corresponding system error message. Exit with + status STATUS if it is nonzero. */ +void error (int status, int errnum, const char *message, ...); + +struct rcp_stat +{ + _dev_t st_dev; /* Equivalent to drive number 0=A 1=B ... */ + _ino_t st_ino; /* Always zero ? */ + _mode_t st_mode; /* See above constants */ + short st_nlink; /* Number of links. */ + short st_uid; /* User: Maybe significant on NT ? */ + short st_gid; /* Group: Ditto */ + _dev_t st_rdev; /* Seems useless (not even filled in) */ + _off_t st_size; /* File size in bytes */ + time_t st_atime; /* Accessed date (always 00:00 hrs local + * on FAT) */ + time_t st_mtime; /* Modified time */ + time_t st_ctime; /* Creation time */ +}; + +#include <cwd.h> +#include <dirent.h> + +int rcp_open (const char *path, int flag, int mode); +int rcp_mkdir (const char *path); +int rcp_stat (const char *path, struct rcp_stat *statbuf); +int rcp_fstat (int fd, struct rcp_stat *statbuf); +DIR * rcp_opendir (const char *path); + + +#define open rcp_open +#define mkdir rcp_mkdir +#define stat rcp_stat +#define fstat rcp_fstat +#define opendir rcp_opendir Property changes on: trunk/cegcc/tools/rcp2/extern.h ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/cegcc/tools/rcp2/rcp.c =================================================================== --- trunk/cegcc/tools/rcp2/rcp.c (rev 0) +++ trunk/cegcc/tools/rcp2/rcp.c 2007-09-02 23:05:55 UTC (rev 1053) @@ -0,0 +1,974 @@ +/* + * Copyright (c) 1983, 1990, 1992, 1993, 2002 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <config.h> + +#include <sys/param.h> +#include <sys/stat.h> +#include <sys/time.h> +#include <winsock2.h> +#include <windows.h> +#include <ctype.h> +#include <dirent.h> +#include <errno.h> +#include <fcntl.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <string.h> +#include <unistd.h> +#include <getopt.h> +#include <utime.h> + +#include "extern.h" + +#define OPTIONS "dfprtV" + +static const char *short_options = OPTIONS; +static struct option long_options[] = +{ + { "recursive", required_argument, 0, 'r' }, + { "preserve", no_argument, 0, 'p' }, + { "help", no_argument, 0, 'h' }, + { "version", no_argument, 0, 'V' }, + /* Server option. */ + { "directory", required_argument, 0, 'd' }, + { "from", required_argument, 0, 'f' }, + { "to", required_argument, 0, 't' }, + { 0, 0, 0, 0 } +}; + +typedef unsigned short u_short; + +struct passwd *pwd; +u_short port; +int errs; +int pflag, iamremote, iamrecursive, targetshouldbedirectory; + +#define CMDNEEDS 64 +char cmd[CMDNEEDS]; /* must hold "rcp -r -p -d\0" */ + +int response (void); +void rsource (char *, struct stat *); +void sink (int, char *[]); +void source (int, char *[]); +void tolocal (int, char *[]); +void toremote (char *, int, char *[]); +void usage (void); +void help (void); + +char *program_name; + +/* Print the program name and error message MESSAGE, which is a + printf-style format string with optional args. If ERRNUM is + nonzero, print its corresponding system error message. Exit with + status STATUS if it is nonzero. */ +void +error (int status, int errnum, const char *message, ...) +{ + va_list args; + + fflush (stdout); + fprintf (stderr, "%s: ", program_name); + + va_start (args, message); + vfprintf (stderr, message, args); + va_end (args); + + if (errnum) + { + char const *s = strerror (errnum); + if (!s) + s = "Unknown system error"; + + fprintf (stderr, ": %s", s); + } + putc ('\n', stderr); + fflush (stderr); + if (status) + exit (status); +} + +//#define WAIT_DEBUGGER + +#ifdef WAIT_DEBUGGER +volatile int cont = 0; +#endif + +int +main (int argc, char *argv[]) +{ +#ifdef WAIT_DEBUGGER + /* useful to attach a debugger. */ + while (!cont) + Sleep (100); /* put a break here, and then 'p cont = 1' */ + if (cont < 0) + return 0; +#endif + + struct servent *sp; + int ch, fflag, tflag; + char *targ; + const char *shell; + + program_name = argv[0]; + + fflag = tflag = 0; + while ((ch = getopt_long (argc, argv, short_options, long_options, 0)) + != EOF) + switch(ch) + { /* User-visible flags. */ + case 'K': + break; + + case 'p': + pflag = 1; + break; + + case 'r': + iamrecursive = 1; + break; + + /* Server options. */ + case 'd': + targetshouldbedirectory = 1; + break; + + case 'f': /* "from" */ + iamremote = 1; + fflag = 1; + break; + + case 't': /* "to" */ + iamremote = 1; + tflag = 1; + break; + + case 'V': + printf ("rcp (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION); + exit (0); + break; + + case 'h': + help (); + break; + + case '?': + default: + usage (); + } + argc -= optind; + argv += optind; +#if 0 + sp = getservbyname (shell = "shell", "tcp"); + if (sp == NULL) + error (1, 0, "%s/tcp: unknown service", shell); + port = sp->s_port; +#endif + + if (fflag) + { /* Follow "protocol", send data. */ + response (); + source (argc, argv); + exit (errs); + } + + if (tflag) + { /* Receive data. */ + sink (argc, argv); + exit (errs); + } + + if (argc < 2) + usage (); + if (argc > 2) + targetshouldbedirectory = 1; + + /* Command to be executed on remote system using "rsh". */ + snprintf (cmd, sizeof cmd, "rcp%s%s%s", + iamrecursive ? " -r" : "", pflag ? " -p" : "", + targetshouldbedirectory ? " -d" : ""); + + targ = colon (argv[argc - 1]); /* Dest is remote host. */ + if (targ) /* Dest is remote host. */ + toremote (targ, argc, argv); + else + { + tolocal (argc, argv); /* Dest is local host. */ + if (targetshouldbedirectory) + verifydir(argv[argc - 1]); + } + exit (errs); +} + +void +toremote (char *targ, int argc, char *argv[]) +{ + int i; + // int len, tos; + char *src, *tuser, *thost; + + // char *bp, *host, *suser, ; + + *targ++ = 0; + if (*targ == 0) + targ = "."; + + thost = strchr (argv[argc - 1], '@'); + if (thost) + { + /* user@host */ + *thost++ = 0; + tuser = argv[argc - 1]; + if (*tuser == '\0') + tuser = NULL; + else if (!okname(tuser)) + exit (1); + } + else + { + thost = argv[argc - 1]; + tuser = NULL; + } + + for (i = 0; i < argc - 1; i++) + { + src = colon (argv[i]); + if (src) + { /* remote to remote */ +#if 0 +/* Currently unsupported. */ + *src++ = 0; + if (*src == 0) + src = "."; + host = strchr (argv[i], '@'); + len = strlen (PATH_RSH) + strlen (argv[i]) + + strlen (src) + (tuser ? strlen (tuser) : 0) + + strlen (thost) + strlen (targ) + CMDNEEDS + 20; + if (!(bp = malloc (len))) + err (1, NULL); + if (host) + { + *host++ = 0; + suser = argv[i]; + if (*suser == '\0') + suser = pwd->pw_name; + else if (!okname (suser)) + continue; + snprintf (bp, len, + "%s %s -l %s -n %s %s '%s%s%s:%s'", + PATH_RSH, host, suser, cmd, src, + tuser ? tuser : "", tuser ? "@" : "", + thost, targ); + } + else + snprintf (bp, len, + "exec %s %s -n %s %s '%s%s%s:%s'", + PATH_RSH, argv[i], cmd, src, + tuser ? tuser : "", tuser ? "@" : "", + thost, targ); + susystem (bp, userid); + free (bp); +#endif + } + else + { /* local to remote */ +#if 0 + if (rem == -1) + { + len = strlen (targ) + CMDNEEDS + 20; + if (!(bp = malloc (len))) + err (1, NULL); + snprintf (bp, len, "%s -t %s", cmd, targ); + host = thost; + rem = rcmd (&host, port, pwd->pw_name, + tuser ? tuser : pwd->pw_name, bp, 0); + if (rem < 0) + exit (1); +#if defined (IP_TOS) && defined (IPPROTO_IP) && defined (IPTOS_THROUGHPUT) + tos = IPTOS_THROUGHPUT; + if (setsockopt (rem, IPPROTO_IP, IP_TOS, + (char *) &tos, sizeof(int)) < 0) + error (0, errno, "TOS (ignored)"); +#endif + if (response () < 0) + exit(1); + free(bp); + setuid(userid); + } +#endif + source(1, argv+i); + } + } +} + +void +tolocal (int argc, char *argv[]) +{ +#if 0 + + int i, len, tos; + char *bp, *host, *src, *suser; + + for (i = 0; i < argc - 1; i++) + { + if (!(src = colon (argv[i]))) + { /* Local to local. */ + len = strlen (PATH_CP) + strlen (argv[i]) + + strlen (argv[argc - 1]) + 20; + if (!(bp = malloc (len))) + err (1, NULL); + snprintf (bp, len, "exec %s%s%s %s %s", PATH_CP, + iamrecursive ? " -r" : "", pflag ? " -p" : "", + argv[i], argv[argc - 1]); + if (susystem (bp, userid)) + ++errs; + free (bp); + continue; + } + *src++ = 0; + if (*src == 0) + src = "."; + if ((host = strchr(argv[i], '@')) == NULL) + { + host = argv[i]; + suser = pwd->pw_name; + } + else + { + *host++ = 0; + suser = argv[i]; + if (*suser == '\0') + suser = pwd->pw_name; + else if (!okname (suser)) + continue; + } + len = strlen (src) + CMDNEEDS + 20; + if ((bp = malloc (len)) == NULL) + err (1, NULL); + snprintf (bp, len, "%s -f %s", cmd, src); + rem = + rcmd (&host, port, pwd->pw_name, suser, bp, 0); + free (bp); + if (rem < 0) + { + ++errs; + continue; + } + seteuid (userid); +#if defined (IP_TOS) && defined (IPPROTO_IP) && defined (IPTOS_THROUGHPUT) + tos = IPTOS_THROUGHPUT; + if (setsockopt (rem, IPPROTO_IP, IP_TOS, (char *) &tos, sizeof (int)) < 0) + error (0, errno, "TOS (ignored)"); +#endif + sink (1, argv + argc - 1); + seteuid (0); + close (rem); + rem = -1; + } +#endif +} + +static int +write_stat_time (int fd, struct stat *stat) +{ + char buf[4 * sizeof (long) * 3 + 2]; + time_t a_sec, m_sec; + long a_usec = 0, m_usec = 0; + + a_sec = stat->st_atime; + m_sec = stat->st_mtime; + + snprintf (buf, sizeof(buf), "T%ld %ld %ld %ld\n", + m_sec, m_usec, a_sec, a_usec); + return write (fd, buf, strlen (buf)); +} + +void +source (int argc, char *argv[]) +{ + struct stat stb; + static BUF buffer; + BUF *bp; + off_t i; + int amt, fd, haderr, indx, result; + char *last, *name, buf[BUFSIZ]; + + for (indx = 0; indx < argc; ++indx) + { + name = argv[indx]; +#ifndef _WIN32 + if ((fd = open (name, O_RDONLY, 0)) == -1) + goto syserr; + if (fstat (fd, &stb)) +#else + fd = -1; + if (stat (name, &stb)) +#endif + { + syserr: + run_err ("%s: %s", name, strerror (errno)); + goto next; + } + switch (stb.st_mode & S_IFMT) + { + case S_IFREG: +#ifdef _WIN32 + if ((fd = open (name, O_RDONLY, 0)) == -1) + goto syserr; +#endif + break; + + case S_IFDIR: + if (iamrecursive) + { + rsource (name, &stb); + goto next; + } + /* FALLTHROUGH */ + default: + run_err ("%s: not a regular file", name); + goto next; + } + if ((last = strrchr (name, '/')) == NULL + && (last = strrchr (name, '\\')) == NULL) + last = name; + else + ++last; + if (pflag) + { + write_stat_time (STDOUT_FILENO, &stb); + if (response() < 0) + goto next; + } +#define RCP_MODEMASK (S_IRWXU) + snprintf(buf, sizeof buf, + (sizeof(stb.st_size) > sizeof(long) + ? "C%04o %qd %s\n" + : "C%04o %ld %s\n"), + stb.st_mode & RCP_MODEMASK, stb.st_size, last); + write (STDOUT_FILENO, buf, strlen (buf)); + if (response () < 0) + goto next; + if ((bp = allocbuf (&buffer, fd, BUFSIZ)) == NULL) + { + next: + close (fd); + continue; + } + + /* Keep writing after an error so that we stay sync'd up. */ + for (haderr = i = 0; i < stb.st_size; i += bp->cnt) + { + amt = bp->cnt; + if (i + amt > stb.st_size) + amt = stb.st_size - i; + if (!haderr) + { + result = read (fd, bp->buf, amt); + if (result != amt) + haderr = result >= 0 ? EIO : errno; + } + if (haderr) + write (STDOUT_FILENO, bp->buf, amt); + else + { + result = write (STDOUT_FILENO, bp->buf, amt); + if (result != amt) + haderr = result >= 0 ? EIO : errno; + } + } + if (close (fd) && !haderr) + haderr = errno; + if (!haderr) + write (STDOUT_FILENO, "", 1); + else + run_err ("%s: %s", name, strerror(haderr)); + response (); + } +} + +void +rsource (char *name, struct stat *statp) +{ + DIR *dirp; + struct dirent *dp; + char *last, *vect[1]; + char *buf; + int buf_len; + + if (!(dirp = opendir (name))) + { + run_err ("%s: %s", name, strerror(errno)); + return; + } + last = strrchr (name, '/'); + if (last == 0) + last = strrchr (name, '\\'); + if (last == 0) + last = name; + else + last++; + + if (pflag) + { + write_stat_time (STDOUT_FILENO, statp); + if (response () < 0) { + closedir (dirp); + return; + } + } + + buf_len = + 1 + sizeof (int) * 3 + 1 + sizeof (int) * 3 + 1 + strlen (last) + 2; + buf = malloc (buf_len); + if (! buf) + { + run_err ("malloc failed for %d bytes", buf_len); + closedir (dirp); + return; + } + + sprintf (buf, "D%04o %d %s\n", statp->st_mode & RCP_MODEMASK, 0, last); + write (STDOUT_FILENO, buf, strlen (buf)); + free (buf); + + if (response () < 0) + { + closedir (dirp); + return; + } + + while ((dp = readdir(dirp))) + { + if (!strcmp (dp->d_name, ".") || !strcmp (dp->d_name, "..")) + continue; + + buf_len = strlen (name) + 1 + strlen (dp->d_name) + 1; + buf = malloc (buf_len); + if (! buf) + { + run_err ("malloc_failed for %d bytes", buf_len); + continue; + } + + sprintf (buf, "%s/%s", name, dp->d_name); + vect[0] = buf; + source(1, vect); + free (buf); + } + + closedir (dirp); + write (STDOUT_FILENO, "E\n", 2); + response (); +} + +void +sink (int argc, char *argv[]) +{ + static BUF buffer; + struct stat stb; + struct timeval tv[2]; + enum { YES, NO, DISPLAYED } wrerr; + BUF *bp; + off_t i, j; + int amt, count, exists, first, mode, ofd, omode; + int setimes, size, targisdir, wrerrno; + char ch, *cp, *np, *targ, *vect[1], buf[BUFSIZ]; + const char *why; + +#define atime tv[0] +#define mtime tv[1] +#define SCREWUP(str) { why = str; goto screwup; } + + setimes = targisdir = 0; + if (argc != 1) + { + run_err ("ambiguous target"); + exit (1); + } + targ = *argv; + if (targetshouldbedirectory) + verifydir (targ); + if (write (STDOUT_FILENO, "", 1) != 1) + return; + if (stat (targ, &stb) == 0 && S_ISDIR (stb.st_mode)) + targisdir = 1; + for (first = 1;; first = 0) + { + cp = buf; + if (read (STDIN_FILENO, cp, 1) <= 0) + return; + if (*cp++ == '\n') + SCREWUP ("unexpected <newline>"); + do + { + if (read (STDIN_FILENO, &ch, sizeof ch) != sizeof ch) + SCREWUP("lost connection"); + *cp++ = ch; + } while (cp < &buf[BUFSIZ - 1] && ch != '\n'); + *cp = 0; + + if (buf[0] == '\01' || buf[0] == '\02') + { + if (iamremote == 0) + write (STDERR_FILENO, buf + 1, strlen(buf + 1)); + if (buf[0] == '\02') + exit (1); + ++errs; + continue; + } + if (buf[0] == 'E') + { + write (STDOUT_FILENO, "", 1); + return; + } + + if (ch == '\n') + *--cp = 0; + +#define getnum(t) (t) = 0; while (isdigit(*cp)) (t) = (t) * 10 + (*cp++ - '0'); + cp = buf; + if (*cp == 'T') + { + setimes++; + cp++; + getnum(mtime.tv_sec); + if (*cp++ != ' ') + SCREWUP ("mtime.sec not delimited"); + getnum (mtime.tv_usec); + if (*cp++ != ' ') + SCREWUP ("mtime.usec not delimited"); + getnum (atime.tv_sec); + if (*cp++ != ' ') + SCREWUP ("atime.sec not delimited"); + getnum (atime.tv_usec); + if (*cp++ != '\0') + SCREWUP ("atime.usec not delimited"); + write (STDOUT_FILENO, "", 1); + continue; + } + if (*cp != 'C' && *cp != 'D') + { + /* + * Check for the case "rcp remote:foo\* local:bar". + * In this case, the line "No match." can be returned + * by the shell before the rcp command on the remote is + * executed so the ^Aerror_message convention isn't + * followed. + */ + if (first) + { + run_err ("%s", cp); + exit (1); + } + SCREWUP ("expected control record"); + } + mode = 0; + for (++cp; cp < buf + 5; cp++) + { + if (*cp < '0' || *cp > '7') + SCREWUP ("bad mode"); + mode = (mode << 3) | (*cp - '0'); + } + if (*cp++ != ' ') + SCREWUP ("mode not delimited"); + + for (size = 0; isdigit(*cp);) + size = size * 10 + (*cp++ - '0'); + if (*cp++ != ' ') + SCREWUP ("size not delimited"); + if (targisdir) + { + static char *namebuf; + static int cursize; + size_t need; + + need = strlen (targ) + strlen (cp) + 250; + if (need > cursize) + { + if (!(namebuf = malloc (need))) + run_err("%s", strerror (errno)); + } + snprintf (namebuf, need, "%s%s%s", targ, *targ ? "/" : "", cp); + np = namebuf; + } + else + np = targ; + exists = stat (np, &stb) == 0; + if (buf[0] == 'D') + { + int mod_flag = pflag; + if (exists) + { + if (!S_ISDIR (stb.st_mode)) + { + __set_errno (ENOTDIR); + goto bad; + } + if (pflag) + chmod (np, mode); + } + else + { + /* Handle copying from a read-only directory */ + mod_flag = 1; + if (mkdir (np) < 0) + goto bad; + } + vect[0] = np; + sink (1, vect); + if (setimes) + { + struct utimbuf utbuf; + utbuf.actime = atime.tv_sec; + utbuf.modtime = mtime.tv_sec; + setimes = 0; + if (utime (np, &utbuf) < 0) + run_err ("%s: set times: %s", np, strerror (errno)); + } + if (mod_flag) + chmod (np, mode); + continue; + } + omode = mode; + mode |= S_IWRITE; + if ((ofd = open (np, O_WRONLY|O_CREAT, mode)) == -1) + { + bad: + run_err ("%s: %s", np, strerror(errno)); + continue; + } + write (STDOUT_FILENO, "", 1); + if ((bp = allocbuf (&buffer, ofd, BUFSIZ)) == NULL) + { + close (ofd); + continue; + } + cp = bp->buf; + wrerr = NO; + for (count = i = 0; i < size; i += BUFSIZ) + { + amt = BUFSIZ; + if (i + amt > size) + amt = size - i; + count += amt; + do + { + j = read (STDIN_FILENO, cp, amt); + if (j <= 0) + { + run_err ("%s", j ? strerror(errno) : "dropped connection"); + exit (1); + } + amt -= j; + cp += j; + } while (amt > 0); + if (count == bp->cnt) + { + /* Keep reading so we stay sync'd up. */ + if (wrerr == NO) + { + j = write (ofd, bp->buf, count); + if (j != count) + { + wrerr = YES; + wrerrno = j >= 0 ? EIO : errno; + } + } + count = 0; + cp = bp->buf; + } + } + if (count != 0 && wrerr == NO + && (j = write (ofd, bp->buf, count)) != count) + { + wrerr = YES; + wrerrno = j >= 0 ? EIO : errno; + } + if (ftruncate (ofd, size)) + { + run_err ("%s: truncate: %s", np, strerror (errno)); + wrerr = DISPLAYED; + } + if (pflag) + { + if (exists || omode != mode) + if (chmod (np, omode)) + run_err ("%s: set mode: %s", np, strerror (errno)); + } + else + { + if (!exists && omode != mode) + if (chmod (np, omode)) + run_err ("%s: set mode: %s", np, strerror (errno)); + } + close (ofd); + response (); + if (setimes && wrerr == NO) + { + struct utimbuf utbuf; + utbuf.actime = atime.tv_sec; + utbuf.modtime = mtime.tv_sec; + setimes = 0; + if (utime (np, &utbuf) < 0) + { + run_err ("%s: set times: %s", np, strerror (errno)); + wrerr = DISPLAYED; + } + } + switch (wrerr) + { + case YES: + run_err ("%s: %s", np, strerror(wrerrno)); + break; + + case NO: + write (STDOUT_FILENO, "", 1); + break; + + case DISPLAYED: + break; + } + } +screwup: + run_err ("protocol error: %s", why); + exit (1); +} + +int +response () +{ + char ch, *cp, resp, rbuf[BUFSIZ]; + + if (read (STDIN_FILENO, &resp, sizeof resp) != sizeof resp) + lostconn (0); + + cp = rbuf; + switch (resp) + { + case 0: /* ok */ + return 0; + + default: + *cp++ = resp; + /* FALLTHROUGH */ + case 1: /* error, followed by error msg */ + case 2: /* fatal error, "" */ + do + { + if (read (STDIN_FILENO, &ch, sizeof(ch)) != sizeof(ch)) + lostconn(0); + *cp++ = ch; + } while (cp < &rbuf[BUFSIZ] && ch != '\n'); + + if (!iamremote) + write (STDERR_FILENO, rbuf, cp - rbuf); + ++errs; + if (resp == 1) + return -1; + exit (1); + } + /* NOTREACHED */ +} + +void +usage () +{ + fprintf (stderr, + "usage: rcp [-p] f1 f2; or: rcp [-pr] f1 ... fn directory\n"); + exit (1); +} + +void +help () +{ + puts ("rcp - remote file copy."); + puts ("usage: rcp [-p] f1 f2; or: rcp [-pr] f1 ... fn directory\n"); + puts ("\ + -p, --preserve attempt to preserve (duplicate) in its copies the\n\ + modification times and modes of the source files"); + puts ("\ + -r, --recursive If any of the source files are directories, copies\n\ + each subtree rooted at that name; in this case the\n\ + destination must be a directory"); + + puts ("\ + --help give this help list"); + puts ("\ + -V, --version print program version"); + fprintf (stdout, "\nSubmit bug reports to %s.\n", PACKAGE_BUGREPORT); + exit (0); +} + +#include <stdarg.h> + +void +warnerr(int doerrno, const char *fmt, va_list ap) +{ + int sverrno = errno; + fprintf(stderr, "rcp"); + if(fmt != NULL || doerrno) + fprintf(stderr, ": "); + if (fmt != NULL){ + vfprintf(stderr, fmt, ap); + if(doerrno) + fprintf(stderr, ": "); + } + if(doerrno) + fprintf(stderr, "%s", strerror(sverrno)); + fprintf(stderr, "\n"); +} + +void +vwarnx(const char *fmt, va_list ap) +{ + warnerr(0, fmt, ap); +} + +void +run_err (const char *fmt, ...) +{ + static FILE *fp; + va_list ap; + va_start (ap, fmt); + ++errs; + if (fp == NULL && !(fp = fdopen (STDOUT_FILENO, "w"))) + return; + fprintf (fp, "%c", 0x01); + fprintf (fp, "rcp: "); + vfprintf (fp, fmt, ap); + fprintf (fp, "\n"); + fflush (fp); + + if (!iamremote) + vwarnx (fmt, ap); + + va_end (ap); +} Property changes on: trunk/cegcc/tools/rcp2/rcp.c ___________________________________________________________________ Name: svn:eol-style + native Added: trunk/cegcc/tools/rcp2/util.c =================================================================== --- trunk/cegcc/tools/rcp2/util.c (rev 0) +++ trunk/cegcc/tools/rcp2/util.c 2007-09-02 23:05:55 UTC (rev 1053) @@ -0,0 +1,204 @@ +/*- + * Copyright (c) 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <config.h> + +#include <sys/param.h> +#include <sys/stat.h> +#include <ctype.h> +#include <errno.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <windows.h> + +#include "extern.h" + +char * +colon(char *cp) +{ + if (*cp == ':') /* Leading colon is part of file name. */ + return (0); + + for (; *cp; ++cp) { + if (*cp == ':') + return (cp); + if (*cp == '/') + return (0); + } + return (0); +} + +void +verifydir(char *cp) +{ + struct stat stb; + + if (!stat(cp, &stb)) { + if (S_ISDIR(stb.st_mode)) + return; + __set_errno (ENOTDIR); + } + run_err("%s: %s", cp, strerror(errno)); + exit(1); +} + +int +okname(char *cp0) +{ + int c; + char *cp; + + cp = cp0; + do { + c = *cp; + if (c & 0200) + goto bad; + if (!isalpha(c) && !isdigit(c) && c != '_' && c != '-') + goto bad; + } while (*++cp); + return (1); + +bad: + error (0, 0, "%s: invalid user name", cp0); + return (0); +} + +#if 0 +int +susystem(char *s, int userid) +{ + sig_t istat, qstat; + int status, w; + pid_t pid; + + pid = vfork(); + switch (pid) { + case -1: + return (127); + + case 0: + (void)setuid(userid); + execl(PATH_BSHELL, "sh", "-c", s, NULL); + _exit(127); + } + istat = signal(SIGINT, SIG_IGN); + qstat = signal(SIGQUIT, SIG_IGN); + if (waitpid(pid, &status, 0) < 0) + status = -1; + (void)signal(SIGINT, istat); + (void)signal(SIGQUIT, qstat); + return (status); +} +#endif + +BUF * +allocbuf(BUF *bp, int fd, int blksize) +{ + struct stat stb; + size_t size; + + if (fstat(fd, &stb) < 0) { + run_err("fstat: %s", strerror(errno)); + return (0); + } +#ifndef roundup +# define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) +#endif + size = roundup(BUFSIZ, blksize); + if (size == 0) + size = blksize; + if (bp->cnt >= size) + return (bp); + if ((bp->buf = realloc(bp->buf, size)) == NULL) { + bp->cnt = 0; + run_err("%s", strerror(errno)); + return (0); + } + bp->cnt = size; + return (bp); +} + +typedef void RETSIGTYPE; + +RETSIGTYPE +lostconn(int signo) +{ + if (!iamremote) + error (0, 0, "lost connection"); + exit(1); +} + + +/* Wince cwd support. */ + +#undef stat +#undef fstat +#undef mkdir +#undef open +#undef opendir + +int +rcp_stat (const char *path, struct rcp_stat *statbuf) +{ + char buf[MAX_PATH]; + libcwd_fixpath (buf, path); + return stat (buf, (struct stat *) statbuf); +} + +int +rcp_fstat (int fd, struct rcp_stat *statbuf) +{ + return fstat (fd, (struct stat *) statbuf); +} + +int +rcp_open (const char *path, int flag, int mode) +{ + char buf[MAX_PATH]; + libcwd_fixpath (buf, path); + return open (buf, flag, mode); +} + +int +rcp_mkdir (const char *path) +{ + char buf[MAX_PATH]; + libcwd_fixpath (buf, path); + return mkdir (buf); +} + +DIR * +rcp_opendir (const char *path) +{ + char buf[MAX_PATH]; + libcwd_fixpath (buf, path); + return opendir (buf); +} Property changes on: trunk/cegcc/tools/rcp2/util.c ___________________________________________________________________ Name: svn:eol-style + native This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |