<?xml version="1.0" ?> 
  <kc>
  <title>Wine Traffic</title>
  <author contact="mailto:vinn@theshell.com">Brian Vincent</author>
  <issue num="120" date="17 Apr 2002 23:00:00 -0800"/>
  <intro>
    <p>This is the 120th release of the Wine's kernel cousin publication. It's main goal is to distribute widely what's going on around Wine (the Un*x windows emulator).</p>
  </intro>
 
<stats posts="418" size="2660" contrib="98" multiples="51" lastweek="26">

<person posts="37" size="248" who="Martin Wilck &lt;Martin.Wilck@fujitsu-siemens.com&gt;" />
<person posts="21" size="49" who="Alexandre Julliard &lt;julliard@winehq.com&gt;" />
<person posts="19" size="71" who="Tony Lambregts &lt;tony_lambregts@telusplanet.net&gt;" />
<person posts="19" size="50" who="Laurent Pinchart &lt;laurent.pinchart@skynet.be&gt;" />
<person posts="20" size="46" who="Dimitrie O. Paun &lt;dpaun@rogers.com&gt;" />
<person posts="17" size="75" who="Eric Pouech &lt;eric.pouech@wanadoo.fr&gt;" />
<person posts="14" size="88" who="Roger Fujii &lt;rmf@lookhere.com&gt;" />
<person posts="14" size="41" who="Roland &lt;roland@netquant.com.br&gt;" />
<person posts="13" size="31" who="Brett Glass &lt;brett@lariat.org&gt;" />
<person posts="12" size="33" who="Francois Gouget &lt;fgouget@free.fr&gt;" />
<person posts="11" size="29" who="Dmitry Timoshkov &lt;dmitry@baikal.ru&gt;" />
<person posts="10" size="66" who="Anthony Taylor &lt;tony@paperdove.org&gt;" />
<person posts="10" size="26" who="Uwe Bonnes &lt;bon@elektron.ikp.physik.tu-darmstadt.de&gt;" />
<person posts="11" size="24" who="Michael Cardenas &lt;michael.cardenas@lindows.com&gt;" />
<person posts="9" size="777" who="Lonnie Cumberland &lt;lonnie@outstep.com&gt;" />
<person posts="8" size="36" who="Andriy Palamarchuk &lt;apa3a@yahoo.com&gt;" />
<person posts="7" size="55" who="Paul Millar &lt;paulm@astro.gla.ac.uk&gt;" />
<person posts="7" size="24" who="Tels &lt;perl_dummy@bloodgate.com&gt;" />
<person posts="13" size="37" who="Ove Kaaven &lt;ovek@arcticnet.no&gt;" />
<person posts="7" size="17" who="Geoffrey Hausheer &lt;i8e7fkwmsl1@phracturedblue.com&gt;" />
<person posts="6" size="381" who="Shachar Shemesh &lt;wine-devel@sun.consumer.org.il&gt;" />
<person posts="6" size="16" who="Andreas Mohr &lt;andi@rhlx01.fht-esslingen.de&gt;" />
<person posts="5" size="19" who="Boris Buegling &lt;boris@icculus.org&gt;" />
<person posts="5" size="15" who="Martin Lexa &lt;mlexa@iol.cz&gt;" />
<person posts="5" size="10" who="Sylvain Petreolle?= &lt;spetreolle@yahoo.fr&gt;" />
<person posts="4" size="22" who="Rizsanyi Zsolt &lt;rizsanyi@myrealbox.com&gt;" />
<person posts="4" size="14" who="Huw D M Davies &lt;h.davies1@physics.ox.ac.uk&gt;" />
<person posts="4" size="13" who="Steven Edwards &lt;Steven_Ed4153@yahoo.com&gt;" />
<person posts="3" size="29" who="Lina Kemmel &lt;LKEMMEL@il.ibm.com&gt;" />
<person posts="3" size="13" who="mdew &lt;mdew@orcon.net.nz&gt;" />
<person posts="3" size="11" who="Sean C. Farley &lt;scf@farley.org&gt;" />
<person posts="3" size="8" who="Vincent Beron &lt;vberon@mecano.gme.usherb.ca&gt;" />
<person posts="3" size="8" who="Michael Stefaniuc &lt;mstefani@redhat.de&gt;" />
<person posts="4" size="10" who="Mike McCormack  &lt;mike_mccormack@start.com.au&gt;" />
<person posts="3" size="8" who="Joshua Thielen &lt;thielen@netprince.net&gt;" />
<person posts="3" size="7" who="Jason M Bell &lt;bellj@MIT.EDU&gt;" />
<person posts="3" size="6" who="Marcus Meissner &lt;marcus@jet.franken.de&gt;" />
<person posts="3" size="6" who="Gerald Pfeifer &lt;pfeifer@dbai.tuwien.ac.at&gt;" />
<person posts="3" size="6" who="lawson_whitney@juno.com" />
<person posts="3" size="6" who="Speeddymon &lt;speeddymon@yahoo.com&gt;" />
<person posts="2" size="8" who="520007368975-0001@t-online.de (Enrico Horn)" />
<person posts="2" size="7" who="John Alvord &lt;jalvo@mbay.net&gt;" />
<person posts="2" size="5" who="Patrik Stridvall &lt;ps@leissner.se&gt;" />
<person posts="2" size="5" who="Waldek Hebisch &lt;hebisch@math.uni.wroc.pl&gt;" />
<person posts="2" size="5" who="Michael Riedel &lt;mriedel@inova-semiconductors.de&gt;" />
<person posts="2" size="5" who="Christian Costa &lt;titan.costa@wanadoo.fr&gt;" />
<person posts="2" size="5" who="Matt Seitz &lt;mseitz@yahoo.com&gt;" />
<person posts="2" size="4" who="Jeremy Newman &lt;jnewman@codeweavers.com&gt;" />
<person posts="2" size="4" who="Ulrich Weigand &lt;weigand@immd1.informatik.uni-erlangen.de&gt;" />
<person posts="2" size="3" who="Jan Dvorak &lt;johnydog@go.cz&gt;" />
<person posts="1" size="23" who="Thomas Duffy &lt;tduffy@afara.com&gt;" />
<person posts="1" size="8" who="Tony &lt;tony@paperdove.org&gt;" />
<person posts="1" size="6" who="Dave Hawkes &lt;daveh-wine@cadlink.com&gt;" />
<person posts="1" size="6" who="Dusan Vujosevic &lt;dusanv@cadlink.com&gt;" />
<person posts="1" size="6" who="Jason Phillips &lt;jasonp1@cox.net&gt;" />
<person posts="1" size="4" who="Joerg Mayer &lt;jmayer@loplof.de&gt;" />
<person posts="1" size="4" who="Carl Sopchak &lt;carl.sopchak@cegis123.com&gt;" />
<person posts="1" size="3" who="davide madrisan &lt;davide.madrisan@atlavia.it&gt;" />
<person posts="1" size="3" who="Francois Gouget &lt;fgouget@codeweavers.com&gt;" />
<person posts="1" size="3" who="Hetz Ben Hamo &lt;hetz@kde.org&gt;" />
<person posts="1" size="3" who="Huw Davies &lt;huw@codeweavers.com&gt;" />
<person posts="1" size="3" who="Enrico Horn &lt;farmboy1@subdimension.com&gt;" />
<person posts="1" size="3" who="Stefan Leichter &lt;Stefan.Leichter@camline.com&gt;" />
<person posts="1" size="3" who="Richard Vout &lt;VoutR@tycohealth.com&gt;" />
<person posts="1" size="3" who="Michal Seliga &lt;michal.seliga@visicom.sk&gt;" />
<person posts="1" size="3" who="Marco Pietrobono &lt;pietrobo@pietrobo.com&gt;" />
<person posts="1" size="3" who="Dave Richards &lt;drichard@largo.com&gt;" />
<person posts="1" size="2" who="Paul Rupe &lt;prupe@myrealbox.com&gt;" />
<person posts="1" size="2" who="Anand Kumria &lt;wildfire@progsoc.uts.edu.au&gt;" />
<person posts="1" size="2" who="Tony Bryant &lt;brd@paradise.net.nz&gt;" />
<person posts="1" size="2" who="Tels &lt;tels@bloodgate.com&gt;" />
<person posts="1" size="2" who="&lt;winedev@admdev.com&gt;" />
<person posts="1" size="2" who="Kari Hurtta &lt;hurtta+wine@ozone.fmi.fi&gt;" />
<person posts="1" size="2" who="GoneWest &lt;gonewest@ptdprolog.net&gt;" />
<person posts="1" size="2" who="Jacques Gelinas &lt;jack@solucorp.qc.ca&gt;" />
<person posts="1" size="2" who="lee johnson &lt;lee@imyourhandiman.com&gt;" />
<person posts="1" size="2" who="Jeff Tranter &lt;tranter@pobox.com&gt;" />
<person posts="1" size="2" who="David Hammerton &lt;david@transgaming.com&gt;" />
<person posts="1" size="2" who="David Welch &lt;welch@cwcom.net&gt;" />
<person posts="1" size="2" who="Ben Woodhead &lt;ben@echotech.ca&gt;" />
<person posts="1" size="2" who="Luca Fini &lt;lfini@arcetri.astro.it&gt;" />
<person posts="1" size="2" who="Stefan Leichter &lt;Stefan.Leichter@camLine.com&gt;" />
<person posts="1" size="2" who="David Laight &lt;david@l8s.co.uk&gt;" />
<person posts="1" size="2" who="Robert Claeson &lt;robert@acme.tm&gt;" />
<person posts="1" size="1" who="Insyde &lt;insyde@insyde.com.br&gt;" />
<person posts="1" size="1" who="nog &lt;nog@sdf.lonestar.org&gt;" />
<person posts="1" size="1" who="ccrayne@crayne.org" />
<person posts="1" size="1" who="Dan Kegel &lt;dank@kegel.com&gt;" />
<person posts="1" size="1" who="juergen.schmied@debitel.net" />
<person posts="1" size="1" who="Mark Lehrer &lt;mark@knm.org&gt;" />
<person posts="1" size="1" who="Denis Medvedev &lt;mdl@everdesk.com&gt;" />
<person posts="1" size="1" who="Duane Clark &lt;dclark@akamail.com&gt;" />

