add some basic command line parsing

svn path=/trunk/; revision=30631
This commit is contained in:
Ged Murphy 2007-11-21 15:58:00 +00:00
parent 6f2afc126e
commit ff3ab4a9f3
3 changed files with 58 additions and 1006 deletions

View file

@ -1,32 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mstsc", "mstsc_vc8_auto.vcproj", "{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug - ReactOS headers|Win32 = Debug - ReactOS headers|Win32
Debug|Win32 = Debug|Win32
Release - ReactOS headers|Win32 = Release - ReactOS headers|Win32
Release|Win32 = Release|Win32
Speed - ReactOS headers|Win32 = Speed - ReactOS headers|Win32
Speed|Win32 = Speed|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}.Debug - ReactOS headers|Win32.ActiveCfg = Debug - ReactOS headers|Win32
{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}.Debug - ReactOS headers|Win32.Build.0 = Debug - ReactOS headers|Win32
{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}.Debug|Win32.ActiveCfg = Debug|Win32
{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}.Debug|Win32.Build.0 = Debug|Win32
{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}.Release - ReactOS headers|Win32.ActiveCfg = Release - ReactOS headers|Win32
{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}.Release - ReactOS headers|Win32.Build.0 = Release - ReactOS headers|Win32
{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}.Release|Win32.ActiveCfg = Release|Win32
{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}.Release|Win32.Build.0 = Release|Win32
{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}.Speed - ReactOS headers|Win32.ActiveCfg = Speed - ReactOS headers|Win32
{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}.Speed - ReactOS headers|Win32.Build.0 = Speed - ReactOS headers|Win32
{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}.Speed|Win32.ActiveCfg = Speed|Win32
{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}.Speed|Win32.Build.0 = Speed|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View file

