<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=US-ASCII">
<META NAME="Generator" CONTENT="MS Exchange Server version 5.5.2654.45">
<TITLE>RE: Wsd service installer</TITLE>
</HEAD>
<BODY>

<P><FONT SIZE=2>here is the patch :</FONT>
</P>

<P><FONT SIZE=2>you can add stringfy macros to complib if you like.</FONT>
<BR><FONT SIZE=2>If its OK I will create patch forics_ver.h</FONT>
</P>
<BR>

<P><FONT SIZE=2>Index: tools/wsdinstall/user/InstallSP.sln</FONT>
<BR><FONT SIZE=2>===================================================================</FONT>
<BR><FONT SIZE=2>--- tools/wsdinstall/user/InstallSP.sln (revision 260)</FONT>
<BR><FONT SIZE=2>+++ tools/wsdinstall/user/InstallSP.sln (working copy)</FONT>
<BR><FONT SIZE=2>@@ -1,21 +0,0 @@</FONT>
<BR><FONT SIZE=2>-Microsoft Visual Studio Solution File, Format Version 8.00</FONT>
<BR><FONT SIZE=2>-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "InstallSP", "InstallSP.vcproj", "{B3A2B7A0-1906-413E-A457-8AD2FC5E88BB}"</FONT></P>

<P><FONT SIZE=2>-       ProjectSection(ProjectDependencies) = postProject</FONT>
<BR><FONT SIZE=2>-       EndProjectSection</FONT>
<BR><FONT SIZE=2>-EndProject</FONT>
<BR><FONT SIZE=2>-Global</FONT>
<BR><FONT SIZE=2>-       GlobalSection(SolutionConfiguration) = preSolution</FONT>
<BR><FONT SIZE=2>-               Debug = Debug</FONT>
<BR><FONT SIZE=2>-               Release = Release</FONT>
<BR><FONT SIZE=2>-       EndGlobalSection</FONT>
<BR><FONT SIZE=2>-       GlobalSection(ProjectConfiguration) = postSolution</FONT>
<BR><FONT SIZE=2>-               {B3A2B7A0-1906-413E-A457-8AD2FC5E88BB}.Debug.ActiveCfg = Debug|Win32</FONT>
<BR><FONT SIZE=2>-               {B3A2B7A0-1906-413E-A457-8AD2FC5E88BB}.Debug.Build.0 = Debug|Win32</FONT>
<BR><FONT SIZE=2>-               {B3A2B7A0-1906-413E-A457-8AD2FC5E88BB}.Release.ActiveCfg = Release|Win32</FONT>
<BR><FONT SIZE=2>-               {B3A2B7A0-1906-413E-A457-8AD2FC5E88BB}.Release.Build.0 = Release|Win32</FONT>
<BR><FONT SIZE=2>-       EndGlobalSection</FONT>
<BR><FONT SIZE=2>-       GlobalSection(ExtensibilityGlobals) = postSolution</FONT>
<BR><FONT SIZE=2>-       EndGlobalSection</FONT>
<BR><FONT SIZE=2>-       GlobalSection(ExtensibilityAddIns) = postSolution</FONT>
<BR><FONT SIZE=2>-       EndGlobalSection</FONT>
<BR><FONT SIZE=2>-EndGlobal</FONT>
<BR><FONT SIZE=2>Index: tools/wsdinstall/user/installsp.c</FONT>
<BR><FONT SIZE=2>===================================================================</FONT>
<BR><FONT SIZE=2>--- tools/wsdinstall/user/installsp.c   (revision 260)</FONT>
<BR><FONT SIZE=2>+++ tools/wsdinstall/user/installsp.c   (working copy)</FONT>
<BR><FONT SIZE=2>@@ -44,11 +44,16 @@</FONT>
<BR><FONT SIZE=2> #include <stdio.h></FONT>
<BR><FONT SIZE=2> </FONT>
<BR><FONT SIZE=2> /* Initialize the LSP's provider path for Infiband Service Provider dll */</FONT>
<BR><FONT SIZE=2>+</FONT>
<BR><FONT SIZE=2>+#define _stringfy(a)   #a</FONT>
<BR><FONT SIZE=2>+#define stringfy(a)    _stringfy(a)</FONT>
<BR><FONT SIZE=2>+</FONT>
<BR><FONT SIZE=2> static const WCHAR *provider_path = L"%SYSTEMROOT%\\system32\\ibwsd.dll";</FONT>
<BR><FONT SIZE=2>-static const WCHAR *provider_name = L"SilverStorm Winsock Direct for InfiniBand";</FONT>
<BR><FONT SIZE=2> static const char *winsock_key_path = "System\\CurrentControlSet\\Services\\Winsock\\Parameters\\TCP on SAN";</FONT>
<BR><FONT SIZE=2>-static const char *silverstorm_key_name = "SilverStorm InfiniBand";</FONT>
<BR><FONT SIZE=2>+static const CHAR *provider_name = stringfy(IB_COMPANY_NAME) " Winsock Direct for InfiniBand";</FONT>
<BR><FONT SIZE=2>+static const char *winsock_key_name = stringfy(IB_COMPANY_NAME) " InfiniBand";</FONT>
<BR><FONT SIZE=2> </FONT>
<BR><FONT SIZE=2>+</FONT>
<BR><FONT SIZE=2> /* Unique provider GUID generated with "uuidgen -s" */</FONT>
<BR><FONT SIZE=2> static GUID provider_guid = {</FONT>
<BR><FONT SIZE=2>        /* c943654d-2c84-4db7-af3e-fdf1c5322458 */</FONT>
<BR><FONT SIZE=2>@@ -147,7 +152,7 @@</FONT>
<BR><FONT SIZE=2>                REG_OPTION_NON_VOLATILE, (KEY_WRITE | KEY_READ), NULL, &hkey, NULL );</FONT>
<BR><FONT SIZE=2>        if( reg_error == ERROR_SUCCESS )</FONT>
<BR><FONT SIZE=2>        {</FONT>
<BR><FONT SIZE=2>-               reg_error = RegSetValueEx( hkey, silverstorm_key_name, 0, REG_BINARY,</FONT>
<BR><FONT SIZE=2>+               reg_error = RegSetValueEx( hkey, winsock_key_name, 0, REG_BINARY,</FONT>
<BR><FONT SIZE=2>                        (PBYTE)&provider_guid, sizeof(GUID) );</FONT>
<BR><FONT SIZE=2>                if( reg_error == ERROR_SUCCESS )</FONT>
<BR><FONT SIZE=2>                {</FONT>
<BR><FONT SIZE=2>@@ -190,7 +195,7 @@</FONT>
<BR><FONT SIZE=2>        provider.iSecurityScheme = SECURITY_PROTOCOL_NONE;</FONT>
<BR><FONT SIZE=2>        provider.dwMessageSize = 0xFFFFFFFF; /* IB supports 32-bit lengths for data transfers on RC */</FONT>
<BR><FONT SIZE=2>        provider.dwProviderReserved = 0;</FONT>
<BR><FONT SIZE=2>-       wcscpy( provider.szProtocol, provider_name );</FONT>
<BR><FONT SIZE=2>+       wcscpy( provider.szProtocol, ( const WCHAR*)provider_name );</FONT>
<BR><FONT SIZE=2> </FONT>
<BR><FONT SIZE=2>        rc = WSCInstallProvider(</FONT>
<BR><FONT SIZE=2>                &provider_guid, provider_path, &provider, 1, &errno );</FONT>
<BR><FONT SIZE=2>@@ -222,7 +227,7 @@</FONT>
<BR><FONT SIZE=2>                                                         &hkey);</FONT>
<BR><FONT SIZE=2>        if (reg_error == ERROR_SUCCESS) {</FONT>
<BR><FONT SIZE=2> </FONT>
<BR><FONT SIZE=2>-               reg_error = RegDeleteValue(hkey, silverstorm_key_name);</FONT>
<BR><FONT SIZE=2>+               reg_error = RegDeleteValue(hkey, winsock_key_name);</FONT>
<BR><FONT SIZE=2>                if (reg_error == ERROR_SUCCESS) {</FONT>
<BR><FONT SIZE=2>                        /* Force the system to remove the key now. */</FONT>
<BR><FONT SIZE=2>                        RegFlushKey(hkey);</FONT>
<BR><FONT SIZE=2>Index: tools/wsdinstall/user/makefile</FONT>
<BR><FONT SIZE=2>===================================================================</FONT>
<BR><FONT SIZE=2>--- tools/wsdinstall/user/makefile      (revision 260)</FONT>
<BR><FONT SIZE=2>+++ tools/wsdinstall/user/makefile      (working copy)</FONT>
<BR><FONT SIZE=2>@@ -4,4 +4,5 @@</FONT>
<BR><FONT SIZE=2> # that is shared by all the driver components of the Windows NT DDK</FONT>
<BR><FONT SIZE=2> #</FONT>
<BR><FONT SIZE=2> </FONT>
<BR><FONT SIZE=2>+!INCLUDE ..\..\..\inc\makefile.inc</FONT>
<BR><FONT SIZE=2> !INCLUDE $(NTMAKEENV)\makefile.def</FONT>
<BR><FONT SIZE=2>Index: inc/makefile.inc</FONT>
<BR><FONT SIZE=2>===================================================================</FONT>
<BR><FONT SIZE=2>--- inc/makefile.inc    (revision 0)</FONT>
<BR><FONT SIZE=2>+++ inc/makefile.inc    (revision 0)</FONT>
<BR><FONT SIZE=2>@@ -0,0 +1,7 @@</FONT>
<BR><FONT SIZE=2>+!if "$(IB_COMPANY_NAME)" == ""</FONT>
<BR><FONT SIZE=2>+C_DEFINES =$(C_DEFINES) /DIB_COMPANY_NAME="OpenIB"</FONT>
<BR><FONT SIZE=2>+!  message  Current company name OpenIB </FONT>
<BR><FONT SIZE=2>+!else</FONT>
<BR><FONT SIZE=2>+C_DEFINES =$(C_DEFINES) /DIB_COMPANY_NAME="$(IB_COMPANY_NAME)"</FONT>
<BR><FONT SIZE=2>+!  message  Current company name $(IB_COMPANY_NAME)</FONT>
<BR><FONT SIZE=2>+!endif</FONT>
</P>

<P><FONT SIZE=2>Thanks</FONT>
<BR><FONT SIZE=2>Yossi </FONT>
</P>

</BODY>
</HTML>