</stats>
  
  <section title="News: wine-20020411, WineHQ Update" 
  		subject="News" 
  		archive="http://cvs.winehq.com/cvsweb/wine/ANNOUNCE?rev=1.60&amp;content-type=text/x-cvsweb-markup" 
  		posts="2" 
  		startdate="30 Mar 2002 23:00:00 -0800" 
  		enddate="17 Apr 2002 23:00:00 -0800">
<topic>News</topic>

    <mention></mention>
<mention>Jeremy Newman</mention>
<mention>Lindows.com</mention>
<mention>News</mention>

<p/>
    Alexandre announced the release of 
    <a href="http://www.ibiblio.org/pub/Linux/ALPHA/wine/development/Wine-20020411.tar.gz">
    wine-20020411</a> last Thursday.  Included in the announcement
    are the following changes and additions:
    <ul><li />Beginnings of an SMB client implementation.
	    <li /> New naming scheme and location for builtin dlls.
	    <li /> aRts sound driver.
	    <li /> A bunch of unit tests.
	    <li /> Much more complete setupapi implementation.
	    <li /> Some dll separation progress.
	    <li /> The usual common controls rewrites.
	    <li /> Much improved Microsoft Office support.
	    <li /> Lots of bug fixes.
	</ul>
	<p />Thanks to everyone who responded a few weeks ago about having commercial news
	appearing here.  There was an overwhelming response (to the point of being unanimous)
	to keep it in.  This week I decided to do something a little different by adding
	different sections for some of the news from Trangaming and Lindows.com;  both
	generated enough news this week to warrant it.  In the future you'll find news
	confined to the first topic.
	
    <p />Also worth noting is Jeremy Newman's work over at <a href="http://www.winehq.com">WineHQ</a>. 
    Among other things, Jeremy added an XML parser to the site and given it a facelift.  
    As far as Wine Weekly News goes, issue #118 was the first to have the same XML
    appear on both KC Wine and the Wine Weekly News.  I'm in the process of doing a
    massive cleanup on past issues from 1999 and 2000 to merge some of the differences
    between the two.  
    
    </section>


  
  
  <section title="ReWind: The X11 Tree" 
  		subject="X11 fork available" 
  		archive="http://www.winehq.com/hypermail/wine-devel/2002/04/0247.html" 
  		posts="1" 
  		startdate="12 Apr 2002 23:00:00 -0800" 
  >