@ -1,649 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="mstsc"
ProjectGUID="{B6EF8F33-E4EA-495D-9E94-9A6ADBC235ED}"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="..\..\..\output-i386\base\applications\mstsc\vc8\Debug"
IntermediateDirectory="..\..\..\obj-i386\base\applications\mstsc\vc8\Debug"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
WholeProgramOptimization="false"
AdditionalIncludeDirectories="./;../../../.;../../../include;../../../include;../../../include/dxsdk;../../../include/ndk;../../../include/reactos;../../../include/reactos;../../../include/reactos/libs;..\..\..\obj-i386\include\reactos"
PreprocessorDefinitions="DBG=1;KDBG=1;STDCALL=__stdcall;_DEBUG;_LIB;_M_IX86;_SEH_ENABLE_TRACE;_WIN32_IE=0x600;_WIN32_WINNT=0x501;_X86_;__REACTOS__;__i386__;_CRT_SECURE_NO_DEPRECATE;UNICODE"
MinimalRebuild="false"
BasicRuntimeChecks="0"
RuntimeLibrary="1"
BufferSecurityCheck="false"
EnableFunctionLevelLinking="false"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CallingConvention="0"
CompileAs="1"
ForcedIncludeFiles="warning.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
AdditionalIncludeDirectories="./;../../../.;../../../include;../../../include;../../../include/dxsdk;../../../include/ndk;../../../include/reactos;../../../include/reactos;../../../include/reactos/libs;..\..\..\obj-i386\include\reactos"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib comctl32.lib ws2_32.lib"
OutputFile="$(OutDir)/mstsc.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\output-i386\dll\win32\kernel32\vc8\Debug;..\..\..\output-i386\dll\win32\user32\vc8\Debug;..\..\..\output-i386\dll\win32\gdi32\vc8\Debug;..\..\..\output-i386\dll\win32\comctl32\vc8\Debug;..\..\..\output-i386\dll\win32\ws2_32\vc8\Debug"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/mstsc.pdb"
SubSystem="2"
LinkTimeCodeGeneration="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
EmbedManifest="false"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="..\..\..\output-i386\base\applications\mstsc\vc8\Release"
IntermediateDirectory="..\..\..\obj-i386\base\applications\mstsc\vc8\Release"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
FavorSizeOrSpeed="1"
WholeProgramOptimization="false"
AdditionalIncludeDirectories="./;../../../.;../../../include;../../../include;../../../include/dxsdk;../../../include/ndk;../../../include/reactos;../../../include/reactos;../../../include/reactos/libs;..\..\..\obj-i386\include\reactos"
PreprocessorDefinitions=";DBG=1;KDBG=1;STDCALL=__stdcall;_LIB;_M_IX86;_SEH_ENABLE_TRACE;_WIN32_IE=0x600;_WIN32_WINNT=0x501;_X86_;__REACTOS__;__i386__"
StringPooling="true"
MinimalRebuild="false"
BasicRuntimeChecks="0"
BufferSecurityCheck="false"
EnableFunctionLevelLinking="false"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CallingConvention="0"
CompileAs="1"
ForcedIncludeFiles="warning.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
AdditionalIncludeDirectories="./;../../../.;../../../include;../../../include;../../../include/dxsdk;../../../include/ndk;../../../include/reactos;../../../include/reactos;../../../include/reactos/libs;..\..\..\obj-i386\include\reactos"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib comctl32.lib ws2_32.lib"
OutputFile="$(OutDir)/mstsc.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\output-i386\dll\win32\kernel32\vc8\Release;..\..\..\output-i386\dll\win32\user32\vc8\Release;..\..\..\output-i386\dll\win32\gdi32\vc8\Release;..\..\..\output-i386\dll\win32\comctl32\vc8\Release;..\..\..\output-i386\dll\win32\ws2_32\vc8\Release"
GenerateDebugInformation="true"
SubSystem="2"
LinkTimeCodeGeneration="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
EmbedManifest="false"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Speed|Win32"
OutputDirectory="..\..\..\output-i386\base\applications\mstsc\vc8\Speed"
IntermediateDirectory="..\..\..\obj-i386\base\applications\mstsc\vc8\Speed"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
WholeProgramOptimization="false"
AdditionalIncludeDirectories="./;../../../.;../../../include;../../../include;../../../include/dxsdk;../../../include/ndk;../../../include/reactos;../../../include/reactos;../../../include/reactos/libs;..\..\..\obj-i386\include\reactos"
PreprocessorDefinitions=";DBG=1;KDBG=1;STDCALL=__stdcall;_LIB;_M_IX86;_SEH_ENABLE_TRACE;_WIN32_IE=0x600;_WIN32_WINNT=0x501;_X86_;__REACTOS__;__i386__"
MinimalRebuild="true"
BasicRuntimeChecks="0"
BufferSecurityCheck="false"
EnableFunctionLevelLinking="false"
UsePrecompiledHeader="0"
WarningLevel="0"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CallingConvention="0"
CompileAs="1"
ForcedIncludeFiles="warning.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
AdditionalIncludeDirectories="./;../../../.;../../../include;../../../include;../../../include/dxsdk;../../../include/ndk;../../../include/reactos;../../../include/reactos;../../../include/reactos/libs;..\..\..\obj-i386\include\reactos"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib comctl32.lib ws2_32.lib"
OutputFile="$(OutDir)/mstsc.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\output-i386\dll\win32\kernel32\vc8\Speed;..\..\..\output-i386\dll\win32\user32\vc8\Speed;..\..\..\output-i386\dll\win32\gdi32\vc8\Speed;..\..\..\output-i386\dll\win32\comctl32\vc8\Speed;..\..\..\output-i386\dll\win32\ws2_32\vc8\Speed"
GenerateDebugInformation="false"
SubSystem="2"
LinkTimeCodeGeneration="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
EmbedManifest="false"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Debug - ReactOS headers|Win32"
OutputDirectory="..\..\..\output-i386\base\applications\mstsc\vc8\Debug - ReactOS headers"
IntermediateDirectory="..\..\..\obj-i386\base\applications\mstsc\vc8\Debug - ReactOS headers"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
WholeProgramOptimization="false"
AdditionalIncludeDirectories="./;../../../.;../../../include;../../../include;../../../include/dxsdk;../../../include/ndk;../../../include/reactos;../../../include/reactos;../../../include/reactos/libs;..\..\..\obj-i386\include\reactos;../../../include/psdk;../../../include/psdk;../../../include/ddk;../../../include/GL"
PreprocessorDefinitions=";DBG=1;KDBG=1;_DEBUG;_LIB;_M_IX86;_SEH_ENABLE_TRACE;_WIN32_IE=0x600;_WIN32_WINNT=0x501;_X86_;__REACTOS__;__i386__"
MinimalRebuild="false"
BasicRuntimeChecks="0"
RuntimeLibrary="1"
BufferSecurityCheck="false"
EnableFunctionLevelLinking="false"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
CallingConvention="0"
CompileAs="1"
ForcedIncludeFiles="warning.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
AdditionalIncludeDirectories="./;../../../.;../../../include;../../../include;../../../include/dxsdk;../../../include/ndk;../../../include/reactos;../../../include/reactos;../../../include/reactos/libs;..\..\..\obj-i386\include\reactos;../../../include/psdk;../../../include/psdk;../../../include/ddk;../../../include/GL"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib comctl32.lib ws2_32.lib"
OutputFile="$(OutDir)/mstsc.exe"
LinkIncremental="2"
AdditionalLibraryDirectories="..\..\..\output-i386\dll\win32\kernel32\vc8\Debug - ReactOS headers;..\..\..\output-i386\dll\win32\user32\vc8\Debug - ReactOS headers;..\..\..\output-i386\dll\win32\gdi32\vc8\Debug - ReactOS headers;..\..\..\output-i386\dll\win32\comctl32\vc8\Debug - ReactOS headers;..\..\..\output-i386\dll\win32\ws2_32\vc8\Debug - ReactOS headers"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/mstsc.pdb"
SubSystem="2"
LinkTimeCodeGeneration="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
EmbedManifest="false"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release - ReactOS headers|Win32"
OutputDirectory="..\..\..\output-i386\base\applications\mstsc\vc8\Release - ReactOS headers"
IntermediateDirectory="..\..\..\obj-i386\base\applications\mstsc\vc8\Release - ReactOS headers"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="2"
FavorSizeOrSpeed="1"
WholeProgramOptimization="false"
AdditionalIncludeDirectories="./;../../../.;../../../include;../../../include;../../../include/dxsdk;../../../include/ndk;../../../include/reactos;../../../include/reactos;../../../include/reactos/libs;..\..\..\obj-i386\include\reactos;../../../include/psdk;../../../include/psdk;../../../include/ddk;../../../include/GL"
PreprocessorDefinitions=";DBG=1;KDBG=1;_LIB;_M_IX86;_SEH_ENABLE_TRACE;_WIN32_IE=0x600;_WIN32_WINNT=0x501;_X86_;__REACTOS__;__i386__"
StringPooling="true"
MinimalRebuild="false"
BasicRuntimeChecks="0"
BufferSecurityCheck="false"
EnableFunctionLevelLinking="false"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
CallingConvention="0"
CompileAs="1"
ForcedIncludeFiles="warning.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
AdditionalIncludeDirectories="./;../../../.;../../../include;../../../include;../../../include/dxsdk;../../../include/ndk;../../../include/reactos;../../../include/reactos;../../../include/reactos/libs;..\..\..\obj-i386\include\reactos;../../../include/psdk;../../../include/psdk;../../../include/ddk;../../../include/GL"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib comctl32.lib ws2_32.lib"
OutputFile="$(OutDir)/mstsc.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\output-i386\dll\win32\kernel32\vc8\Release - ReactOS headers;..\..\..\output-i386\dll\win32\user32\vc8\Release - ReactOS headers;..\..\..\output-i386\dll\win32\gdi32\vc8\Release - ReactOS headers;..\..\..\output-i386\dll\win32\comctl32\vc8\Release - ReactOS headers;..\..\..\output-i386\dll\win32\ws2_32\vc8\Release - ReactOS headers"
GenerateDebugInformation="true"
SubSystem="2"
LinkTimeCodeGeneration="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
EmbedManifest="false"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Speed - ReactOS headers|Win32"
OutputDirectory="..\..\..\output-i386\base\applications\mstsc\vc8\Speed - ReactOS headers"
IntermediateDirectory="..\..\..\obj-i386\base\applications\mstsc\vc8\Speed - ReactOS headers"
ConfigurationType="1"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
WholeProgramOptimization="false"
AdditionalIncludeDirectories="./;../../../.;../../../include;../../../include;../../../include/dxsdk;../../../include/ndk;../../../include/reactos;../../../include/reactos;../../../include/reactos/libs;..\..\..\obj-i386\include\reactos;../../../include/psdk;../../../include/psdk;../../../include/ddk;../../../include/GL"
PreprocessorDefinitions=";DBG=1;KDBG=1;_LIB;_M_IX86;_SEH_ENABLE_TRACE;_WIN32_IE=0x600;_WIN32_WINNT=0x501;_X86_;__REACTOS__;__i386__"
MinimalRebuild="true"
BasicRuntimeChecks="0"
BufferSecurityCheck="false"
EnableFunctionLevelLinking="false"
UsePrecompiledHeader="0"
WarningLevel="0"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="0"
CallingConvention="0"
CompileAs="1"
ForcedIncludeFiles="warning.h"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
AdditionalIncludeDirectories="./;../../../.;../../../include;../../../include;../../../include/dxsdk;../../../include/ndk;../../../include/reactos;../../../include/reactos;../../../include/reactos/libs;..\..\..\obj-i386\include\reactos;../../../include/psdk;../../../include/psdk;../../../include/ddk;../../../include/GL"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib comctl32.lib ws2_32.lib"
OutputFile="$(OutDir)/mstsc.exe"
LinkIncremental="1"
AdditionalLibraryDirectories="..\..\..\output-i386\dll\win32\kernel32\vc8\Speed - ReactOS headers;..\..\..\output-i386\dll\win32\user32\vc8\Speed - ReactOS headers;..\..\..\output-i386\dll\win32\gdi32\vc8\Speed - ReactOS headers;..\..\..\output-i386\dll\win32\comctl32\vc8\Speed - ReactOS headers;..\..\..\output-i386\dll\win32\ws2_32\vc8\Speed - ReactOS headers"
GenerateDebugInformation="false"
SubSystem="2"
LinkTimeCodeGeneration="0"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
EmbedManifest="false"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat;S"
>
<File
RelativePath=".\bitmap.c"
>
</File>
<File
RelativePath=".\bsops.c"
>
</File>
<File
RelativePath=".\cache.c"
>
</File>
<File
RelativePath=".\channels.c"
>
</File>
<File
RelativePath=".\connectdialog.c"
>
</File>
<File
RelativePath=".\iso.c"
>
</File>
<File
RelativePath=".\licence.c"
>
</File>
<File
RelativePath=".\mcs.c"
>
</File>
<File
RelativePath=".\mppc.c"
>
</File>
<File
RelativePath=".\orders.c"
>
</File>
<File
RelativePath=".\pstcache.c"
>
</File>
<File
RelativePath=".\rdp.c"
>
</File>
<File
RelativePath=".\rdp5.c"
>
</File>
<File
RelativePath=".\secure.c"
>
</File>
<File
RelativePath=".\settings.c"
>
</File>
<File
RelativePath=".\ssl_calls.c"
>
</File>
<File
RelativePath=".\tcp.c"
>
</File>
<File
RelativePath=".\uimain.c"
>
</File>
<File
RelativePath=".\win32.c"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl"
>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
>
<File
RelativePath=".\rdc.rc"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View file