<topic>X11 Tree</topic>

    <mention></mention>
<mention>Ove K&#229;ven</mention>
<mention>Eric Pouech</mention>

<p />
    Ove K&#229;ven announced the availability of the Wine X11-license code
    on SourceForge:
    <quote who="Ove Kaaven"><p />
    Ever since the main Wine tree changed its license to the LGPL, a fork of
	the tree under the old license had seemed necessary, and been planned.
	This fork is now ready.
	<p />
	If you're a Wine contributor that don't care all that much about forking,
	you do not need to leave the official LGPL-ed Wine tree to let the
	X11-licensed fork live. All you have to do is to agree to license your
	patches under the X11 license, so we are able to pick it up from
	wine-patches and apply it to the X11 tree whenever possible. This will
	make your contributions more widely used, so we encourage as many as
	possible to do so. And if it's out of the question for you, then we
	encourage you to tell us that, so that we know that we can never apply
	your patches.
	<p />
	The fork's name was decided after a lot of brainstorming by Eric and me,
	when we found a name which we both liked... ReWind. It can stand for
	"Re-engineering Windows", or something like "Rewind to the old Windows
	days".
	<p />
	The fork is currently hosted on SourceForge. The homepage is thus
	<a href="http://rewind.sourceforge.net/">http://rewind.sourceforge.net/</a> 
	for now. It's not a very fancy page, but
	all the necessary CVS and mailing list information is there. Go there if
	you're interested in contributing actively to ReWind. Patches known to
	come from X11-friendly contributors are already applied to the CVS, but
	many more patches are waiting for the authors to declare a stance.
	<p />
	The CVS repository that ReWind is based on is the WineHQ repository,
	cleansed of all post-LGPL commits (except the Before-LGPL tag), so all the
	CVS history of the pre-LGPL Wine is present in the ReWind CVS repository.
	This ensures that no history is lost in the event that the X11 fork
	prevails over the LGPL fork.
	<p />
	Your help to achieve this is welcome.
	<p />
	Followups to this post should preferably go to 
	<a href="http://www.winehq.com/hypermail/wine-license/">
	wine-license.</a>
	<p />
	Thanks for your attention.
	</quote>
	
	<p />Ove and Eric Pouech are also tracking recent contributors to Wine at:
	<a href="http://rewind.sourceforge.net/contribs.html">
	         http://rewind.sourceforge.net/contribs.html</a>.
	Quite a few developers have expressly consented to having their patches included
	in the X11 tree.  There's also a huge list of people who fall into the "unknown"
	category - if you're submitting patches to 
	<a href="http://www.winehq.com/hypermail/wine-patches/">wine-patches</a> you
	may want to let Ove or Eric know if it's okay to also add your patch to ReWind.
	
	</section>
  
  
  

	
  <section title="TransGaming: WineX 2.0" 
  		subject="TransGaming: WineX 2.0" 
  		archive="http://www.transgaming.com/news.php?newsid=33" 
  		posts="1" 
  		startdate="16 Apr 2002 23:00:00 -0800" 
  >
<topic>Transgaming</topic>

	<mention>Max</mention>
<mention></mention>
<mention>TransGaming</mention>
<mention>Gavriel State</mention>

<p />TransGaming <a href="http://www.transgaming.com/news.php?newsid=33">announced</a>
	the availability of WineX 2.0:
	<quote who="Transgaming"><p />
	WineX 2.0 allows over 80 Windows games to run on the Linux operating system, 
	seamlessly, transparently, and right out of the box. "This is another breakthrough 
	for TransGaming. No other company can do what we do. In February we brought DirectX 
	8 capabilities to the Linux platform demonstrating how quickly and effectively our 
	technology can keep pace with Microsoft development," remarks company CEO &amp; CTO Gavriel 
	State. "And today, WineX 2.0 opens the door for the latest 'high twitch' PC games to 
	run on Linux. Our subscribers have been eagerly anticipating this release and we're 
	confident it will meet their high expectations."</quote>
	
	<p />Max Payne and Jedi Knight 2: Jedi Outcast are some of the new titles that work.
	Other changes include:
	<ul><li />Initial support for 3D sound, used in games such as Max Payne 
		<li />Better support for copy protected CDs on systems using SuperMount, such as Mandrake Linux 8.2 
		<li />Full screen mode capabilities on NVidia cards using the latest drivers 
		<li />Improved full-screen video mode support eliminating off-centre issues or desktop problems in some games 
		<li />Improved support for ALSA and OSS sound drivers, although a separate ALSA driver is still under development 
		<li />Improved support for many game installers 
		<li />Some improvements in keyboard handling 
		<li />Mouse wheel support 
	</ul>
	
	<p />Subscribers get the benefit of being able to download binaries (.rpm and .deb packages)
	as well as Safedisc copy protection support and improved InstallShield support.
	
	<p />Gav also 
	<a href="http://www.transgaming.com/gavstates.php">updated</a> 
	his column on the web site to include news about Transgaming's views on the recent
	licensing changes.  
  </section>


  <section title="Lindows.com: Sneak Preview 2" 
  		subject="Lindows.com: Sneak Preview 2" 
  		archive="http://www.lindows.com/lindows_news_pressreleases_archives.php?id=6" 
  		posts="1" 
  		startdate="07 Apr 2002 23:00:00 -0800" 
  >