@ -965,340 +965,69 @@ mi_paint_rect(char * data, int width, int height, int x, int y, int cx, int cy)
}
#if 0
/*****************************************************************************/
static int
mi_process_a_param(char * param1, int state)
static BOOL
ParseCommandLine(LPWSTR lpCmdLine,
PRDPSETTINGS pRdpSettings,
BOOL *bSkipDlg)
{
char * p;
LPWSTR lpStr = lpCmdLine;
WCHAR szSeps[] = L"/";
LPWSTR lpToken;
BOOL bRet = TRUE;
INT i;
if (state == 0)
{
if (strcmp(param1, "-g") == 0 || strcmp(param1, "geometry") == 0)
{
state = 1;
}
if (strcmp(param1, "-t") == 0 || strcmp(param1, "port") == 0)
{
state = 2;
}
if (strcmp(param1, "-a") == 0 || strcmp(param1, "bpp") == 0)
{
state = 3;
}
if (strcmp(param1, "-f") == 0 || strcmp(param1, "fullscreen") == 0)
{
g_fullscreen = 1;
}
if (strcmp(param1, "-u") == 0 || strcmp(param1, "username") == 0)
{
state = 5;
}
if (strcmp(param1, "-p") == 0 || strcmp(param1, "password") == 0)
{
state = 6;
}
if (strcmp(param1, "-d") == 0 || strcmp(param1, "domain") == 0)
{
state = 7;
}
if (strcmp(param1, "-s") == 0 || strcmp(param1, "shell") == 0)
{
state = 8;
}
if (strcmp(param1, "-c") == 0 || strcmp(param1, "directory") == 0)
{
state = 9;
}
if (strcmp(param1, "-n") == 0 || strcmp(param1, "hostname") == 0)
{
state = 10;
}
}
else
{
if (state == 1) /* -g widthxheight*/
{
state = 0;
if (strcmp(param1, "workarea") == 0)
{
g_workarea = 1;
return state;
}
g_width = strtol(param1, &p, 10);
if (g_width <= 0)
{
mi_error("invalid geometry\r\n");
}
if (*p == 'x')
{
g_height = strtol(p + 1, &p, 10);
}
if (g_height <= 0)
{
mi_error("invalid geometry\r\n");
}
g_width_height_set = 1;
}
if (state == 2) /* -t port */
{
state = 0;
g_tcp_port_rdp = atol(param1);
}
if (state == 3) /* -a bpp */
{
state = 0;
g_server_depth = atol(param1);
if (g_server_depth != 8 && g_server_depth != 15 && g_server_depth != 16 && g_server_depth != 24)
{
mi_error("invalid server bpp\r\n");
}
}
if (state == 5) /* -u username */
{
state = 0;
strcpy(g_username, param1);
}
if (state == 6) /* -p password */
{
state = 0;
strcpy(g_password, param1);
}
if (state == 7) /* -d domain */
{
state = 0;
strcpy(g_domain, param1);
}
if (state == 8) /* -s shell */
{
state = 0;
strcpy(g_shell, param1);
}
if (state == 9) /* -c workin directory*/
{
state = 0;
strcpy(g_directory, param1);
}
if (state == 10) /* -n host name*/
{
state = 0;
strcpy(g_hostname, param1);
}
}
return state;
}
*bSkipDlg = TRUE;
/*****************************************************************************/
static int
mi_post_param(void)
{
/* after parameters */
if (g_fullscreen)
{
g_xoff = 0;
g_yoff = 0;
if (!g_width_height_set)
if (*lpCmdLine != L'/')
{
g_width = g_screen_width;
g_height = g_screen_height;
}
}
else if (g_workarea)
{
g_xoff = GetSystemMetrics(SM_CXEDGE) * 2;
g_yoff = GetSystemMetrics(SM_CYCAPTION) +
GetSystemMetrics(SM_CYEDGE) * 2;
g_width = g_screen_width;
g_height = g_screen_height;
g_height = (g_height - g_yoff) - g_xoff - 20; /* todo */
g_width_height_set = 1;
}
else
{
g_xoff = GetSystemMetrics(SM_CXEDGE) * 2;
g_yoff = GetSystemMetrics(SM_CYCAPTION) +
GetSystemMetrics(SM_CYEDGE) * 2;
}
g_width = g_width & (~3);
return 1;
}
/*****************************************************************************/
static int
mi_check_config_file(void)
{
HANDLE fd;
DWORD count;
TCHAR filename[256];
char buffer[256];
char vname[256];
char value[256];
int index;
int mode;
int vnameindex;
int valueindex;
int state;
int rv;
rv = 0;
mode = 0;
vnameindex = 0;
valueindex = 0;
vname[vnameindex] = 0;
value[valueindex] = 0;
str_to_uni(filename, ".\\winrdesktop.ini");
fd = CreateFile(filename, GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
count = 255;
while (ReadFile(fd, buffer, count, &count, NULL))
{
if (count == 0)
{
break;
}
buffer[count] = 0;
index = 0;
while (index < (int) count)
{
if (buffer[index] == '=')
{
mode = 1;
}
else if (buffer[index] == 10 || buffer[index] == 13)
{
mode = 0;
vname[vnameindex] = 0;
value[valueindex] = 0;
if (strlen(vname) > 0 || strlen(value) > 0)
{
if (strcmp(vname, "server") == 0)
{
strcpy(g_servername, value);
rv = 1;
}
else
{
state = mi_process_a_param(vname, 0);
mi_process_a_param(value, state);
}
}
vnameindex = 0;
valueindex = 0;
}
else if (mode == 0)
{
vname[vnameindex] = buffer[index];
vnameindex++;
}
else
{
value[valueindex] = buffer[index];
valueindex++;
}
index++;
}
count = 255;
}
CloseHandle(fd);
if (rv)
{
mi_post_param();
}
return rv;
}
/*****************************************************************************/
/* process the command line parameters */
/* returns boolean, non zero is ok */
static int
mi_process_cl(LPTSTR lpCmdLine)
{
char param[256];
char param1[256];
TCHAR l_username[256];
DWORD size;
int len;
int i;
int i1;
int state;
strcpy(g_hostname, "test");
strcpy(g_username, "pda");
/* get username and convert it from unicode */
size = 255;
if (GetUserName(l_username, &size))
{
for (i = size; i >= 0; i--)
{
g_username[i] = (char) l_username[i];
}
g_username[size] = 0;
}
else
{
mi_show_error("GetUserName");
}
/* get computer name */
if (gethostname(g_hostname, 255) != 0)
{
mi_show_error("gethostname");
}
/* defaults */
strcpy(g_servername, "127.0.0.1");
g_server_depth = 8;
g_screen_width = GetSystemMetrics(SM_CXSCREEN);
g_screen_height = GetSystemMetrics(SM_CYSCREEN);
/* process parameters */
i1 = 0;
state = 0;
len = lstrlen(lpCmdLine);
if (len == 0)
{
return mi_check_config_file();
}
for (i = 0; i < len; i++)
{
if (lpCmdLine[i] != 32 && lpCmdLine[i] != 9) /* space or tab */
{
param[i1] = (char) lpCmdLine[i];
i1++;
LoadRdpSettingsFromFile(pRdpSettings, lpCmdLine);
}
else
{
param[i1] = 0;
i1 = 0;
strcpy(param1, param);
state = mi_process_a_param(param1, state);
strcpy(g_servername, param1);
/* default to 16bpp */
SetIntegerToSettings(pRdpSettings, L"session bpp", 16);
lpToken = wcstok(lpStr, szSeps);
while (lpToken)
{
if (wcsncmp(lpToken, L"edit", 4) == 0)
{
lpToken += 5;
LoadRdpSettingsFromFile(pRdpSettings, lpToken);
*bSkipDlg = FALSE;
break;
}
if (*lpToken == L'v')
{
lpToken += 2;
SetStringToSettings(pRdpSettings, L"full address", lpToken);
}
else if (*lpToken == L'w')
{
lpToken += 2;
SetIntegerToSettings(pRdpSettings, L"desktopwidth", _wtoi(lpToken));
}
else if (*lpToken == L'h')
{
lpToken += 2;
SetIntegerToSettings(pRdpSettings, L"desktopheight", _wtoi(lpToken));
}
lpToken = wcstok(NULL, szSeps);
}
}
}
if (i1 > 0)
{
param[i1] = 0;
strcpy(param1, param);
state = mi_process_a_param(param1, state);
strcpy(g_servername, param1);
}
if (state == 0)
{
mi_post_param();
}
return (state == 0);
return bRet;
}
#endif
/*****************************************************************************/
int WINAPI
wWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPWSTR lpCmdLine,
int nCmdShow)
HINSTANCE hPrevInstance,
LPWSTR lpCmdLine,
int nCmdShow)
{
PRDPSETTINGS pRdpSettings;
WSADATA d;
@ -1316,11 +1045,15 @@ wWinMain(HINSTANCE hInstance,
if (InitRdpSettings(pRdpSettings))
{
LoadRdpSettingsFromFile(pRdpSettings, NULL);
BOOL bSkipDlg = FALSE;
//mi_process_cl(lpCmdLine)
if (OpenRDPConnectDialog(hInstance,
pRdpSettings))
if (*lpCmdLine)
ParseCommandLine(lpCmdLine, pRdpSettings,&bSkipDlg);
else
LoadRdpSettingsFromFile(pRdpSettings, NULL);
if (bSkipDlg || OpenRDPConnectDialog(hInstance,
pRdpSettings))
{
char szValue[MAXVALUE];