<topic>Lindows</topic>

	
	<mention></mention>
<mention>Lindows.com</mention>
<mention>News</mention>

<p />
	Lindows.com <a href="http://www.lindows.com/lindows_news_pressreleases_archives.php?id=6">
	announced</a> their latest beta release available to registered users of their "Insiders"
	program.  Michael Robertson
	<a href="http://www.lindows.com/lindows_michaelsminutes_archives.php?id=9">explains</a>
	the biggest addition to Sneak Preview 2:
    <quote who="Michael Robertson">
    <p />
    Click-N-Run is a powerful new feature in the latest preview of our operating system, 
    LindowsOS, which opens the door to a world of high-quality software solutions that can 
    be instantly zapped to any machine running LindowsOS. Finding and installing software 
    has always been a tricky, time-consuming experience. LindowsOS users can now browse a 
    warehouse of software titles in a rich graphical presentation via the Warehouse tab on 
    Lindows.com or by launching Click-N-Run from their desktop. From here they can read 
    descriptions of products, do comparisons, and view screenshots and best of all, a 
    single click will download and install the title of their choice. Never before has 
    it been this simple to peruse software titles and add them to your computer. 
    </quote>
    
    <p />Newsforge has <a href="http://newsforge.com/newsforge/02/04/09/2230251.shtml?tid=23">
    a review</a>.
    
    <p />Some people aren't happy with the lack of attention Lindows.com seems to have
    towards software licenses.  Bruce Perens wrote an open letter to Michael Robertson this
    week to discuss GPL'ed parts of LindowsOS.  As 
    <a href="http://linuxtoday.com/news_story.php3?ltsn=2002-04-18-005-26-PS">described</a> 
    in the April 17th issue of the Debian Weekly News:
    <quote who="April 17th Debian Weekly News"><p />
    	Bruce Perens, former Debian Project Leader
		and Free Software evangelist, recently sent an 
	<a href="http://lists.debian.org/debian-legal/2002/debian-legal-200204/msg00046.html">open letter</a>
	    to Michael Robertson, CEO of <a href="http://www.lindows.com">Lindows.com, Inc.</a> 
		Bruce points out very
		politely that they are both partners, who have agreed to certain
		rules. The main reason for sending this letter is that a first beta
		version (binary-only) of LindowsOS, which is 
	<a href="http://zdnet.com.com/2100-1104-829588.html">said</a> to be based on
		Debian, has been released to a limited number of beta testers and the
		company hasn't yet fulfilled its 
	<a href="http://net2.com/lindows/source/">source-code obligation</a>. Bruce was
		also distressed by Robertsons treatment of the <a href="http://www.fsf.org/">FSF</a> 
		and Bradley Kuhn, which was reported in 
	<a href="http://newsforge.com/newsforge/02/04/11/148251.shtml?tid=23">Newsforge</a>.
	</quote>
    <p />[<i>Ed note: I changed the URL's referenced into hyperlinks in the above paragraph.</i>]
    <p />Michael Robertson notes that <quote who="Michael Robertson">the ability to run
    Microsoft Windows software titles</quote> has not improved in their latest preview.  
    If so, all of their Wine implementation probably falls under the X11 license and not required 
    to have the Wine source code available.  However, the fact that other parts of the system appear
    to be based on Debian requires some source code to be available.
        
    </section>
  
  
  
  
    <section title="CreateProcess Test" 
  		subject="create process test (for review)" 
  		archive="http://www.winehq.com/hypermail/wine-devel/2002/04/0012.html" 
  		posts="5" 
  		startdate="31 Mar 2002 23:00:00 -0800" 
  		enddate="01 Apr 2002 23:00:00 -0800">
<topic>Testing</topic>

    <mention></mention>
<mention>Eric Pouech</mention>

<p />
    Eric Pouech posted test for CreateProcess and asked for comments.  He noted the following
    tests:
    <ul>
      <li /> lookup:         check the way program to be executed is searched
	  <li /> environment:    check environment string passing
	  <li /> handles:        check the handle inheritance stuff (+sec options)
	  <li /> console:        check if console creation parameters work
 	</ul>
    
    One of the challenges
    with testing CreateProcess is ensuring that the child process was created correctly by the
    parent.  Eric chose to have the child process write out it's information to a file that
    gets checked later for the proper results.  One advantage to this is not relying on other
    Wine API's for storing the information, it's all written out using standard libc functions.
    Alexandre didn't like this though:
    <quote who="Alexandre Julliard"><p />
    I don't see any problem in using other APIs, that's just another way
	to get them some more testing. And it is very important that the tests
	behave exactly the same under Windows and Wine so that any difference
	can be found. If we start having different code paths on different
	platforms we can never be sure that we are actually testing the same
	thing.
	</quote>
	</section>
  
  




    <section 
    	title="C Profiler" 
  		subject="Where is &#34;cprof&#34;" 
  		archive="http://www.winehq.com/hypermail/wine-devel/2002/04/0027.html" 
  		posts="2" 
  		startdate="01 Apr 2002 23:00:00 -0800" 
  		enddate="01 Apr 2002 23:00:00 -0800">
<topic>Debugging</topic>

    <mention></mention>
<mention>Jeff Tranter</mention>

<p />Luca Fini inquired about a profiler:
    <quote who="Luca Fini"><p />
    I've seen that the Wine development team has also developed a profiler for 
	multi-threaded programs.
	<p />
	I'd be very interested in using it to profile an application which I'm 
	developing (with no connection with wine itlself).
	<p />
	Unfortunately the site which is suppose to be the cprof home is at Corel, 
	which I understand is no longer in business.
	</quote>
	<p />   
	Jeff Tranter replied that he'd send a copy of the source code he backed up
	before Corel's site was shut down.
	
	 
  	</section>








  
    <section title="Reorganizing CVS" 
  		subject="Directory reorganization" 
  		archive="http://www.winehq.com/hypermail/wine-devel/2002/04/0248.html" 
  		posts="2" 
  		startdate="12 Apr 2002 23:00:00 -0800" 
  		enddate="13 Apr 2002 23:00:00 -0800">
<topic>Project Management</topic>

    <mention></mention>
<mention>Josh Thielen</mention>

<p />
    Josh Thielen wrote:
    <quote who="Joshua Thielen"><p />
     I have an idea for reorganizing some of the directories in wine. I
	 hope I'm not stating an obvious idea here, but I would like to group
	 everything into the following first level directories:
	 <ul>
	 dlls<br />
	 documentation<br />
	 include<br />
     programs<br />
     server<br />
     tools
     </ul>
	</quote>
	<p />
	Alexandre replied, <quote who="Alexandre Julliard">
	That's more or less the plan yes. We are slowly getting there. I have
	not moved everything yet because it's not yet clear where everything
	will go (most notably for the ntdll/kernel proper separation) and I
	don't want to move things twice given CVS weaknesses in that area.
	</quote>
    </section>
  
  
  
    <section 
    	title="Testing Unicode Functions Too" 
  		subject="Regression tests, UNICODE vs ASCII" 
  		archive="http://www.winehq.com/hypermail/wine-devel/2002/04/0160.html" 
  		posts="8" 
  		startdate="05 Apr 2002 23:00:00 -0800" 
  		enddate="14 Apr 2002 23:00:00 -0800">
<topic>Testing</topic>

    <mention></mention>
<mention>Shachar Shemesh</mention>
<mention>Mark</mention>
<mention>Andriy Palamarchuk</mention>

<p />
    Geoffrey Hausheer wondered how to go about testing functions that also come in
    Unicode flavor, <quote who="Geoffrey Hausheer">
    So I've finally started writing tests for functions that have both Unicode 
	and Ascii equivalents, and I'm wondering how to write the tests.  I re-read 
	the thread about this that occurred back in January, and there didn't seem to 
	be a clear decision.</quote>

	<p />Geoff figured he could either ignore the functions or simply do the same 
	test as the ASCII functions.  Learning enough about Unicode to write proper
	tests didn't seem appealing.  However, Andriy Palamarchuk suggested creating the Unicode
	tests just like the ASCII versions but using symbols that have no ASCII equivalents.
	Shachar Shemesh suggested using some BiDi characters that specify right-to-left or
	left-to-right encoding.  Francois Gouget asked, 
	<quote who="Francois Gouget">
	I know that I would be hard-pressed to make up a Unicode string with anything
	significant. But if I had an example to base my code on, integrating it
	into my own tests should be trivial.</quote>
	
	<p />Lina Kemmel gave an example of a bunch of such characters:
	<quote who="Lina Kimmel">
	<p /><code>
	const WCHAR zeroWidthNonJoiner          = 0x200C;<br />
	const WCHAR zeroWidthJoiner             = 0x200D;<br />
	const WCHAR leftToRightMark                   = 0x200E;<br />
	const WCHAR rightToLeftMark                    = 0x200F;<br />
	const WCHAR leftToRightEmbedding      = 0x202A;<br />
	const WCHAR rightToLeftEmbedding       = 0x202B;<br />
	const WCHAR popDirectionalFormatting = 0x202C;<br />
	const WCHAR leftToRightOverride            = 0x202D;<br />
	const WCHAR rightToLeftOverride             = 0x202E;<br />
	  <br />
	const WCHAR test_string[] = {zeroWidthNonJoiner, zeroWidthJoiner, leftToRightMark, ... , rightToLeftOverride};
	</code></quote>

    </section>
    
  
  
  
    <section 
    	title="Header Files and Testing" 
  		subject="Running tests on windows" 
  		archive="http://www.winehq.com/hypermail/wine-devel/2002/04/0174.html" 
  		posts="7" 
  		startdate="06 Apr 2002 23:00:00 -0800" 
  		enddate="07 Apr 2002 23:00:00 -0800">
<topic>Testing</topic>

    <mention></mention>
<mention>Geoff Hausheer</mention>
<mention>ReactOS</mention>
<mention>Steven Edwards</mention>

<p />
    Geoff Hausheer wondered how to go about using the Wine regression tests
    in other environments (e.g. Windows):
	<quote who="Geoffrey Hausheer"><p />
    Last week I submitted a perl script that makes a Makefile (and archive 
    bundle) for building tests on Windows boxes under cygwin.  Well, it works 
    fine with mingw too (when using msys at least), but there is a snag.
    <p /> 
     In order to compile tests under Windows, I seem to need to include windows.h 
	 before any other .h files.  I did this using the '-include' directive in gcc, 
	 but it requires knowledge of the absolute path to the windows.h file.  This 
	 means I need to specify the path in the Makefile, which is completely 
	 non-portable (especialy with mingw which doesn't really have a default setup 
	 like cygwin does).
	<ol><li /> So it seems I have three options.  I can append '#include &lt;windows.h&gt;' to 
	each .c file (either wrapped in #define, or through the perl script)

    <li />I can include the entire wine /include directory in the archive, and use 
	that 'windows.h' to build against.

    <li /> I can just force the user to edit the Makefile to point to the correct 
	include directory.
   	</ol>
	</quote>
    
    <p />Francois Gouget felt the headers of whatever environment the tests
    were being run in should be used.  He thought the script could be extended
    to help out, 
   <quote who="Francois Gouget"> 
   I think I will work on extending your script to also generate
   Makefiles for use with Visual C++. The way it will work with Visual C++
   is that you are supposed to run a batch script provided by Visual C++
   (vcvars32.bat).  This script sets a number of environment variables
   which point to the location of the headers, etc. and which you can also
   use in your Makefiles.
   </quote> 
   
    <p />Steven Edwards pointed out that the headers in mingw were terrible and
    that he uses wine's headers when compiling for ReactOS.  Geoff decided to 
    change the script to allow the user to choose whether native headers were
    used or wine's.  
    
    </section>
  
    <section 
    	title="Implementing PeekNamedPipe" 
  		subject="fixme:win32:PeekNamedPipe" 
  		archive="http://www.winehq.com/hypermail/wine-devel/2002/04/0275.html" 
  		posts="6" 
  		startdate="15 Apr 2002 23:00:00 -0800" 
  		enddate="16 Apr 2002 23:00:00 -0800">
<topic>IO</topic>

    <mention></mention>
<mention>Michael Cardenas</mention>

<p />
  	Michael Riedel wondered how to go about implementing
  	a function he needs:
  	<quote who="Michael Riedel"><p />
  	First of all I want to thank the community for the efforts spent in 
	developing wine. It's simple a cool "tool" (sorry, it's more, I know).
	<p />
	Now my problem: I installed wine-20020411 without having a native 
	windows installation. I installed successfully a simulator software 
	which obviously uses a tcl/tk-GUI to invoke other program moduls 
	(compiler, library manager, simulator core) re-directing their 
	stdin/stdout to the console window via pipes. It does not work for me 
	and I get the message (infinitivly repeated):
	<p /><ul><code>
	fixme:win32:PeekNamedPipe (00000080, (nil), 00000000, (nil), 0x406a2194, 
	(nil)): stub</code></ul>
	</quote>
	
	<p />Michael Cardenas suggested searching on msdn.microsoft.com for PeekNamedPipe
	to find out what DLL it resides in.  Michael R. looked and found it resided in
	kernel32.dll, which unfortunately meant it wasn't a simple matter of using
	a native DLL to work around it.  He asked for hints on fleshing out the stubbed
	function.  Mike McCormack replied, 
	<quote who="Mike McCormack">
	Implementing PeekNamedPipe will probably be difficult to do properly. 
	Named pipes work through unix domain sockets at the moment. The code is 
	in 
	<code>dlls/ntdll/sync.c</code> and <code>server/named_pipe.c.</code> 
	(I was the one who wrote most of it.)

	Unfortunately I don't have time to work on this at the moment, but i can 
	give you a few hints on how to procede. You might be able to use 
	recvfrom with the MSG_PEEK flag to do it...
	</quote>
	</section>
  
  
  
  
    <section 
    	title="More Async IO Fixes" 
  		subject="[PATCH] async IO API, reworked" 
  		archive="http://www.winehq.com/hypermail/wine-devel/2002/04/0137.html" 
  		posts="5" 
  		startdate="04 Apr 2002 23:00:00 -0800" 
  		enddate="07 Apr 2002 23:00:00 -0800">
<topic>IO</topic>

    <mention></mention>
<mention>Paul Rupe</mention>

<p />
    Martin Wilck submitted a bunch of patches to improve asynchronous IO.  Martin wanted to 
    change the API to allow for better DLL separation.  He also noted the following changes:
    <quote who="Martin Wilck"><p />
	PATCH: async-struct.diff
	<p />
	Purpose: Modified API for asynchronous IO requests.
    <ul><li /> separate cleanly between async scheduling and file IO related issues,
		<li /> make the API compatible with other types of async requests (e.g. for sockets),
		<li /> remove exports of async IO related functions for DLL separation.
	</ul></quote>
	
	<p />Alexandre applied the patch, but wasn't totally happy:
	<quote who="Alexandre Julliard">
	One thing is that it introduces a header that doesn't exist under
	Windows. That can be acceptable, we have a few internal headers
	already; but it must be avoided as much as possible. The bigger
	problem is that you not only share static functions, but also data
	structures; and this is a big problem when trying to remain compatible
	between different versions of the various dlls.
	<p />
	Ultimately we may need to formalize this as part of the wine server
	interface, and we may not be able to avoid data structures
	completely. I do think that it should be possible to make the dlls
	more independent by doing more work in the server; but we should
	probably finish the implementation first and then we can start
	cleaning things up.
	</quote>
	
	<p />Martin began feeding more patches in and prefaced them with a request for
	people to do testing.  He added:
	<quote who="Martin Wilck"><p />
	As I indicated in my last posting, there is a lot of work outstanding
	to make all of the winsock2 code consistent with this async IO
	implementation. I see strange things in socket.c anyway, e.g. the select()
	call that simply disregards all the wait mechanisms that are provided
	in other places in wine.
	<p />
	If any of the original authors of this code read this message, I'd be
	really happy to get in contact with you!!
	</quote>

	<p />Paul Rupe suggested using "Hamster" to do testing,
	
	A good one to look at is Hamster, a local newsserver at &lt;
	<a href="http://home.arcor.de/tgl70/misc/hamster_en.htm">http://home.arcor.de/tgl70/misc/hamster_en.htm</a>
	&gt;.  The nice thing about it 
	is the source code (in Delphi) is available as well.  It uses overlapped 
	I/O on sockets, is multithreaded (a good thing to test), and has detailed 
	logging you can turn on.  I've used it to debug socket-related problems in 
	the past and even worked on the overlapped I/O problem myself briefly.

	
    
  </section>
  
</kc>
