diff options
Diffstat (limited to 'sal')
139 files changed, 826 insertions, 7540 deletions
diff --git a/sal/cppunittester/cppunittester.cxx b/sal/cppunittester/cppunittester.cxx index 96d23472c..b351870b6 100644 --- a/sal/cppunittester/cppunittester.cxx +++ b/sal/cppunittester/cppunittester.cxx @@ -37,7 +37,6 @@ #include <iostream> #include <limits> #include <string> - #include "cppunittester/protectorfactory.hxx" #include "osl/module.h" #include "osl/module.hxx" @@ -58,6 +57,8 @@ #include "cppunit/plugin/PlugInManager.h" #include "cppunit/portability/Stream.h" +#include "boost/noncopyable.hpp" + namespace { void usageFailure() { @@ -84,6 +85,39 @@ std::string convertLazy(rtl::OUString const & s16) { : static_cast< std::string::size_type >(s8.getLength()))); } +//Allow the whole uniting testing framework to be run inside a "Protector" +//which knows about uno exceptions, so it can print the content of the +//exception before falling over and dying +class CPPUNIT_API ProtectedFixtureFunctor : public CppUnit::Functor, private boost::noncopyable +{ +private: + const std::string &testlib; + const std::string &args; + CppUnit::TestResult &result; +public: + ProtectedFixtureFunctor(const std::string& testlib_, const std::string &args_, CppUnit::TestResult &result_) + : testlib(testlib_) + , args(args_) + , result(result_) + { + } + bool run() const + { + CppUnit::PlugInManager manager; + manager.load(testlib, args); + CppUnit::TestRunner runner; + runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); + CppUnit::TestResultCollector collector; + result.addListener(&collector); + runner.run(result); + CppUnit::CompilerOutputter(&collector, CppUnit::stdCErr()).write(); + return collector.wasSuccessful(); + } + virtual bool operator()() const + { + return run(); + } +}; } SAL_IMPLEMENT_MAIN() { @@ -95,12 +129,27 @@ SAL_IMPLEMENT_MAIN() { #endif CppUnit::TestResult result; + cppunittester::LibreOfficeProtector *throw_protector = 0; + std::string args; + std::string testlib; sal_uInt32 index = 0; - for (; index < rtl_getAppCommandArgCount(); index += 3) { - if (!getArgument(index).equalsAsciiL( - RTL_CONSTASCII_STRINGPARAM("--protector"))) + while (index < rtl_getAppCommandArgCount()) + { + rtl::OUString arg = getArgument(index); + if (!arg.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("--protector"))) { - break; + if (testlib.empty()) + { + testlib = rtl::OUStringToOString(arg, osl_getThreadTextEncoding()).getStr(); + args += testlib; + } + else + { + args += ' '; + args += rtl::OUStringToOString(arg, osl_getThreadTextEncoding()).getStr(); + } + ++index; + continue; } if (rtl_getAppCommandArgCount() - index < 3) { usageFailure(); @@ -109,45 +158,29 @@ SAL_IMPLEMENT_MAIN() { rtl::OUString sym(getArgument(index + 2)); oslGenericFunction fn = (new osl::Module(lib, SAL_LOADMODULE_GLOBAL)) ->getFunctionSymbol(sym); - CppUnit::Protector * p = fn == 0 + throw_protector = fn == 0 ? 0 : (*reinterpret_cast< cppunittester::ProtectorFactory * >(fn))(); - if (p == 0) { + if (throw_protector == 0) { std::cerr << "Failure instantiating protector \"" << convertLazy(lib) << "\", \"" << convertLazy(sym) << '"' << std::endl; std::exit(EXIT_FAILURE); } - result.pushProtector(p); - } - if (rtl_getAppCommandArgCount() - index < 1) { - usageFailure(); + result.pushProtector(throw_protector); + index+=3; } - std::string testlib; - { - rtl::OUString path; - rtl_getAppCommandArg(index, &path.pData); - testlib = rtl::OUStringToOString(path, osl_getThreadTextEncoding()).getStr(); - } - std::string args = testlib; - for (sal_uInt32 i = index + 1; i < rtl_getAppCommandArgCount(); ++i) - { - rtl::OUString arg; - rtl_getAppCommandArg(i, &arg.pData); - args += ' '; - args += rtl::OUStringToOString(arg, osl_getThreadTextEncoding()).getStr(); - } + bool ok = false; + ProtectedFixtureFunctor tests(testlib, args, result); + //if the unoprotector was given on the command line, use it to catch + //and report the error message of exceptions + if (throw_protector) + ok = throw_protector->protect(tests); + else + ok = tests.run(); - CppUnit::PlugInManager manager; - manager.load(testlib, args); - CppUnit::TestRunner runner; - runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); - CppUnit::TestResultCollector collector; - result.addListener(&collector); - runner.run(result); - CppUnit::CompilerOutputter(&collector, CppUnit::stdCErr()).write(); - return collector.wasSuccessful() ? EXIT_SUCCESS : EXIT_FAILURE; + return ok ? EXIT_SUCCESS : EXIT_FAILURE; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/cppunittester/makefile.mk b/sal/cppunittester/makefile.mk index 65b600b05..7c43bab6b 100644 --- a/sal/cppunittester/makefile.mk +++ b/sal/cppunittester/makefile.mk @@ -33,10 +33,12 @@ ENABLE_EXCEPTIONS = TRUE .INCLUDE: settings.mk -.IF "$(CROSS_COMPILING)"!="YES" - CFLAGSCXX += $(CPPUNIT_CFLAGS) +.IF "$(OS)" == "IOS" +CFLAGSCXX += -x objective-c++ -fobjc-abi-version=2 -fobjc-legacy-dispatch -D__IPHONE_OS_VERSION_MIN_REQUIRED=40300 +.ENDIF + OBJFILES = $(APP1OBJS) APP1OBJS = $(OBJ)/cppunittester.obj @@ -44,6 +46,4 @@ APP1RPATH = NONE APP1STDLIBS = $(CPPUNITLIB) $(SALLIB) APP1TARGET = cppunittester -.ENDIF - .INCLUDE: target.mk diff --git a/sal/inc/cppunittester/protectorfactory.hxx b/sal/inc/cppunittester/protectorfactory.hxx index c309dbe8a..916f89f74 100644 --- a/sal/inc/cppunittester/protectorfactory.hxx +++ b/sal/inc/cppunittester/protectorfactory.hxx @@ -32,14 +32,20 @@ #include "sal/types.h" -namespace CppUnit { class Protector; } - -namespace cppunittester { - -// The type of CppUnit::Protector factory functions that can be plugged into -// cppunittester: -extern "C" typedef CppUnit::Protector * SAL_CALL ProtectorFactory(); - +#include <cppunit/Protector.h> + +namespace cppunittester +{ + class LibreOfficeProtector : public CppUnit::Protector + { + public: + virtual bool protect(CppUnit::Functor const & functor) = 0; + using CppUnit::Protector::protect; + }; + + // The type of CppUnit::Protector factory functions that can be plugged into + // cppunittester: + extern "C" typedef LibreOfficeProtector * SAL_CALL ProtectorFactory(); } #endif diff --git a/sal/inc/osl/thread.h b/sal/inc/osl/thread.h index 4cd058b28..9e088e6e4 100644 --- a/sal/inc/osl/thread.h +++ b/sal/inc/osl/thread.h @@ -68,7 +68,7 @@ typedef enum typedef sal_uInt32 oslThreadIdentifier; -typedef sal_uInt32 oslThreadKey; +typedef void* oslThreadKey; /** Create the thread, using the function-ptr pWorker as its main (worker) function. This functions receives in diff --git a/sal/inc/rtl/math.hxx b/sal/inc/rtl/math.hxx index f7ef3b5bb..82fab5b87 100644 --- a/sal/inc/rtl/math.hxx +++ b/sal/inc/rtl/math.hxx @@ -142,8 +142,8 @@ inline void doubleToUStringBuffer( rtl::OUStringBuffer& rBuffer, double fValue, */ inline double stringToDouble(rtl::OString const & rString, sal_Char cDecSeparator, sal_Char cGroupSeparator, - rtl_math_ConversionStatus * pStatus, - sal_Int32 * pParsedEnd) + rtl_math_ConversionStatus * pStatus = 0, + sal_Int32 * pParsedEnd = 0) { sal_Char const * pBegin = rString.getStr(); sal_Char const * pEnd; @@ -161,8 +161,8 @@ inline double stringToDouble(rtl::OString const & rString, inline double stringToDouble(rtl::OUString const & rString, sal_Unicode cDecSeparator, sal_Unicode cGroupSeparator, - rtl_math_ConversionStatus * pStatus, - sal_Int32 * pParsedEnd) + rtl_math_ConversionStatus * pStatus = 0, + sal_Int32 * pParsedEnd = 0) { sal_Unicode const * pBegin = rString.getStr(); sal_Unicode const * pEnd; diff --git a/sal/inc/rtl/strbuf.h b/sal/inc/rtl/strbuf.h index 0156e6ed7..9543b9a57 100644 --- a/sal/inc/rtl/strbuf.h +++ b/sal/inc/rtl/strbuf.h @@ -105,7 +105,6 @@ void SAL_CALL rtl_stringbuffer_ensureCapacity( /*inout*/rtl_String ** This, @param offset the offset. @param ch a character array. @param len the number of characters to append. - @return this string buffer. */ void SAL_CALL rtl_stringbuffer_insert( /*inout*/rtl_String ** This, /*inout*/sal_Int32 * capacity, @@ -113,6 +112,21 @@ void SAL_CALL rtl_stringbuffer_insert( /*inout*/rtl_String ** This, const sal_Char * str, sal_Int32 len); +/** + Removes the characters in a substring of this sequence. + + The substring begins at the specified <code>start</code> and + is <code>len</code> characters long. + + start must be >= 0 && <= This->length + + @param start The beginning index, inclusive + @param len The substring length + */ +void SAL_CALL rtl_stringbuffer_remove( /*inout*/rtl_String ** This, + sal_Int32 start, + sal_Int32 len ); + #ifdef __cplusplus } #endif diff --git a/sal/inc/rtl/strbuf.hxx b/sal/inc/rtl/strbuf.hxx index 21ff60391..3a26c1b74 100644 --- a/sal/inc/rtl/strbuf.hxx +++ b/sal/inc/rtl/strbuf.hxx @@ -54,7 +54,7 @@ namespace rtl is compiled to the equivalent of: <p><blockquote><pre> x = new OStringBuffer().append("a").append(4).append("c") - .toString() + .makeStringAndClear() </pre></blockquote><p> The principal operations on a <code>OStringBuffer</code> are the <code>append</code> and <code>insert</code> methods, which are @@ -135,6 +135,25 @@ public: rtl_stringbuffer_newFromStr_WithLength( &pData, value.getStr(), value.getLength() ); } + /** + Constructs a string buffer so that it represents the same + sequence of characters as the string argument. + + The initial + capacity of the string buffer is <code>16</code> plus length + + @param value a character array. + @param length the number of character which should be copied. + The character array length must be greater or + equal than this value. + */ + OStringBuffer(const sal_Char * value, sal_Int32 length) + : pData(NULL) + , nCapacity( length + 16 ) + { + rtl_stringbuffer_newFromStr_WithLength( &pData, value, length ); + } + /** Assign to this a copy of value. */ OStringBuffer& operator = ( const OStringBuffer& value ) @@ -651,6 +670,25 @@ public: sal_Char sz[RTL_STR_MAX_VALUEOFDOUBLE]; return insert( offset, sz, rtl_str_valueOfDouble( sz, d ) ); } + + /** + Removes the characters in a substring of this sequence. + + The substring begins at the specified <code>start</code> and + is <code>len</code> characters long. + + start must be >= 0 && <= getLength() && <= end + + @param start The beginning index, inclusive + @param len The substring length + @return this string buffer. + */ + OStringBuffer & remove( sal_Int32 start, sal_Int32 len ) + { + rtl_stringbuffer_remove( &pData, start, len ); + return *this; + } + private: /** A pointer to the data structur which contains the data. diff --git a/sal/inc/rtl/string.hxx b/sal/inc/rtl/string.hxx index 186b515ca..ba66e0958 100644 --- a/sal/inc/rtl/string.hxx +++ b/sal/inc/rtl/string.hxx @@ -341,6 +341,30 @@ public: } /** + Perform a comparison of two strings. + + The result is true if and only if second string + represents the same sequence of characters as the first string. + The ASCII string must be NULL-terminated and must be greater or + equal as length. + This function can't be used for language specific comparison. + + + @param value a character array. + @param length the length of the character array. + @return sal_True if the strings are equal; + sal_False, otherwise. + */ + sal_Bool equalsL( const sal_Char* value, sal_Int32 length ) const SAL_THROW(()) + { + if ( pData->length != length ) + return sal_False; + + return rtl_str_reverseCompare_WithLength( pData->buffer, pData->length, + value, length ) == 0; + } + + /** Perform a ASCII lowercase comparison of two strings. The result is true if and only if second string diff --git a/sal/inc/rtl/ustrbuf.h b/sal/inc/rtl/ustrbuf.h index dfd8019ee..260db4f30 100644 --- a/sal/inc/rtl/ustrbuf.h +++ b/sal/inc/rtl/ustrbuf.h @@ -159,6 +159,21 @@ void SAL_CALL rtl_uStringbuffer_insert_ascii( /*inout*/rtl_uString ** This, const sal_Char * str, sal_Int32 len); +/** + Removes the characters in a substring of this sequence. + + The substring begins at the specified <code>start</code> and + is <code>len</code> characters long. + + start must be >= 0 && <= This->length + + @param start The beginning index, inclusive + @param len The substring length + */ +void SAL_CALL rtl_uStringbuffer_remove( /*inout*/rtl_uString ** This, + sal_Int32 start, + sal_Int32 len ); + #ifdef __cplusplus } #endif diff --git a/sal/inc/rtl/ustrbuf.hxx b/sal/inc/rtl/ustrbuf.hxx index b6160ccc9..756959748 100644 --- a/sal/inc/rtl/ustrbuf.hxx +++ b/sal/inc/rtl/ustrbuf.hxx @@ -53,7 +53,7 @@ namespace rtl is compiled to the equivalent of: <p><blockquote><pre> x = new OUStringBuffer().append("a").append(4).append("c") - .toString() + .makeStringAndClear() </pre></blockquote><p> The principal operations on a <code>OUStringBuffer</code> are the <code>append</code> and <code>insert</code> methods, which are @@ -95,7 +95,7 @@ public: Allocates a new string buffer that contains the same sequence of characters as the string buffer argument. - @param value a <code>OStringBuffer</code>. + @param value a <code>OUStringBuffer</code>. */ OUStringBuffer( const OUStringBuffer & value ) : pData(NULL) @@ -280,7 +280,6 @@ public: */ const OUString toString() const { return OUString(pData->buffer); } - /** The character at the specified index of this string buffer is set to <code>ch</code>. @@ -739,6 +738,24 @@ public: return *this; } + /** + Removes the characters in a substring of this sequence. + + The substring begins at the specified <code>start</code> and + is <code>len</code> characters long. + + start must be >= 0 && <= This->length + + @param start The beginning index, inclusive + @param len The substring length + @return this string buffer. + */ + OUStringBuffer & remove( sal_Int32 start, sal_Int32 len ) + { + rtl_uStringbuffer_remove( &pData, start, len ); + return *this; + } + /** Allows access to the internal data of this OUStringBuffer, for effective manipulation. diff --git a/sal/inc/sal/cppunit.h b/sal/inc/sal/cppunit.h index d0b3e6099..41c465d62 100644 --- a/sal/inc/sal/cppunit.h +++ b/sal/inc/sal/cppunit.h @@ -35,6 +35,18 @@ #include <cppunit/TestFixture.h> #include <cppunit/extensions/HelperMacros.h> #include <cppunit/plugin/TestPlugIn.h> +#include <cppunit/Protector.h> + +namespace cppunittester +{ + class LibreOfficeProtecter : public CppUnit::Protector + { + public: + virtual bool protect(CppUnit::Functor const & functor) = 0; + using CppUnit::Protector::protect; + }; +} + #undef CPPUNIT_PLUGIN_EXPORT #define CPPUNIT_PLUGIN_EXPORT extern "C" SAL_DLLPUBLIC_EXPORT diff --git a/sal/inc/sal/main.h b/sal/inc/sal/main.h index bf7a82821..370cba4db 100644 --- a/sal/inc/sal/main.h +++ b/sal/inc/sal/main.h @@ -41,6 +41,82 @@ extern "C" { void SAL_CALL sal_detail_initialize(int argc, char ** argv); void SAL_CALL sal_detail_deinitialize(); +#ifdef IOS + +#include <premac.h> +#import <UIKit/UIKit.h> +#include <postmac.h> + +#define SAL_MAIN_WITH_ARGS_IMPL \ +int SAL_CALL main(int argc, char ** argv) \ +{ \ + sal_detail_initialize(argc, argv); \ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; \ + int retVal = UIApplicationMain (argc, argv, @"UIApplication", @"salAppDelegate"); \ + [pool release]; \ + sal_detail_deinitialize(); \ + return retVal; \ +} \ + \ +static int sal_main_with_args(int argc, char **argv); \ + \ +static int \ +sal_main(void) \ +{ \ + char *argv[] = { NULL }; \ + return sal_main_with_args(0, argv); \ +} + +#define SAL_MAIN_IMPL \ +int SAL_CALL main(int argc, char ** argv) \ +{ \ + sal_detail_initialize(argc, argv); \ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; \ + int retVal = UIApplicationMain (argc, argv, @"UIApplication", @"salAppDelegate"); \ + [pool release]; \ + sal_detail_deinitialize(); \ + return retVal; \ +} + +#define SAL_MAIN_WITH_GUI_IMPL \ +int SAL_CALL main(int argc, char ** argv) \ +{ \ + sal_detail_initialize(argc, argv); \ + NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; \ + int retVal = sal_main(); \ + [pool release]; \ + sal_detail_deinitialize(); \ + return retVal; \ +} + +@interface salAppDelegate : NSObject <UIApplicationDelegate> { +} +@property (nonatomic, retain) UIWindow *window; +@end + +static int sal_main(void); + +@implementation salAppDelegate + +@synthesize window=_window; + +- (BOOL)application: (UIApplication *) application didFinishLaunchingWithOptions: (NSDictionary *) launchOptions +{ + UIWindow *uiw = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; + uiw.backgroundColor = [UIColor redColor]; + self.window = uiw; + [uiw release]; + + sal_main(); + + [self.window makeKeyAndVisible]; + return YES; +} + +@end + +#else + #define SAL_MAIN_WITH_ARGS_IMPL \ int SAL_CALL main(int argc, char ** argv) \ { \ @@ -61,6 +137,11 @@ int SAL_CALL main(int argc, char ** argv) \ return ret; \ } +#define SAL_MAIN_WITH_GUI_IMPL SAL_MAIN_IMPL + +#endif + + /* Definition macros for CRT entries */ #ifdef SAL_W32 @@ -118,6 +199,19 @@ int WINAPI WinMain( HINSTANCE _hinst, HINSTANCE _dummy, char* _cmdline, int _nsh SAL_WIN_WinMain \ static int SAL_CALL sal_main(void) +/* Use SAL_IMPLEMENT_MAIN_WITH_GUI in programs that actually have a + * VCL GUI. The difference is meaningful only for iOS support, which + * of course is a highly experimental work in progress. So actually, + * don't bother, just let developers who care for iOS take care of it + * when/if necessary. + */ + +#define SAL_IMPLEMENT_MAIN_WITH_GUI() \ + static int SAL_CALL sal_main(void); \ + SAL_MAIN_WITH_GUI_IMPL \ + SAL_WIN_WinMain \ + static int SAL_CALL sal_main(void) + /* "How to use" Examples: diff --git a/sal/inc/sal/types.h b/sal/inc/sal/types.h index 0b1a8f69c..1266c9ba7 100644 --- a/sal/inc/sal/types.h +++ b/sal/inc/sal/types.h @@ -241,8 +241,6 @@ typedef void * sal_Handle; #if defined(SAL_W32) || defined(SAL_UNX) # define SAL_MAX_ENUM 0x7fffffff -#elif defined(SAL_W16) -# define SAL_MAX_ENUM 0x7fff #endif #if defined(_MSC_VER) || defined(__MINGW32__) diff --git a/sal/inc/systools/win32/AutoSystoolInit.hxx b/sal/inc/systools/win32/AutoSystoolInit.hxx deleted file mode 100644 index cb22bd54c..000000000 --- a/sal/inc/systools/win32/AutoSystoolInit.hxx +++ /dev/null @@ -1,65 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#ifndef _AUTOSYSTOOLINIT_HXX_ -#define _AUTOSYSTOOLINIT_HXX_ - -#ifndef _WINDOWS_ -#include <windows.h> -#endif - -//------------------------------------------------------------------------ -// class used to automatically initialize/deinitialize the systools -//------------------------------------------------------------------------ - -class OAutoSystoolInit -{ - typedef void ( WINAPI *LPFNINIT_T )( ); - typedef void ( WINAPI *LPFNDEINIT_T )( ); - -public: - OAutoSystoolInit( LPFNINIT_T lpfnInit, LPFNDEINIT_T lpfnDeInit ) : - m_lpfnDeInit( lpfnDeInit ) - { - if ( NULL != lpfnInit ) - lpfnInit( ); - } - - ~OAutoSystoolInit( ) - { - if ( NULL != m_lpfnDeInit ) - m_lpfnDeInit( ); - } - -private: - LPFNDEINIT_T m_lpfnDeInit; // address of the deinit function -}; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/inc/systools/win32/StrConvert.h b/sal/inc/systools/win32/StrConvert.h deleted file mode 100644 index 25ebec06e..000000000 --- a/sal/inc/systools/win32/StrConvert.h +++ /dev/null @@ -1,135 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _STRCONVERT_H_ -#define _STRCONVERT_H_ - -#include <windows.h> - -#ifdef NDEBUG -#define STRCONVERT_H_HAD_NDEBUG -#undef NDEBUG -#endif -#if OSL_DEBUG_LEVEL == 0 -#define NDEBUG -#endif -#include <assert.h> - -#ifdef __cplusplus -extern "C"{ -#endif - -int AllocNecessarySpaceAndCopyWStr2Str( LPCWSTR lpcwstrString, LPSTR* lppStr ); -int AllocSpaceAndCopyWStr2Str( LPCWSTR lpcwstrString, DWORD nWCharsToCopy, LPSTR* lppStr ); -int CalcLenDblNullTerminatedWStr( LPCWSTR lpcwstrString ); -int CalcLenDblNullTerminatedStr( LPCSTR lpcstrString ); -void FreeSpaceStr( LPSTR lpszString ); - -/* WC2MB allocates a sufficient amount of memory on stack and converts - the wide char parameter to multi byte string using the actual code - page. - - @Param: wcStr - a wide char string - mbStr - the corresponding multi byte string - - NOTE: due to the use of _alloca, this must be a macro and no function -*/ - -#define WC2MB( wcStr, mbStr ) \ -if( wcStr ) \ -{ \ - int needed = WideCharToMultiByte( CP_ACP, 0, wcStr, -1, NULL, 0, NULL, NULL ); \ - if( needed > 0 ) \ - { \ - int copied; \ - mbStr = _alloca( needed * sizeof( CHAR ) ); \ - copied = WideCharToMultiByte( CP_ACP, 0, wcStr, -1, mbStr, needed, NULL, NULL ); \ - assert( copied == needed ); \ - } \ -} - - -/* WideCharListGetMultiByteLength - calculates the needed length of a corresponding the multi byte string - list for a wide char string list. - - @Param: cp - the code page to use for convertion. - wcList - a double '\0' terminated wide char string list. -*/ - -int WideCharListGetMultiByteLength( UINT codepage, LPCWSTR wcList ); - -/* WideCharListToMultiByteList - converts a double '\0' terminated list of wide char strings to a - multi byte string list. - - @Param: cp - the code page to use for convertion. - wcList - a double '\0' terminated wide char string list. - mbList - a double '\0' terminated multi byte string list. - dwSize - size of buffer for multi byte string list. -*/ - -int WideCharListToMultiByteList( UINT codepage, LPCWSTR wcList, LPSTR mbList, DWORD dwSize ); - - -/* WCL2MBL allocates a sufficient amount of memory on stack and converts - the wide char list parameter to multi byte string list using the actual - code page. - - @Param: wcList - a wide char string list - mbList - the corresponding multi byte string list - - NOTE: due to the use of _alloca, this must be a macro and no function -*/ - -#define WCL2MBL( wcList, mbList ) \ -if( wcList ) \ -{ \ - int needed = WideCharListGetMultiByteLength( CP_ACP, wcList ); \ - if( needed > 0 ) \ - { \ - int copied; \ - mbList = _alloca( needed * sizeof( CHAR ) ); \ - copied = WideCharListToMultiByteList( CP_ACP, wcList, mbList, needed ); \ - assert( copied == needed ); \ - } \ -} - -#ifdef __cplusplus -} -#endif - -// Restore NDEBUG state -#ifdef STRCONVERT_H_HAD_NDEBUG -#define NDEBUG -#else -#undef NDEBUG -#endif - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/inc/systools/win32/SyncObjects.hxx b/sal/inc/systools/win32/SyncObjects.hxx deleted file mode 100644 index 273321581..000000000 --- a/sal/inc/systools/win32/SyncObjects.hxx +++ /dev/null @@ -1,113 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#ifndef _SYNCOBJECTS_HXX_ -#define _SYNCOBJECTS_HXX_ - -//------------------------------------------------------------------------ -// includes -//------------------------------------------------------------------------ - -#include <windows.h> - -//------------------------------------------------------------------------ -// a simple helper template for automatic locking/unlocking -//------------------------------------------------------------------------ - -template< class LOCK > -class CLockGuard -{ -public: - CLockGuard( LOCK* aLock ) : - m_pLock( aLock ) - { - m_pLock->Lock( ); - } - - ~CLockGuard( ) - { - m_pLock->Unlock( ); - } - -private: - LOCK* m_pLock; -}; - -//------------------------------------------------------------------------ -// a interface base class for different locking sub classes -//------------------------------------------------------------------------ - -class CSyncObject -{ -public: - virtual ~CSyncObject( ) = 0; - - virtual int Lock( ) = 0; - virtual int Unlock( ) = 0; -}; - -//------------------------------------------------------------------------ -// if no synchronization is necessary this class will be used -// declaring the functions as inline safes runtime overhead -//------------------------------------------------------------------------ - -class CNullLock -{ -public: - inline virtual ~CNullLock ( ) {}; - inline virtual int Lock( ) {}; - inline virtual int Unlock() {}; -}; - -//------------------------------------------------------------------------ -// a minimal wrapper for a win32 critical section -//------------------------------------------------------------------------ - -class CCriticalSection : public CSyncObject -{ -public: - CCriticalSection( ); - virtual ~CCriticalSection( ); - - // both functions return always 0 - // because the win32 critsec functions - // don't return any return code - virtual int Lock( ); - virtual int Unlock( ); - -private: - CRITICAL_SECTION m_critSec; -}; - - -typedef CLockGuard< CSyncObject > SyncObjLockGuard_t; - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/inc/systools/win32/uwinapi.h b/sal/inc/systools/win32/uwinapi.h index a9e6a9fde..6c7e76304 100644 --- a/sal/inc/systools/win32/uwinapi.h +++ b/sal/inc/systools/win32/uwinapi.h @@ -51,58 +51,6 @@ #endif #endif -/** GetUserDomain - -The GetUserDomain function retrieves the name of the NT domain the user is -logged in. - -Parameters - @param lpBuffer - [out] Pointer to a buffer that receives a null-terminated string - containing the domain name. - @param nBufferSize - [in] Specifies the size, in TCHARs, of the buffer pointed to - by the lpBuffer parameter. - - -Return Values - @return - If the function succeeds, the return value is the number of TCHARs stored - into the buffer pointed to by lpBuffer, not including the terminating - null character. - - If the domain name can't be retrieved, the return value is zero. - - If the buffer pointed to by lpBuffer is not large enough, the return value - is the buffer size, in TCHARs, required to hold the value string and its - terminating null character. - -Remarks - Windows 95/98/Me: If the user is not logged in onto a NT domain server - the name of the workgroup is returned. - -Requirements - Windows NT/2000/XP: Included in Windows NT 4 and later. - Windows 95/98/Me: Included in Windows 95 and later. - Header: Declared in Uwinapi.h; include Uwinapi.h. - Library: Use Uwinapi.lib. - Unicode: Implemented as Unicode and ANSI versions on Windows 95/98/Me/NT/2000/XP. - -See Also -@see -*/ - -EXTERN_C WINBASEAPI DWORD WINAPI GetUserDomainA( LPSTR lpBuffer, DWORD nBuffserSize ); -EXTERN_C WINBASEAPI DWORD WINAPI GetUserDomainW( LPWSTR lpBuffer, DWORD nBuffserSize ); - -#ifdef UNICODE -#define GetUserDomain GetUserDomainW -#else -#define GetUserDomain GetUserDomainA -#endif - -EXTERN_C WINBASEAPI DWORD WINAPI GetProcessId( HANDLE hProcess ); - #ifdef __cplusplus inline bool IsValidHandle(HANDLE handle) diff --git a/sal/osl/unx/interlck.c b/sal/osl/unx/interlck.c index e5bb3ea1e..a32f67c11 100644 --- a/sal/osl/unx/interlck.c +++ b/sal/osl/unx/interlck.c @@ -149,17 +149,6 @@ oslInterlockedCount SAL_CALL osl_decrementInterlockedCount(oslInterlockedCount* return --nCount; #endif } - -#elif ( __GNUC__ > 4 ) || (( __GNUC__ == 4) && ( __GNUC_MINOR__ >= 4 )) -oslInterlockedCount SAL_CALL osl_incrementInterlockedCount(oslInterlockedCount* pCount) -{ - return __sync_add_and_fetch(pCount, 1); -} - -oslInterlockedCount SAL_CALL osl_decrementInterlockedCount(oslInterlockedCount* pCount) -{ - return __sync_sub_and_fetch(pCount, 1); -} #elif ( __GNUC__ > 4 ) || (( __GNUC__ == 4) && ( __GNUC_MINOR__ >= 4 )) oslInterlockedCount SAL_CALL osl_incrementInterlockedCount(oslInterlockedCount* pCount) { diff --git a/sal/osl/unx/makefile.mk b/sal/osl/unx/makefile.mk index cb566aeb1..2ec11e16f 100644 --- a/sal/osl/unx/makefile.mk +++ b/sal/osl/unx/makefile.mk @@ -49,6 +49,10 @@ ENABLE_EXCEPTIONS=TRUE CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) +.IF "$(OS)" == "IOS" +CFLAGSCXX+=-D__IPHONE_OS_VERSION_MIN_REQUIRED=40300 +.ENDIF + # --- Files -------------------------------------------------------- SLOFILES= \ @@ -113,7 +117,7 @@ OBJFILES= $(OBJ)$/conditn.obj \ $(OBJ)$/readwrite_helper.obj -.IF "$(OS)"=="MACOSX" +.IF "$(OS)"=="MACOSX" || "$(OS)"=="IOS" SLOFILES += $(SLO)$/osxlocale.obj .ENDIF diff --git a/sal/osl/unx/module.c b/sal/osl/unx/module.c index c06368cdc..a5beea9f6 100644 --- a/sal/osl/unx/module.c +++ b/sal/osl/unx/module.c @@ -208,7 +208,8 @@ osl_getFunctionSymbol(oslModule module, rtl_uString *puFunctionSymbolName) sal_Bool SAL_CALL osl_getModuleURLFromAddress(void * addr, rtl_uString ** ppLibraryUrl) { sal_Bool result = sal_False; -#ifndef NO_DL_FUNCTIONS +/* Bah, we do want to use dladdr here also on iOS, I think? */ +#if !defined(NO_DL_FUNCTIONS) || defined(IOS) #if defined(AIX) int i; int size = 4 * 1024; diff --git a/sal/osl/unx/nlsupport.c b/sal/osl/unx/nlsupport.c index dcee27c8d..563aae980 100644 --- a/sal/osl/unx/nlsupport.c +++ b/sal/osl/unx/nlsupport.c @@ -35,13 +35,13 @@ defined(FREEBSD) || defined(MACOSX) || defined(IOS) || defined(OPENBSD) || \ defined(DRAGONFLY) #include <pthread.h> -#ifndef MACOSX +#if !defined(MACOSX) && !defined(IOS) #include <locale.h> #include <langinfo.h> #else #include <osl/module.h> #include <osl/thread.h> -#endif /* !MACOSX */ +#endif /* !MACOSX && !IOS */ #endif /* LINUX || SOLARIS || NETBSD || MACOSX || IOS */ #include <string.h> @@ -855,7 +855,7 @@ rtl_TextEncoding osl_getTextEncodingFromLocale( rtl_Locale * pLocale ) return RTL_TEXTENCODING_DONTKNOW; } -#ifdef MACOSX +#if defined(MACOSX) || defined(IOS) #include "system.h" /* OS X locale discovery function */ diff --git a/sal/osl/unx/osxlocale.cxx b/sal/osl/unx/osxlocale.cxx index 26434ef4e..37b34b200 100644 --- a/sal/osl/unx/osxlocale.cxx +++ b/sal/osl/unx/osxlocale.cxx @@ -33,7 +33,9 @@ #include <assert.h> #include <premac.h> +#ifndef IOS #include <CoreServices/CoreServices.h> +#endif #include <CoreFoundation/CoreFoundation.h> #include <postmac.h> diff --git a/sal/osl/unx/salinit.cxx b/sal/osl/unx/salinit.cxx index dd12d2f1c..9503443fe 100644 --- a/sal/osl/unx/salinit.cxx +++ b/sal/osl/unx/salinit.cxx @@ -30,7 +30,6 @@ #include "sal/config.h" #include "osl/process.h" -#include "sal/main.h" #include "sal/types.h" extern "C" { diff --git a/sal/osl/unx/system.h b/sal/osl/unx/system.h index d9c90d204..cc4d583ac 100644 --- a/sal/osl/unx/system.h +++ b/sal/osl/unx/system.h @@ -354,6 +354,7 @@ int macxp_resolveAlias(char *path, int buflen); # ifndef ETIME # define ETIME ETIMEDOUT # endif +# include <dlfcn.h> # include <pthread.h> # include <sys/file.h> # include <sys/ioctl.h> diff --git a/sal/osl/unx/tempfile.c b/sal/osl/unx/tempfile.c index 862aff2c8..64ce56b3d 100644 --- a/sal/osl/unx/tempfile.c +++ b/sal/osl/unx/tempfile.c @@ -49,53 +49,29 @@ #include "file_url.h" #endif -/*****************************************************************/ -/* osl_getTempFirURL */ -/*****************************************************************/ - oslFileError SAL_CALL osl_getTempDirURL( rtl_uString** pustrTempDir ) { -#ifdef MACOSX + oslFileError error; + /* described in environ(7) */ const char *pValue = getenv( "TMPDIR" ); - /* If TMPDIR environment variable is not set, use "/tmp" instead - of P_tmpdir because its value is "/var/tmp" and it is not - deleted on system start up */ if ( !pValue ) - pValue = "/tmp"; -#else - - const char *pValue = getenv( "TEMP" ); + pValue = getenv( "TEMP" ); if ( !pValue ) pValue = getenv( "TMP" ); -#if defined(NETBSD) - if ( !pValue ) - pValue = _PATH_TMP; -#else - if ( !pValue ) - pValue = P_tmpdir; -#endif - if ( !pValue ) pValue = "/tmp"; -#endif /* MACOSX */ - if ( pValue ) - { - oslFileError error; - rtl_uString *ustrTempPath = NULL; + rtl_uString *ustrTempPath = NULL; - rtl_string2UString( &ustrTempPath, pValue, strlen( pValue ), osl_getThreadTextEncoding(), OSTRING_TO_OUSTRING_CVTFLAGS ); - OSL_ASSERT(ustrTempPath != NULL); - error = osl_getFileURLFromSystemPath( ustrTempPath, pustrTempDir ); - rtl_uString_release( ustrTempPath ); + rtl_string2UString( &ustrTempPath, pValue, strlen( pValue ), osl_getThreadTextEncoding(), OSTRING_TO_OUSTRING_CVTFLAGS ); + OSL_ASSERT(ustrTempPath != NULL); + error = osl_getFileURLFromSystemPath( ustrTempPath, pustrTempDir ); + rtl_uString_release( ustrTempPath ); - return error; - } - else - return osl_File_E_NOENT; + return error; } /****************************************************************** diff --git a/sal/osl/unx/thread.c b/sal/osl/unx/thread.c index 06730acb2..b11edb0e2 100644 --- a/sal/osl/unx/thread.c +++ b/sal/osl/unx/thread.c @@ -35,6 +35,7 @@ #include <osl/thread.h> #include <osl/nlsupport.h> #include <rtl/textenc.h> +#include <rtl/alloc.h> #include <sal/macros.h> #if defined LINUX @@ -975,17 +976,31 @@ oslThreadPriority SAL_CALL osl_getThreadPriority(const oslThread Thread) return Priority; } +typedef struct _wrapper_pthread_key +{ + pthread_key_t m_key; + oslThreadKeyCallbackFunction pfnCallback; +} wrapper_pthread_key; + /*****************************************************************************/ /* osl_createThreadKey */ /*****************************************************************************/ oslThreadKey SAL_CALL osl_createThreadKey( oslThreadKeyCallbackFunction pCallback ) { - pthread_key_t key; + wrapper_pthread_key *pKey = (wrapper_pthread_key*)rtl_allocateMemory(sizeof(wrapper_pthread_key)); + + if (pKey) + { + pKey->pfnCallback = pCallback; - if (pthread_key_create(&key, pCallback) != 0) - key = 0; + if (pthread_key_create(&(pKey->m_key), pKey->pfnCallback) != 0) + { + rtl_freeMemory(pKey); + pKey = 0; + } + } - return ((oslThreadKey)key); + return ((oslThreadKey)pKey); } /*****************************************************************************/ @@ -993,7 +1008,12 @@ oslThreadKey SAL_CALL osl_createThreadKey( oslThreadKeyCallbackFunction pCallbac /*****************************************************************************/ void SAL_CALL osl_destroyThreadKey(oslThreadKey Key) { - pthread_key_delete((pthread_key_t)Key); + wrapper_pthread_key *pKey = (wrapper_pthread_key*)Key; + if (pKey) + { + pthread_key_delete(pKey->m_key); + rtl_freeMemory(pKey); + } } /*****************************************************************************/ @@ -1001,7 +1021,8 @@ void SAL_CALL osl_destroyThreadKey(oslThreadKey Key) /*****************************************************************************/ void* SAL_CALL osl_getThreadKeyData(oslThreadKey Key) { - return (pthread_getspecific((pthread_key_t)Key)); + wrapper_pthread_key *pKey = (wrapper_pthread_key*)Key; + return pKey ? pthread_getspecific(pKey->m_key) : NULL; } /*****************************************************************************/ @@ -1009,7 +1030,21 @@ void* SAL_CALL osl_getThreadKeyData(oslThreadKey Key) /*****************************************************************************/ sal_Bool SAL_CALL osl_setThreadKeyData(oslThreadKey Key, void *pData) { - return (pthread_setspecific((pthread_key_t)Key, pData) == 0); + sal_Bool bRet; + void *pOldData = NULL; + wrapper_pthread_key *pKey = (wrapper_pthread_key*)Key; + if (!pKey) + return sal_False; + + if (pKey->pfnCallback) + pOldData = pthread_getspecific(pKey->m_key); + + bRet = (pthread_setspecific(pKey->m_key, pData) == 0); + + if (bRet && pKey->pfnCallback && pOldData) + pKey->pfnCallback(pOldData); + + return bRet; } /*****************************************************************************/ diff --git a/sal/osl/unx/uunxapi.cxx b/sal/osl/unx/uunxapi.cxx index 2ba1f9d95..572f7a9ec 100644 --- a/sal/osl/unx/uunxapi.cxx +++ b/sal/osl/unx/uunxapi.cxx @@ -93,7 +93,7 @@ sal_Bool realpath_u(const rtl_uString* pustrFileName, rtl_uString** ppustrResolvedName) { #ifndef MACOSX // not MACOSX - rtl::OString fn = OUStringToOString(pustrFileName); + rtl::OString fn = OUStringToOString(pustrFileName); #else rtl::OString fn = macxp_resolveAliasAndConvert(pustrFileName); #endif diff --git a/sal/prj/build.lst b/sal/prj/build.lst index 4de757265..8222001e7 100644 --- a/sal/prj/build.lst +++ b/sal/prj/build.lst @@ -1,4 +1,4 @@ -sa sal : xml2cmp external BOOST:boost CPPUNIT:cppunit NULL +sa sal : NATIVE:xml2cmp external BOOST:boost CPPUNIT:cppunit NULL sa sal usr1 - all sa_mkout NULL sa sal\inc nmake - all sa_inc NULL sa sal\typesconfig nmake - all sa_tc sa_inc NULL @@ -30,3 +30,4 @@ sa sal\qa\rtl\cipher nmake - all sa_qa_rtl_cipher sa_cppunittester sa_util NULL sa sal\qa\rtl\doublelock nmake - all sa_qa_rtl_doublelock sa_cppunittester sa_util NULL sa sal\qa\rtl\locale nmake - all sa_qa_rtl_locale sa_cppunittester sa_util NULL sa sal\qa\sal nmake - all sa_qa_sal sa_cppunittester sa_util NULL +sa sal\qa\static nmake - u sal_qa_static sa_qa_sal NULL diff --git a/sal/qa/ByteSequence/makefile.mk b/sal/qa/ByteSequence/makefile.mk index 60d87c83f..cc2d79dbf 100644 --- a/sal/qa/ByteSequence/makefile.mk +++ b/sal/qa/ByteSequence/makefile.mk @@ -35,7 +35,9 @@ ENABLE_EXCEPTIONS = TRUE CFLAGSCXX += $(CPPUNIT_CFLAGS) -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF SHL1IMPLIB = i$(SHL1TARGET) SHL1OBJS = $(SLO)/ByteSequence.obj @@ -47,7 +49,5 @@ DEF1NAME = $(SHL1TARGET) SLOFILES = $(SHL1OBJS) -.ENDIF - .INCLUDE: target.mk .INCLUDE: $(PRJ)$/qa$/cppunit_local.mk diff --git a/sal/qa/OStringBuffer/makefile.mk b/sal/qa/OStringBuffer/makefile.mk index e6419b72b..4149c5848 100644 --- a/sal/qa/OStringBuffer/makefile.mk +++ b/sal/qa/OStringBuffer/makefile.mk @@ -36,7 +36,9 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) @@ -63,8 +65,6 @@ SHL1RPATH = NONE # do this here, so we get right dependencies SLOFILES=$(SHL1OBJS) -.ENDIF - # --- Targets ------------------------------------------------------ .INCLUDE : target.mk diff --git a/sal/qa/OStringBuffer/rtl_OStringBuffer.cxx b/sal/qa/OStringBuffer/rtl_OStringBuffer.cxx index 206287b74..036a2c395 100644 --- a/sal/qa/OStringBuffer/rtl_OStringBuffer.cxx +++ b/sal/qa/OStringBuffer/rtl_OStringBuffer.cxx @@ -319,6 +319,53 @@ namespace rtl_OStringBuffer CPPUNIT_TEST_SUITE_END(); }; + + class remove : public CppUnit::TestFixture + { + public: + void setUp() + { + } + + void tearDown() + { + } + + void remove_001() + { + ::rtl::OStringBuffer sb( + RTL_CONSTASCII_STRINGPARAM("Red Hat, Inc.")); + + sb.remove(0, 4); + CPPUNIT_ASSERT(sb.toString().equalsL( + RTL_CONSTASCII_STRINGPARAM("Hat, Inc."))); + + sb.remove(3, 6); + CPPUNIT_ASSERT(sb.toString().equalsL( + RTL_CONSTASCII_STRINGPARAM("Hat"))); + + sb.remove(0, 100); + + CPPUNIT_ASSERT(sb.toString().isEmpty()); + + sb.append(RTL_CONSTASCII_STRINGPARAM("Red Hat, Inc.")); + + sb.remove(3, 100); + + CPPUNIT_ASSERT(sb.toString().equalsL( + RTL_CONSTASCII_STRINGPARAM("Red"))); + + sb.remove(0, sb.getLength()); + + CPPUNIT_ASSERT(sb.toString().isEmpty()); + } + + CPPUNIT_TEST_SUITE(remove); + CPPUNIT_TEST(remove_001); + CPPUNIT_TEST_SUITE_END(); + }; + + // ----------------------------------------------------------------------------- class getLength : public CppUnit::TestFixture @@ -16555,6 +16602,7 @@ CPPUNIT_TEST_SUITE_REGISTRATION(rtl_OStringBuffer::append_008_float); CPPUNIT_TEST_SUITE_REGISTRATION(rtl_OStringBuffer::append_008_Float_Negative); CPPUNIT_TEST_SUITE_REGISTRATION(rtl_OStringBuffer::append_009_double); CPPUNIT_TEST_SUITE_REGISTRATION(rtl_OStringBuffer::append_009_Double_Negative); +CPPUNIT_TEST_SUITE_REGISTRATION(rtl_OStringBuffer::remove); CPPUNIT_PLUGIN_IMPLEMENT(); diff --git a/sal/qa/OStringBuffer/rtl_String_Utils.cxx b/sal/qa/OStringBuffer/rtl_String_Utils.cxx index f4445fa0d..f6c5bb3f1 100644 --- a/sal/qa/OStringBuffer/rtl_String_Utils.cxx +++ b/sal/qa/OStringBuffer/rtl_String_Utils.cxx @@ -194,172 +194,6 @@ sal_Char* createName( sal_Char* dst, const sal_Char* meth, sal_uInt32 cnt ) } //------------------------------------------------------------------------ -// testing the method compareTo( const OString & aStr ) -//------------------------------------------------------------------------ -void makeComment( char *com, const char *str1, const char *str2, - sal_Int32 sgn ) -{ - cpystr(com, str1); - int str1Length = AStringLen( str1 ); - const char *sign = (sgn == 0) ? " == " : (sgn > 0) ? " > " : " < " ; - cpystr(com + str1Length, sign); - int signLength = AStringLen(sign); - cpystr(com + str1Length + signLength, str2); - com[str1Length + signLength + AStringLen(str2)] = 0; -} - - -//------------------------------------------------------------------------ - -sal_Bool AStringToFloatCompare ( const sal_Char *pStr, - const float nX, - const float nEPS - ) -{ - sal_Bool cmp = sal_False; - - if ( pStr != NULL ) - { - ::rtl::OString aStr(pStr); - - float actNum = 0; - float expNum = nX; - float eps = nEPS; - - actNum = aStr.toFloat(); - - if ( abs( (int)(actNum - expNum) ) <= eps ) - { - cmp = sal_True; - } // if - } // if - - return cmp; -} // AStringToFloatCompare - -//------------------------------------------------------------------------ - -sal_Bool AStringToDoubleCompare ( const sal_Char *pStr, - const double nX, - const double nEPS - ) -{ - sal_Bool cmp = sal_False; - - if ( pStr != NULL ) - { - ::rtl::OString aStr(pStr); - - double actNum = 0; - double expNum = nX; - double eps = nEPS; - - actNum = aStr.toDouble(); - - if ( abs( (int)(actNum - expNum) ) <= eps ) - { - cmp = sal_True; - } // if - } // if - - return cmp; -} // AStringToDoubleCompare - -sal_uInt32 UStringLen( const sal_Unicode *pUStr ) -{ - sal_uInt32 nUStrLen = 0; - - if ( pUStr != NULL ) - { - const sal_Unicode *pTempUStr = pUStr; - - while( *pTempUStr ) - { - pTempUStr++; - } // while - - nUStrLen = (sal_uInt32)( pTempUStr - pUStr ); - } // if - - return nUStrLen; -} // UStringLen - -//------------------------------------------------------------------------ - -sal_Bool AStringIsValid( const sal_Char *pAStr ) -{ - if ( pAStr != NULL ) - { - sal_uInt32 nLen = AStringLen( pAStr ); - sal_uChar uChar = 0; - - while ( *pAStr ) - { - uChar = (unsigned char)*pAStr; - - if ( uChar > 127 ) - { - return sal_False; - } // if - - pAStr++; - - // Since we are dealing with unsigned integers - // we want to make sure that the last number is - // indeed zero. - - if ( nLen > 0 ) - { - nLen--; - } // if - else - { - break; - } // else - } // while - } // if - - return sal_True; -} // AStringIsValid - -//------------------------------------------------------------------------ - -sal_Bool AStringNIsValid( const sal_Char *pAStr, - const sal_uInt32 nStrLen - ) -{ - sal_uInt32 nLen = nStrLen; - sal_uChar uChar = 0; - - while ( *pAStr ) - { - uChar = (unsigned char)*pAStr; - - if ( uChar > 127 ) - { - return sal_False; - } // if - - pAStr++; - - // Since we are dealing with unsigned integers - // we want to make sure that the last number is - // indeed zero. - - if ( nLen > 0 ) - { - nLen--; - } // if - else - { - break; - } // else - } // while - - return sal_True; -} // AStringNIsValid - -//------------------------------------------------------------------------ static inline sal_Int32 ACharToUCharCompare( const sal_Unicode *pUStr, const sal_Char *pAStr @@ -374,224 +208,4 @@ static inline sal_Int32 ACharToUCharCompare( const sal_Unicode *pUStr, return nCmp; } // ACharToUCharCompare -//------------------------------------------------------------------------ - -sal_Int32 AStringToUStringCompare( const sal_Unicode *pUStr, - const sal_Char *pAStr - ) -{ - sal_Int32 nCmp = kErrCompareAStringToUString; - - if ( ( pUStr != NULL ) && ( pAStr != NULL ) ) - { - nCmp = ACharToUCharCompare( pUStr, pAStr ); - - while ( ( nCmp == 0 ) && ( *pAStr ) ) - { - pUStr++; - pAStr++; - - nCmp = ACharToUCharCompare( pUStr, pAStr ); - } // while - } // if - - return nCmp; -} // AStringToUStringCompare - -//------------------------------------------------------------------------ - -sal_Int32 AStringToUStringNCompare( const sal_Unicode *pUStr, - const sal_Char *pAStr, - const sal_uInt32 nAStrCount - ) -{ - sal_Int32 nCmp = kErrCompareNAStringToUString; - - if ( ( pUStr != NULL ) && ( pAStr != NULL ) ) - { - sal_uInt32 nCount = nAStrCount; - - nCmp = ACharToUCharCompare( pUStr, pAStr ); - - while ( ( nCmp == 0 ) && ( *pAStr ) && ( nCount ) ) - { - pUStr++; - pAStr++; - - nCmp = ACharToUCharCompare( pUStr, pAStr ); - - // Since we are dealing with unsigned integers - // we want to make sure that the last number is - // indeed zero. - - if ( nCount > 0 ) - { - nCount--; - } // if - else - { - break; - } // else - } // while - } // if - - return nCmp; -} // AStringToUStringNCompare - -//------------------------------------------------------------------------ - -sal_Int32 AStringToRTLUStringCompare( const rtl_uString *pRTLUStr, - const sal_Char *pAStr - ) -{ - sal_Int32 nCmp = kErrCompareAStringToRTLUString; - - if ( ( pRTLUStr != NULL ) && ( pAStr != NULL ) ) - { - rtl_uString *pRTLUStrCopy = NULL; - - rtl_uString_newFromString( &pRTLUStrCopy, pRTLUStr ); - - if ( pRTLUStrCopy != NULL ) - { - const sal_Unicode *pUStr = rtl_uString_getStr( pRTLUStrCopy ); - - if ( pUStr != NULL ) - { - nCmp = AStringToUStringCompare( pUStr, pAStr ); - } // if - - rtl_uString_release( pRTLUStrCopy ); - - pRTLUStrCopy = NULL; - } // if - } // if - - return nCmp; -} // AStringToRTLUStringCompare - -//------------------------------------------------------------------------ - -sal_Int32 AStringToRTLUStringNCompare( const rtl_uString *pRTLUStr, - const sal_Char *pAStr, - const sal_uInt32 nAStrCount - ) -{ - sal_Int32 nCmp = kErrCompareNAStringToRTLUString; - - if ( ( pRTLUStr != NULL ) && ( pAStr != NULL ) ) - { - rtl_uString *pRTLUStrCopy = NULL; - - rtl_uString_newFromString( &pRTLUStrCopy, pRTLUStr ); - - if ( pRTLUStrCopy != NULL ) - { - const sal_Unicode *pUStr = rtl_uString_getStr( pRTLUStrCopy ); - - if ( pUStr != NULL ) - { - nCmp = AStringToUStringNCompare( pUStr, pAStr, nAStrCount ); - } // if - - rtl_uString_release( pRTLUStrCopy ); - - pRTLUStrCopy = NULL; - } // if - } // if - - return nCmp; -} // AStringToRTLUStringNCompare - -//------------------------------------------------------------------------ - -sal_Bool AStringToUStringCopy( sal_Unicode *pDest, - const sal_Char *pSrc - ) -{ - sal_Bool bCopied = sal_False; - sal_uInt32 nCount = AStringLen( pSrc ); - sal_uInt32 nLen = nCount; - - if ( ( pDest != NULL ) - && ( pSrc != NULL ) - && ( AStringNIsValid( pSrc, nLen ) ) - ) - { - for (;;) - { - *pDest = (unsigned char)*pSrc; - - pDest++; - pSrc++; - - // Since we are dealing with unsigned integers - // we want to make sure that the last number is - // indeed zero. - - if ( nCount > 0 ) - { - nCount--; - } // if - else - { - break; - } // else - } // while - - if ( nCount == 0 ) - { - bCopied = sal_True; - } // if - } // if - - return bCopied; -} // AStringToUStringCopy - -//------------------------------------------------------------------------ - -sal_Bool AStringToUStringNCopy( sal_Unicode *pDest, - const sal_Char *pSrc, - const sal_uInt32 nSrcLen - ) -{ - sal_Bool bCopied = sal_False; - sal_uInt32 nCount = nSrcLen; - sal_uInt32 nLen = nSrcLen; - - if ( ( pDest != NULL ) - && ( pSrc != NULL ) - && ( AStringNIsValid( pSrc, nLen ) ) - ) - { - for (;;) - { - *pDest = (unsigned char)*pSrc; - - pDest++; - pSrc++; - - // Since we are dealing with unsigned integers - // we want to make sure that the last number is - // indeed zero. - - if ( nCount > 0 ) - { - nCount--; - } // if - else - { - break; - } // else - } // while - - if ( nCount == 0 ) - { - bCopied = sal_True; - } // if - } // if - - return bCopied; -} // AStringToUStringNCopy - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/qa/OStringBuffer/rtl_String_Utils.hxx b/sal/qa/OStringBuffer/rtl_String_Utils.hxx index d9770d3fc..3eb160d7e 100644 --- a/sal/qa/OStringBuffer/rtl_String_Utils.hxx +++ b/sal/qa/OStringBuffer/rtl_String_Utils.hxx @@ -55,29 +55,12 @@ sal_Bool cmpustr( const sal_Unicode* str1, const sal_Unicode* str2, sal_uInt32 l sal_Bool cmpustr( const sal_Unicode* str1, const sal_Unicode* str2 ); sal_Char* createName( sal_Char* dst, const sal_Char* src, sal_uInt32 cnt ); -void makeComment(char *com, const char *str1, const char *str2, sal_Int32 sgn); sal_uInt32 AStringLen( const sal_Char *pAStr ); -sal_uInt32 UStringLen( const sal_Unicode *pUStr ); - -//------------------------------------------------------------------------ - -sal_Bool AStringToFloatCompare ( const sal_Char *pStr, - const float nX, - const float nEPS - ); - -sal_Bool AStringToDoubleCompare ( const sal_Char *pStr, - const double nX, - const double nEPS - ); - //------------------------------------------------------------------------ -sal_Bool AStringIsValid( const sal_Char *pAStr ); - sal_Bool AStringNIsValid( const sal_Char *pAStr, const sal_uInt32 nStrLen ); @@ -93,26 +76,6 @@ sal_Int32 AStringToUStringNCompare( const sal_Unicode *pUStr, const sal_uInt32 nAStrCount ); -sal_Int32 AStringToRTLUStringCompare( const rtl_uString *pRTLUStr, - const sal_Char *pAStr - ); - -sal_Int32 AStringToRTLUStringNCompare( const rtl_uString *pRTLUStr, - const sal_Char *pAStr, - const sal_uInt32 nAStrCount - ); - -//------------------------------------------------------------------------ - -sal_Bool AStringToUStringCopy( sal_Unicode *pDest, - const sal_Char *pSrc - ); - -sal_Bool AStringToUStringNCopy( sal_Unicode *pDest, - const sal_Char *pSrc, - const sal_uInt32 nSrcLen - ); - #endif /* __cplusplus */ #endif /* _RTL_STRING_UTILS_HXX */ diff --git a/sal/qa/cppunit_local.mk b/sal/qa/cppunit_local.mk index 4b452b73c..eaa662877 100644 --- a/sal/qa/cppunit_local.mk +++ b/sal/qa/cppunit_local.mk @@ -25,6 +25,10 @@ # cppunittester is built in this module; cannot use delivered version # this should be kept in sync with the definition in solenv/inc/settings.mk +.IF "$(CROSS_COMPILING)"=="YES" +CPPUNITTESTER=\# +.ELSE CPPUNITTESTER = $(AUGMENT_LIBRARY_PATH_LOCAL) $(GDBCPPUNITTRACE) $(VALGRINDTOOL) $(BIN)/cppunittester +.ENDIF .INCLUDE : _cppunit.mk diff --git a/sal/qa/makefile.mk b/sal/qa/makefile.mk index e9eec4d98..391ac66b8 100644 --- a/sal/qa/makefile.mk +++ b/sal/qa/makefile.mk @@ -47,8 +47,6 @@ TARGET=whole_sal_qa ALLTAR : test_all .ENDIF -.IF "$(CROSS_COMPILING)"!="YES" - # OTHER STUFF ------------------------------------------------------ # test : test_all @@ -62,5 +60,3 @@ test_all: @echo - start sal unit tests @echo ---------------------------------------------------------- $(PERL) buildall.pl $(TESTOPT) - -.ENDIF diff --git a/sal/qa/osl/condition/makefile.mk b/sal/qa/osl/condition/makefile.mk index 89a4fb363..9683f20a7 100644 --- a/sal/qa/osl/condition/makefile.mk +++ b/sal/qa/osl/condition/makefile.mk @@ -36,13 +36,13 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) -# BEGIN ---------------------------------------------------------------- -# auto generated Target:Condition by codegen.pl SHL1OBJS= \ $(SLO)$/osl_Condition.obj @@ -53,10 +53,8 @@ SHL1IMPLIB= i$(SHL1TARGET) DEF1NAME =$(SHL1TARGET) SHL1VERSIONMAP = $(PRJ)$/qa$/export.map -# auto generated Target:Condition -# END ------------------------------------------------------------------ - -.ENDIF +# ------------------------------------------------------------------ +SLOFILES=$(SHL1OBJS) # --- Targets ------------------------------------------------------ diff --git a/sal/qa/osl/file/makefile.mk b/sal/qa/osl/file/makefile.mk index 4cb2ffebc..de85e5e5e 100644 --- a/sal/qa/osl/file/makefile.mk +++ b/sal/qa/osl/file/makefile.mk @@ -36,8 +36,6 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk -.IF "$(CROSS_COMPILING)"!="YES" - CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) @@ -79,9 +77,7 @@ SHL3VERSIONMAP = $(PRJ)$/qa$/export.map #------------------------------- All object files ------------------------------- # do this here, so we get right dependencies -SLOFILES=$(SHL1OBJS) - -.ENDIF +SLOFILES=$(SHL1OBJS) $(SHL2OBJS) $(SHL3OBJS) # --- Targets ------------------------------------------------------ diff --git a/sal/qa/osl/file/osl_File.cxx b/sal/qa/osl/file/osl_File.cxx index 024619d74..e38da907e 100644 --- a/sal/qa/osl/file/osl_File.cxx +++ b/sal/qa/osl/file/osl_File.cxx @@ -29,6 +29,10 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sal.hxx" +#ifdef IOS +#define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_qa_osl_File +#endif + //------------------------------------------------------------------------ // include files //------------------------------------------------------------------------ @@ -2176,7 +2180,7 @@ namespace osl_VolumeInfo } -#if ( defined UNX ) +#if defined(UNX) && !defined(ANDROID) void getMaxNameLength_002( ) { struct statvfs aStatFS; @@ -5819,7 +5823,7 @@ namespace osl_Directory nError1 = ::osl::Directory::getVolumeInfo( aTmpName3, aVolumeInfo ); // LLA: in Windows, it reply no error, it did not pass in (W32). -#ifdef UNX +#if defined(UNX) && !defined(IOS) CPPUNIT_ASSERT_MESSAGE( "test for getVolumeInfo function: non-existence test. ", ( osl::FileBase::E_NOENT == nError1 ) ); #endif @@ -6051,7 +6055,7 @@ namespace osl_Directory if (tmp_x.lastIndexOf('/') != (tmp_x.getLength() - 1)) tmp_x += rtl::OString('/'); -#ifndef WNT +#if !defined(WNT) && !defined(ANDROID) // FIXME would be nice to create unique dir even on Windows tmp_x += rtl::OString("XXXXXX"); char *out = mkdtemp(const_cast<char*>(tmp_x.getStr())); diff --git a/sal/qa/osl/file/osl_File_Const.h b/sal/qa/osl/file/osl_File_Const.h index ed2b6824e..88df98ef0 100644 --- a/sal/qa/osl/file/osl_File_Const.h +++ b/sal/qa/osl/file/osl_File_Const.h @@ -89,13 +89,15 @@ const sal_Char pBuffer_Blank[] = ""; # include <errno.h> # include <fcntl.h> # include <sys/stat.h> -# if !defined(MACOSX) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined (DRAGONFLY) +# if !defined(MACOSX) && !defined(IOS) && !defined(__OpenBSD__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined (DRAGONFLY) # include <sys/statfs.h> # else # include <sys/param.h> # include <sys/mount.h> # endif -# include <sys/statvfs.h> +# if !defined(ANDROID) +# include <sys/statvfs.h> +# endif # include <sys/types.h> # define TEST_PLATFORM "" # define TEST_PLATFORM_ROOT "/" diff --git a/sal/qa/osl/file/osl_old_test_file.cxx b/sal/qa/osl/file/osl_old_test_file.cxx index 80e9e077b..e18649055 100644 --- a/sal/qa/osl/file/osl_old_test_file.cxx +++ b/sal/qa/osl/file/osl_old_test_file.cxx @@ -29,6 +29,10 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sal.hxx" +#ifdef IOS +#define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_osl_old_test_file +#endif + // LLA: // this file is converted to use with testshl2 // original was placed in sal/test/textenc.cxx diff --git a/sal/qa/osl/file/test_cpy_wrt_file.cxx b/sal/qa/osl/file/test_cpy_wrt_file.cxx index 891163120..56135301e 100644 --- a/sal/qa/osl/file/test_cpy_wrt_file.cxx +++ b/sal/qa/osl/file/test_cpy_wrt_file.cxx @@ -29,6 +29,10 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sal.hxx" +#ifdef IOS +#define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_tcwf +#endif + #include <cppunit/TestFixture.h> #include <cppunit/extensions/HelperMacros.h> #include <cppunit/plugin/TestPlugIn.h> @@ -43,7 +47,7 @@ using ::rtl::OUStringToOString; using ::rtl::OString; //Use to silence OSL_ warnings for a deliberate error -extern "C" void SAL_CALL suppressOslDebugMessage( const sal_Char *, sal_Int32, const sal_Char * ) +extern "C" void SAL_CALL suppressOslDebugMessage2( const sal_Char *, sal_Int32, const sal_Char * ) { } @@ -71,7 +75,7 @@ public: //deliberate errors, suppress run-time warning for operations on //un-opened File pfunc_osl_printDetailedDebugMessage pOldDebugMessageFunc = - osl_setDetailedDebugMessageFunc( &suppressOslDebugMessage ); + osl_setDetailedDebugMessageFunc( &suppressOslDebugMessage2 ); char buffer[1]; sal_uInt64 written = 0; diff --git a/sal/qa/osl/getsystempathfromfileurl/makefile.mk b/sal/qa/osl/getsystempathfromfileurl/makefile.mk index 769313aad..71597ba07 100644 --- a/sal/qa/osl/getsystempathfromfileurl/makefile.mk +++ b/sal/qa/osl/getsystempathfromfileurl/makefile.mk @@ -37,7 +37,9 @@ ENABLE_EXCEPTIONS = TRUE .INCLUDE: settings.mk -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF CFLAGSCXX += $(CPPUNIT_CFLAGS) @@ -53,8 +55,6 @@ DEF1NAME = $(SHL1TARGET) SLOFILES = $(SHL1OBJS) -.ENDIF - .INCLUDE: target.mk .INCLUDE: _cppunit.mk diff --git a/sal/qa/osl/module/makefile.mk b/sal/qa/osl/module/makefile.mk index 22a4811ea..7fdf0ca43 100644 --- a/sal/qa/osl/module/makefile.mk +++ b/sal/qa/osl/module/makefile.mk @@ -36,7 +36,9 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) @@ -72,9 +74,8 @@ SHL2DEF= $(MISC)$/$(SHL2TARGET).def DEF2NAME =$(SHL2TARGET) SHL2VERSIONMAP= $(PRJ)$/qa$/export.map -# END ------------------------------------------------------------------ -.ENDIF +SLOFILES = $(SHL2OBJS) # --- Targets ------------------------------------------------------ diff --git a/sal/qa/osl/module/osl_Module_DLL.cxx b/sal/qa/osl/module/osl_Module_DLL.cxx index aa436a354..fa4cdaf82 100644 --- a/sal/qa/osl/module/osl_Module_DLL.cxx +++ b/sal/qa/osl/module/osl_Module_DLL.cxx @@ -43,9 +43,5 @@ extern "C" sal_Bool SAL_CALL firstfunc( sal_Bool bRes ) { return ( bRes = sal_True ); } -extern "C" void SAL_CALL secondfunc() -{ - printf("second func called.\n"); -} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/qa/osl/process/makefile.mk b/sal/qa/osl/process/makefile.mk index 17bac5faf..73360cbd0 100644 --- a/sal/qa/osl/process/makefile.mk +++ b/sal/qa/osl/process/makefile.mk @@ -35,15 +35,10 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk -.IF "$(CROSS_COMPILING)"!="YES" - CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) -# BEGIN ---------------------------------------------------------------- -# auto generated Target:testjob by codegen.pl - -.IF "$(GUI)" == "WNT" +.IF "$(COM)" == "MSC" CFLAGS+=/Ob1 .ENDIF @@ -54,8 +49,6 @@ SHL1IMPLIB=i$(SHL1TARGET) DEF1NAME=$(SHL1TARGET) SHL1VERSIONMAP = $(PRJ)$/qa$/export.map -# END ------------------------------------------------------------------ - SHL2OBJS=$(SLO)$/osl_process.obj SHL2TARGET=osl_process SHL2STDLIBS= $(SALLIB) $(CPPUNITLIB) @@ -63,8 +56,6 @@ SHL2IMPLIB=i$(SHL2TARGET) DEF2NAME=$(SHL2TARGET) SHL2VERSIONMAP = $(PRJ)$/qa$/export.map -# END ------------------------------------------------------------------ - OBJ3FILES=$(OBJ)$/osl_process_child.obj APP3TARGET=osl_process_child APP3OBJS=$(OBJ3FILES) @@ -75,12 +66,8 @@ SHL2DEPN=$(APP3TARGETN) \ $(BIN)/batch.bat #------------------------------- All object files ------------------------------- -# do this here, so we get right dependencies - SLOFILES=$(SHL1OBJS) $(SHL2OBJS) -.ENDIF - # --- Targets ------------------------------------------------------ .INCLUDE : target.mk diff --git a/sal/qa/osl/process/osl_Thread.cxx b/sal/qa/osl/process/osl_Thread.cxx index 3b021a497..de0589f45 100644 --- a/sal/qa/osl/process/osl_Thread.cxx +++ b/sal/qa/osl/process/osl_Thread.cxx @@ -29,6 +29,10 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sal.hxx" +#ifdef IOS +#define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_osl_Thread +#endif + #ifdef WNT #define NOMINMAX #include <windows.h> @@ -1097,9 +1101,11 @@ namespace osl_Thread case osl_Thread_PriorityAboveNormal: sPrioStr = "AboveNormal"; + break; case osl_Thread_PriorityNormal: sPrioStr = "Normal"; + break; case osl_Thread_PriorityBelowNormal: sPrioStr = "BelowNormal"; @@ -2097,9 +2103,6 @@ namespace osl_ThreadData "ThreadData setData: ", cData1 == 'a' && cData2 == 'b' && aChar == 'o' ); - - delete [] pc2; - delete [] pc; } CPPUNIT_TEST_SUITE(setData); @@ -2147,8 +2150,6 @@ namespace osl_ThreadData "ThreadData setData: ", cData1 == 'c' && cData2 == 'd' && aChar == 'i' ); - - delete [] pc; } // setData then change the value in the address data pointer points, diff --git a/sal/qa/osl/process/osl_process.cxx b/sal/qa/osl/process/osl_process.cxx index 2535c4cd6..573a12241 100644 --- a/sal/qa/osl/process/osl_process.cxx +++ b/sal/qa/osl/process/osl_process.cxx @@ -29,6 +29,10 @@ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_sal.hxx" +#ifdef IOS +#define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_osl_process +#endif + #include <cppunit/TestFixture.h> #include <cppunit/extensions/HelperMacros.h> #include <cppunit/plugin/TestPlugIn.h> @@ -76,14 +80,6 @@ const rtl::OUString EXECUTABLE_NAME (RTL_CONSTASCII_USTRINGPARAM("osl_process_child")); #endif - -//######################################## -std::string OUString_to_std_string(const rtl::OUString& oustr) -{ - rtl::OString ostr = rtl::OUStringToOString(oustr, osl_getThreadTextEncoding()); - return std::string(ostr.getStr()); -} - //######################################## using namespace osl; @@ -477,6 +473,7 @@ public: ); std::string line; + line.reserve(1024); while (std::getline(file, line, '\0')) env_container->push_back(line); tidy_container(*env_container); diff --git a/sal/qa/osl/security/makefile.mk b/sal/qa/osl/security/makefile.mk index e6fbed4ab..85d9beb44 100755 --- a/sal/qa/osl/security/makefile.mk +++ b/sal/qa/osl/security/makefile.mk @@ -36,13 +36,13 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) -# BEGIN ---------------------------------------------------------------- -# auto generated Target:Security by codegen.pl SHL1OBJS= \ $(SLO)$/osl_Security.obj @@ -57,10 +57,8 @@ SHL1DEF= $(MISC)$/$(SHL1TARGET).def DEF1NAME =$(SHL1TARGET) SHL1VERSIONMAP= $(PRJ)$/qa$/export.map -# auto generated Target:Security -# END ------------------------------------------------------------------ -.ENDIF +SLOFILES = $(SHL1OBJS) # --- Targets ------------------------------------------------------ diff --git a/sal/qa/osl/security/osl_Security.cxx b/sal/qa/osl/security/osl_Security.cxx index faa009750..230b27e96 100644 --- a/sal/qa/osl/security/osl_Security.cxx +++ b/sal/qa/osl/security/osl_Security.cxx @@ -126,12 +126,12 @@ namespace osl_Security CPPUNIT_TEST_SUITE( logonUser ); - if ( !aStringForward.equals( aNullURL ) && aStringForward.indexOf( (sal_Unicode)' ' ) != -1 && ( aStringForward.indexOf( ( sal_Unicode ) ' ' ) == aStringForward.lastIndexOf( ( sal_Unicode ) ' ' ) ) ) + if ( !aStringForward.equals( aNullUrl ) && aStringForward.indexOf( (sal_Unicode)' ' ) != -1 && ( aStringForward.indexOf( ( sal_Unicode ) ' ' ) == aStringForward.lastIndexOf( ( sal_Unicode ) ' ' ) ) ) /// if user name and passwd are forwarded { CPPUNIT_TEST( logonUser_user_pwd ); } - if ( !aStringForward.equals( aNullURL ) && aStringForward.indexOf( (sal_Unicode)' ' ) != -1 && ( aStringForward.indexOf( ( sal_Unicode ) ' ' ) != aStringForward.lastIndexOf( ( sal_Unicode ) ' ' ) ) ) + if ( !aStringForward.equals( aNullUrl ) && aStringForward.indexOf( (sal_Unicode)' ' ) != -1 && ( aStringForward.indexOf( ( sal_Unicode ) ' ' ) != aStringForward.lastIndexOf( ( sal_Unicode ) ' ' ) ) ) /// if user name and passwd and file server are forwarded { CPPUNIT_TEST( logonUser_user_pwd_server ); @@ -587,31 +587,31 @@ void MyTestPlugInImpl::initialize( CPPUNIT_NS::TestFactoryRegistry *, t_print("#\n#Retrived system information is below:\n"); t_print("Computer Name: "); - if ( strComputerName == aNullURL ) + if ( strComputerName == aNullUrl ) t_print("Not retrived\n" ); else printUString( strComputerName ); t_print("Current User Name: "); - if ( strUserName == aNullURL ) + if ( strUserName == aNullUrl ) t_print("Not retrived\n" ); else printUString( strUserName ); t_print("Current User Home Directory:"); - if ( strHomeDirectory == aNullURL ) + if ( strHomeDirectory == aNullUrl ) t_print("Not retrived\n" ); else printUString( strHomeDirectory ); t_print("Current Config Directory: "); - if ( strConfigDirectory == aNullURL ) + if ( strConfigDirectory == aNullUrl ) t_print("Not retrived\n" ); else printUString( strConfigDirectory ); t_print("Current UserID: "); - if ( strUserID == aNullURL ) + if ( strUserID == aNullUrl ) t_print("Not retrived\n" ); else printUString( strUserID ); @@ -624,7 +624,7 @@ void MyTestPlugInImpl::initialize( CPPUNIT_NS::TestFactoryRegistry *, /// get and display forwarded text if available. aStringForward = ::rtl::OUString::createFromAscii( parameters.getCommandLine().c_str() ); - if ( !aStringForward.equals( aNullURL ) && aStringForward.indexOf( (sal_Unicode)' ' ) != -1 ) + if ( !aStringForward.equals( aNullUrl ) && aStringForward.indexOf( (sal_Unicode)' ' ) != -1 ) { sal_Int32 nFirstSpacePoint = aStringForward.indexOf( (sal_Unicode)' ' );; sal_Int32 nLastSpacePoint = aStringForward.lastIndexOf( (sal_Unicode)' ' );; diff --git a/sal/qa/osl/security/osl_Security_Const.h b/sal/qa/osl/security/osl_Security_Const.h index 74e068e25..197745f7d 100644 --- a/sal/qa/osl/security/osl_Security_Const.h +++ b/sal/qa/osl/security/osl_Security_Const.h @@ -63,12 +63,15 @@ const char pTestString[17] = "Sun Microsystems"; //------------------------------------------------------------------------ // condition names //------------------------------------------------------------------------ -OSLTEST_DECLARE_USTRING( TestSec, "testsecurity" ); -OSLTEST_DECLARE_USTRING( NullURL, "" ); -::rtl::OUString aLogonUser( aNullURL ), aLogonPasswd( aNullURL ), aFileServer( aNullURL ), aStringForward( aNullURL ); -::rtl::OUString strUserName( aNullURL ) , strComputerName( aNullURL ) , strHomeDirectory( aNullURL ); -::rtl::OUString strConfigDirectory( aNullURL ), strUserID( aNullURL ); +// Intentionally different from the aNullURL in osl_File_Const.h to avoid +// duplicate symbols as all the unit tests here get linked together for iOS... + +OSLTEST_DECLARE_USTRING( NullUrl, "" ); + +::rtl::OUString aLogonUser( aNullUrl ), aLogonPasswd( aNullUrl ), aFileServer( aNullUrl ), aStringForward( aNullUrl ); +::rtl::OUString strUserName( aNullUrl ) , strComputerName( aNullUrl ) , strHomeDirectory( aNullUrl ); +::rtl::OUString strConfigDirectory( aNullUrl ), strUserID( aNullUrl ); sal_Bool isAdmin = sal_False; diff --git a/sal/qa/rtl/alloc/makefile.mk b/sal/qa/rtl/alloc/makefile.mk index d829b1464..1a015da3b 100755 --- a/sal/qa/rtl/alloc/makefile.mk +++ b/sal/qa/rtl/alloc/makefile.mk @@ -35,7 +35,9 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) @@ -53,10 +55,7 @@ DEF1NAME =$(SHL1TARGET) SHL1VERSIONMAP= $(PRJ)$/qa$/export.map #------------------------------- All object files ------------------------------- -# do this here, so we get right dependencies -# SLOFILES=$(SHL1OBJS) - -.ENDIF +SLOFILES=$(SHL1OBJS) # --- Targets ------------------------------------------------------ diff --git a/sal/qa/rtl/cipher/makefile.mk b/sal/qa/rtl/cipher/makefile.mk index 30fc67825..fd95355ac 100644 --- a/sal/qa/rtl/cipher/makefile.mk +++ b/sal/qa/rtl/cipher/makefile.mk @@ -37,15 +37,15 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) CFLAGSCXX += $(CPPUNIT_CFLAGS) -# BEGIN ---------------------------------------------------------------- -# auto generated Target:joblist by codegen.pl SHL1OBJS= \ $(SLO)$/rtl_cipher.obj @@ -58,14 +58,9 @@ SHL1IMPLIB= i$(SHL1TARGET) DEF1NAME =$(SHL1TARGET) # DEF2EXPORTFILE= export.exp SHL1VERSIONMAP= $(PRJ)$/qa$/export.map -# auto generated Target:joblist -# END ------------------------------------------------------------------ #------------------------------- All object files ------------------------------- -# do this here, so we get right dependencies -# SLOFILES=$(SHL1OBJS) - -.ENDIF +SLOFILES=$(SHL1OBJS) # --- Targets ------------------------------------------------------ diff --git a/sal/qa/rtl/crc32/makefile.mk b/sal/qa/rtl/crc32/makefile.mk index 23e7fd2aa..3820a8cf7 100755 --- a/sal/qa/rtl/crc32/makefile.mk +++ b/sal/qa/rtl/crc32/makefile.mk @@ -35,15 +35,15 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) CFLAGSCXX += $(CPPUNIT_CFLAGS) -# BEGIN ---------------------------------------------------------------- -# auto generated Target:jobfile by codegen.pl SHL1OBJS= \ $(SLO)$/rtl_crc32.obj @@ -56,14 +56,9 @@ SHL1IMPLIB= i$(SHL1TARGET) DEF1NAME =$(SHL1TARGET) # DEF1EXPORTFILE= export.exp SHL1VERSIONMAP= $(PRJ)$/qa$/export.map -# auto generated Target:jobfile -# END ------------------------------------------------------------------ #------------------------------- All object files ------------------------------- -# do this here, so we get right dependencies -# SLOFILES=$(SHL1OBJS) - -.ENDIF +SLOFILES=$(SHL1OBJS) # --- Targets ------------------------------------------------------ diff --git a/sal/qa/rtl/doublelock/makefile.mk b/sal/qa/rtl/doublelock/makefile.mk index 87ef35bcb..a1d035673 100644 --- a/sal/qa/rtl/doublelock/makefile.mk +++ b/sal/qa/rtl/doublelock/makefile.mk @@ -35,17 +35,16 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) CFLAGSCXX += $(CPPUNIT_CFLAGS) -# BEGIN ---------------------------------------------------------------- -# auto generated Target:testjob by codegen.pl - -.IF "$(GUI)" == "WNT" +.IF "$(COM)" == "MSC" CFLAGS+=/Ob1 .ENDIF @@ -59,15 +58,9 @@ SHL1IMPLIB= i$(SHL1TARGET) DEF1NAME =$(SHL1TARGET) SHL1VERSIONMAP = $(PRJ)$/qa$/export.map -# END ------------------------------------------------------------------ - #------------------------------- All object files ------------------------------- -# do this here, so we get right dependencies - SLOFILES=$(SHL1OBJS) -.ENDIF - # --- Targets ------------------------------------------------------ .INCLUDE : target.mk diff --git a/sal/qa/rtl/locale/makefile.mk b/sal/qa/rtl/locale/makefile.mk index fd9714793..0d1c8f83f 100644 --- a/sal/qa/rtl/locale/makefile.mk +++ b/sal/qa/rtl/locale/makefile.mk @@ -35,15 +35,15 @@ ENABLE_EXCEPTIONS=TRUE .INCLUDE : settings.mk -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) CFLAGSCXX += $(CPPUNIT_CFLAGS) -# BEGIN ---------------------------------------------------------------- -# auto generated Target:locale by codegen.pl SHL1OBJS= \ $(SLO)$/rtl_locale.obj @@ -56,15 +56,9 @@ SHL1IMPLIB= i$(SHL1TARGET) DEF1NAME =$(SHL1TARGET) # DEF1EXPORTFILE= export.exp SHL1VERSIONMAP= $(PRJ)$/qa$/export.map -# auto generated Target:locale -# END ------------------------------------------------------------------ - #------------------------------- All object files ------------------------------- -# do this here, so we get right dependencies -# SLOFILES=$(SHL1OBJS) - -.ENDIF +SLOFILES=$(SHL1OBJS) # --- Targets ------------------------------------------------------ diff --git a/sal/qa/rtl/oustringbuffer/makefile.mk b/sal/qa/rtl/oustringbuffer/makefile.mk index 32583c2ff..0db90281a 100644 --- a/sal/qa/rtl/oustringbuffer/makefile.mk +++ b/sal/qa/rtl/oustringbuffer/makefile.mk @@ -34,7 +34,9 @@ ENABLE_EXCEPTIONS := TRUE .INCLUDE: settings.mk -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) @@ -51,7 +53,5 @@ SHL1STDLIBS := $(SALLIB) $(CPPUNITLIB) SHL1VERSIONMAP := $(PRJ)$/qa$/export.map DEF1NAME := $(SHL1TARGET) -.ENDIF - .INCLUDE: target.mk .INCLUDE: $(PRJ)$/qa$/cppunit_local.mk diff --git a/sal/qa/rtl/strings/makefile.mk b/sal/qa/rtl/strings/makefile.mk index 821e04e7f..c58476e59 100644 --- a/sal/qa/rtl/strings/makefile.mk +++ b/sal/qa/rtl/strings/makefile.mk @@ -34,7 +34,9 @@ ENABLE_EXCEPTIONS := TRUE .INCLUDE: settings.mk -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF CFLAGS+= $(LFS_CFLAGS) CXXFLAGS+= $(LFS_CFLAGS) @@ -52,7 +54,5 @@ SHL1STDLIBS := $(SALLIB) $(CPPUNITLIB) SHL1VERSIONMAP := $(PRJ)$/qa$/export.map DEF1NAME := $(SHL1TARGET) -.ENDIF - .INCLUDE: target.mk .INCLUDE: $(PRJ)$/qa$/cppunit_local.mk diff --git a/sal/qa/rtl_strings/rtl_String_Utils.cxx b/sal/qa/rtl_strings/rtl_String_Utils.cxx index 2250d98f7..62302441a 100644 --- a/sal/qa/rtl_strings/rtl_String_Utils.cxx +++ b/sal/qa/rtl_strings/rtl_String_Utils.cxx @@ -171,172 +171,6 @@ sal_Char* createName( sal_Char* dst, const sal_Char* meth, sal_uInt32 cnt ) } //------------------------------------------------------------------------ -// testing the method compareTo( const OString & aStr ) -//------------------------------------------------------------------------ -void makeComment( char *com, const char *str1, const char *str2, - sal_Int32 sgn ) -{ - cpystr(com, str1); - int str1Length = AStringLen( str1 ); - const char *sign = (sgn == 0) ? " == " : (sgn > 0) ? " > " : " < " ; - cpystr(com + str1Length, sign); - int signLength = AStringLen(sign); - cpystr(com + str1Length + signLength, str2); - com[str1Length + signLength + AStringLen(str2)] = 0; -} - - -//------------------------------------------------------------------------ - -sal_Bool AStringToFloatCompare ( const sal_Char *pStr, - const float nX, - const float nEPS - ) -{ - sal_Bool cmp = sal_False; - - if ( pStr != NULL ) - { - ::rtl::OString aStr(pStr); - - float actNum = 0; - float expNum = nX; - float eps = nEPS; - - actNum = aStr.toFloat(); - - if ( abs( (int)(actNum - expNum) ) <= eps ) - { - cmp = sal_True; - } // if - } // if - - return cmp; -} // AStringToFloatCompare - -//------------------------------------------------------------------------ - -sal_Bool AStringToDoubleCompare ( const sal_Char *pStr, - const double nX, - const double nEPS - ) -{ - sal_Bool cmp = sal_False; - - if ( pStr != NULL ) - { - ::rtl::OString aStr(pStr); - - double actNum = 0; - double expNum = nX; - double eps = nEPS; - - actNum = aStr.toDouble(); - - if ( abs( (int)(actNum - expNum) ) <= eps ) - { - cmp = sal_True; - } // if - } // if - - return cmp; -} // AStringToDoubleCompare - -sal_uInt32 UStringLen( const sal_Unicode *pUStr ) -{ - sal_uInt32 nUStrLen = 0; - - if ( pUStr != NULL ) - { - const sal_Unicode *pTempUStr = pUStr; - - while( *pTempUStr ) - { - pTempUStr++; - } // while - - nUStrLen = (sal_uInt32)( pTempUStr - pUStr ); - } // if - - return nUStrLen; -} // UStringLen - -//------------------------------------------------------------------------ - -sal_Bool AStringIsValid( const sal_Char *pAStr ) -{ - if ( pAStr != NULL ) - { - sal_uInt32 nLen = AStringLen( pAStr ); - sal_uChar uChar = 0; - - while ( ( nLen >= 0 ) && ( *pAStr ) ) - { - uChar = (unsigned char)*pAStr; - - if ( uChar > 127 ) - { - return sal_False; - } // if - - pAStr++; - - // Since we are dealing with unsigned integers - // we want to make sure that the last number is - // indeed zero. - - if ( nLen > 0 ) - { - nLen--; - } // if - else - { - break; - } // else - } // while - } // if - - return sal_True; -} // AStringIsValid - -//------------------------------------------------------------------------ - -sal_Bool AStringNIsValid( const sal_Char *pAStr, - const sal_uInt32 nStrLen - ) -{ - sal_uInt32 nLen = nStrLen; - sal_uChar uChar = 0; - - while ( ( nLen >= 0 ) && ( *pAStr ) ) - { - uChar = (unsigned char)*pAStr; - - if ( uChar > 127 ) - { - return sal_False; - } // if - - pAStr++; - - // Since we are dealing with unsigned integers - // we want to make sure that the last number is - // indeed zero. - - if ( nLen > 0 ) - { - nLen--; - } // if - else - { - break; - } // else - } // while - - return sal_True; -} // AStringNIsValid - -//------------------------------------------------------------------------ static inline sal_Int32 ACharToUCharCompare( const sal_Unicode *pUStr, const sal_Char *pAStr @@ -351,224 +185,4 @@ static inline sal_Int32 ACharToUCharCompare( const sal_Unicode *pUStr, return nCmp; } // ACharToUCharCompare -//------------------------------------------------------------------------ - -sal_Int32 AStringToUStringCompare( const sal_Unicode *pUStr, - const sal_Char *pAStr - ) -{ - sal_Int32 nCmp = kErrCompareAStringToUString; - - if ( ( pUStr != NULL ) && ( pAStr != NULL ) ) - { - nCmp = ACharToUCharCompare( pUStr, pAStr ); - - while ( ( nCmp == 0 ) && ( *pAStr ) ) - { - pUStr++; - pAStr++; - - nCmp = ACharToUCharCompare( pUStr, pAStr ); - } // while - } // if - - return nCmp; -} // AStringToUStringCompare - -//------------------------------------------------------------------------ - -sal_Int32 AStringToUStringNCompare( const sal_Unicode *pUStr, - const sal_Char *pAStr, - const sal_uInt32 nAStrCount - ) -{ - sal_Int32 nCmp = kErrCompareNAStringToUString; - - if ( ( pUStr != NULL ) && ( pAStr != NULL ) ) - { - sal_uInt32 nCount = nAStrCount; - - nCmp = ACharToUCharCompare( pUStr, pAStr ); - - while ( ( nCmp == 0 ) && ( *pAStr ) && ( nCount ) ) - { - pUStr++; - pAStr++; - - nCmp = ACharToUCharCompare( pUStr, pAStr ); - - // Since we are dealing with unsigned integers - // we want to make sure that the last number is - // indeed zero. - - if ( nCount > 0 ) - { - nCount--; - } // if - else - { - break; - } // else - } // while - } // if - - return nCmp; -} // AStringToUStringNCompare - -//------------------------------------------------------------------------ - -sal_Int32 AStringToRTLUStringCompare( const rtl_uString *pRTLUStr, - const sal_Char *pAStr - ) -{ - sal_Int32 nCmp = kErrCompareAStringToRTLUString; - - if ( ( pRTLUStr != NULL ) && ( pAStr != NULL ) ) - { - rtl_uString *pRTLUStrCopy = NULL; - - rtl_uString_newFromString( &pRTLUStrCopy, pRTLUStr ); - - if ( pRTLUStrCopy != NULL ) - { - const sal_Unicode *pUStr = rtl_uString_getStr( pRTLUStrCopy ); - - if ( pUStr != NULL ) - { - nCmp = AStringToUStringCompare( pUStr, pAStr ); - } // if - - rtl_uString_release( pRTLUStrCopy ); - - pRTLUStrCopy = NULL; - } // if - } // if - - return nCmp; -} // AStringToRTLUStringCompare - -//------------------------------------------------------------------------ - -sal_Int32 AStringToRTLUStringNCompare( const rtl_uString *pRTLUStr, - const sal_Char *pAStr, - const sal_uInt32 nAStrCount - ) -{ - sal_Int32 nCmp = kErrCompareNAStringToRTLUString; - - if ( ( pRTLUStr != NULL ) && ( pAStr != NULL ) ) - { - rtl_uString *pRTLUStrCopy = NULL; - - rtl_uString_newFromString( &pRTLUStrCopy, pRTLUStr ); - - if ( pRTLUStrCopy != NULL ) - { - const sal_Unicode *pUStr = rtl_uString_getStr( pRTLUStrCopy ); - - if ( pUStr != NULL ) - { - nCmp = AStringToUStringNCompare( pUStr, pAStr, nAStrCount ); - } // if - - rtl_uString_release( pRTLUStrCopy ); - - pRTLUStrCopy = NULL; - } // if - } // if - - return nCmp; -} // AStringToRTLUStringNCompare - -//------------------------------------------------------------------------ - -sal_Bool AStringToUStringCopy( sal_Unicode *pDest, - const sal_Char *pSrc - ) -{ - sal_Bool bCopied = sal_False; - sal_uInt32 nCount = AStringLen( pSrc ); - sal_uInt32 nLen = nCount; - - if ( ( pDest != NULL ) - && ( pSrc != NULL ) - && ( AStringNIsValid( pSrc, nLen ) ) - ) - { - while ( nCount >= 0 ) - { - *pDest = (unsigned char)*pSrc; - - pDest++; - pSrc++; - - // Since we are dealing with unsigned integers - // we want to make sure that the last number is - // indeed zero. - - if ( nCount > 0 ) - { - nCount--; - } // if - else - { - break; - } // else - } // while - - if ( nCount == 0 ) - { - bCopied = sal_True; - } // if - } // if - - return bCopied; -} // AStringToUStringCopy - -//------------------------------------------------------------------------ - -sal_Bool AStringToUStringNCopy( sal_Unicode *pDest, - const sal_Char *pSrc, - const sal_uInt32 nSrcLen - ) -{ - sal_Bool bCopied = sal_False; - sal_uInt32 nCount = nSrcLen; - sal_uInt32 nLen = nSrcLen; - - if ( ( pDest != NULL ) - && ( pSrc != NULL ) - && ( AStringNIsValid( pSrc, nLen ) ) - ) - { - while ( nCount >= 0 ) - { - *pDest = (unsigned char)*pSrc; - - pDest++; - pSrc++; - - // Since we are dealing with unsigned integers - // we want to make sure that the last number is - // indeed zero. - - if ( nCount > 0 ) - { - nCount--; - } // if - else - { - break; - } // else - } // while - - if ( nCount == 0 ) - { - bCopied = sal_True; - } // if - } // if - - return bCopied; -} // AStringToUStringNCopy - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/qa/rtl_strings/rtl_String_Utils.hxx b/sal/qa/rtl_strings/rtl_String_Utils.hxx index be4083bd7..fc0e29be0 100644 --- a/sal/qa/rtl_strings/rtl_String_Utils.hxx +++ b/sal/qa/rtl_strings/rtl_String_Utils.hxx @@ -54,29 +54,12 @@ sal_Bool cmpustr( const sal_Unicode* str1, const sal_Unicode* str2, sal_uInt32 l sal_Bool cmpustr( const sal_Unicode* str1, const sal_Unicode* str2 ); sal_Char* createName( sal_Char* dst, const sal_Char* src, sal_uInt32 cnt ); -void makeComment(char *com, const char *str1, const char *str2, sal_Int32 sgn); sal_uInt32 AStringLen( const sal_Char *pAStr ); -sal_uInt32 UStringLen( const sal_Unicode *pUStr ); - -//------------------------------------------------------------------------ - -sal_Bool AStringToFloatCompare ( const sal_Char *pStr, - const float nX, - const float nEPS - ); - -sal_Bool AStringToDoubleCompare ( const sal_Char *pStr, - const double nX, - const double nEPS - ); - //------------------------------------------------------------------------ -sal_Bool AStringIsValid( const sal_Char *pAStr ); - sal_Bool AStringNIsValid( const sal_Char *pAStr, const sal_uInt32 nStrLen ); @@ -92,34 +75,8 @@ sal_Int32 AStringToUStringNCompare( const sal_Unicode *pUStr, const sal_uInt32 nAStrCount ); -sal_Int32 AStringToRTLUStringCompare( const rtl_uString *pRTLUStr, - const sal_Char *pAStr - ); - -sal_Int32 AStringToRTLUStringNCompare( const rtl_uString *pRTLUStr, - const sal_Char *pAStr, - const sal_uInt32 nAStrCount - ); - -//------------------------------------------------------------------------ - -sal_Bool AStringToUStringCopy( sal_Unicode *pDest, - const sal_Char *pSrc - ); - -sal_Bool AStringToUStringNCopy( sal_Unicode *pDest, - const sal_Char *pSrc, - const sal_uInt32 nSrcLen - ); - #endif /* __cplusplus */ #endif /* _RTL_STRING_UTILS_HXX */ - - - - - - /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/qa/sal/makefile.mk b/sal/qa/sal/makefile.mk index 78c8646c3..0677acc24 100644 --- a/sal/qa/sal/makefile.mk +++ b/sal/qa/sal/makefile.mk @@ -33,7 +33,9 @@ ENABLE_EXCEPTIONS := TRUE .INCLUDE: settings.mk -.IF "$(CROSS_COMPILING)"!="YES" +.IF "$(OS)" == "IOS" +CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) +.ENDIF SHL1TARGET = $(TARGET)_types SHL1OBJS = $(SLO)$/test_types.obj @@ -44,7 +46,5 @@ DEF1NAME = $(SHL1TARGET) SLOFILES = $(SHL1OBJS) -.ENDIF - .INCLUDE: target.mk .INCLUDE: $(PRJ)$/qa$/cppunit_local.mk diff --git a/sal/qa/static/makefile.mk b/sal/qa/static/makefile.mk new file mode 100644 index 000000000..71c308544 --- /dev/null +++ b/sal/qa/static/makefile.mk @@ -0,0 +1,68 @@ +#************************************************************************* +# +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# Copyright 2000, 2010 Oracle and/or its affiliates. +# +# OpenOffice.org - a multi-platform office productivity suite +# +# This file is part of OpenOffice.org. +# +# OpenOffice.org is free software: you can redistribute it and/or modify +# it under the terms of the GNU Lesser General Public License version 3 +# only, as published by the Free Software Foundation. +# +# OpenOffice.org is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Lesser General Public License version 3 for more details +# (a copy is included in the LICENSE file that accompanied this code). +# +# You should have received a copy of the GNU Lesser General Public License +# version 3 along with OpenOffice.org. If not, see +# <http://www.openoffice.org/license.html> +# for a copy of the LGPLv3 License. +# +#***********************************************************************/ + +PRJ = ../.. +PRJNAME = sal +TARGET = sal_cppunittester_all + +ENABLE_EXCEPTIONS = TRUE +LIBTARGET = NO + +.INCLUDE: settings.mk + +CFLAGSCXX += $(CPPUNIT_CFLAGS) + +.IF "$(OS)" != "IOS" + +ALL : + @echo This is only for iOS + +.ENDIF + +CFLAGSCXX += -x objective-c++ -fobjc-abi-version=2 -fobjc-legacy-dispatch -D__IPHONE_OS_VERSION_MIN_REQUIRED=40300 + +OBJFILES = $(APP1OBJS) + +APP1OBJS = $(OBJ)/sal_cppunittester_all.obj +APP1RPATH = NONE +APP1LIBS += \ + $(SLB)/qa_ByteSequence.lib \ + $(SLB)/qa_ostringbuffer.lib \ + $(SLB)/qa_osl_condition.lib \ + $(SLB)/qa_osl_file.lib \ + $(SLB)/qa_osl_security.lib \ + $(SLB)/qa_rtl_alloc.lib \ + $(SLB)/qa_rtl_cipher.lib \ + $(SLB)/qa_rtl_crc32.lib \ + $(SLB)/qa_rtl_doublelock.lib \ + $(SLB)/qa_rtl_locale.lib \ + $(SLB)/qa_sal.lib + +APP1STDLIBS = $(CPPUNITLIB) $(SALLIB) +APP1TARGET = $(TARGET) + +.INCLUDE: target.mk diff --git a/sal/qa/static/sal_cppunittester_all.cxx b/sal/qa/static/sal_cppunittester_all.cxx new file mode 100644 index 000000000..4c3d942c1 --- /dev/null +++ b/sal/qa/static/sal_cppunittester_all.cxx @@ -0,0 +1,161 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/************************************************************************* +* +* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +* +* Copyright 2000, 2010 Oracle and/or its affiliates. +* +* OpenOffice.org - a multi-platform office productivity suite +* +* This file is part of OpenOffice.org. +* +* OpenOffice.org is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License version 3 +* only, as published by the Free Software Foundation. +* +* OpenOffice.org is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Lesser General Public License version 3 for more details +* (a copy is included in the LICENSE file that accompanied this code). +* +* You should have received a copy of the GNU Lesser General Public License +* version 3 along with OpenOffice.org. If not, see +* <http://www.openoffice.org/license.html> +* for a copy of the LGPLv3 License. +* +************************************************************************/ + +#include "precompiled_sal.hxx" +#include "sal/config.h" + +#include <cstdlib> +#include <iostream> +#include <limits> +#include <string> +#include "cppunittester/protectorfactory.hxx" +#include "osl/module.h" +#include "osl/module.hxx" +#include "osl/thread.h" +#include "rtl/process.h" +#include "rtl/string.h" +#include "rtl/string.hxx" +#include "rtl/textcvt.h" +#include "rtl/ustring.hxx" +#include "sal/main.h" +#include "sal/types.h" + +#include "cppunit/CompilerOutputter.h" +#include "cppunit/TestResult.h" +#include "cppunit/TestResultCollector.h" +#include "cppunit/TestRunner.h" +#include "cppunit/plugin/TestPlugIn.h" +#include "cppunit/plugin/PlugInParameters.h" +#include "cppunit/extensions/TestFactoryRegistry.h" +#include "cppunit/portability/Stream.h" + +#include "boost/noncopyable.hpp" + +namespace { + +void usageFailure() { + std::cerr + << ("Usage: cppunittester (--protector <shared-library-path>" + " <function-symbol>)* <shared-library-path>") + << std::endl; + std::exit(EXIT_FAILURE); +} + +rtl::OUString getArgument(sal_Int32 index) { + rtl::OUString arg; + rtl_getAppCommandArg(index, &arg.pData); + return arg; +} + +std::string convertLazy(rtl::OUString const & s16) { + rtl::OString s8(rtl::OUStringToOString(s16, osl_getThreadTextEncoding())); + return std::string( + s8.getStr(), + ((static_cast< sal_uInt32 >(s8.getLength()) + > (std::numeric_limits< std::string::size_type >::max)()) + ? (std::numeric_limits< std::string::size_type >::max)() + : static_cast< std::string::size_type >(s8.getLength()))); +} + +//Allow the whole uniting testing framework to be run inside a "Protector" +//which knows about uno exceptions, so it can print the content of the +//exception before falling over and dying +class CPPUNIT_API ProtectedFixtureFunctor : public CppUnit::Functor, private boost::noncopyable +{ +private: + const std::string &args; + CppUnit::TestResult &result; +public: + ProtectedFixtureFunctor(const std::string &args_, CppUnit::TestResult &result_) + : args(args_) + , result(result_) + { + } + bool run() const + { + CppUnit::TestRunner runner; + runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); + CppUnit::TestResultCollector collector; + result.addListener(&collector); + runner.run(result); + CppUnit::CompilerOutputter(&collector, CppUnit::stdCErr()).write(); + return collector.wasSuccessful(); + } + virtual bool operator()() const + { + return run(); + } +}; +} + +extern "C" CppUnitTestPlugIn *cppunitTest_qa_ByteSequence(void), + *cppunitTest_qa_ostringbuffer(void), + *cppunitTest_qa_osl_condition(void), + *cppunitTest_qa_osl_File(void), + *cppunitTest_tcwf(void), + *cppunitTest_osl_old_test_file(void), + *cppunitTest_qa_osl_security(void), + *cppunitTest_qa_rtl_alloc(void), + *cppunitTest_qa_rtl_cipher(void), + *cppunitTest_qa_rtl_crc32(void), + *cppunitTest_qa_rtl_doublelock(void), + *cppunitTest_qa_rtl_locale(void), + *cppunitTest_qa_sal(void); + +SAL_IMPLEMENT_MAIN() { + TestPlugInSignature plugs[] = { + cppunitTest_qa_ByteSequence, + cppunitTest_qa_ostringbuffer, + cppunitTest_qa_osl_condition, + cppunitTest_qa_osl_File, + cppunitTest_tcwf, + cppunitTest_osl_old_test_file, + cppunitTest_qa_osl_security, + cppunitTest_qa_rtl_alloc, + cppunitTest_qa_rtl_cipher, + cppunitTest_qa_rtl_crc32, + cppunitTest_qa_rtl_doublelock, + cppunitTest_qa_rtl_locale, + cppunitTest_qa_sal, + NULL + }; + CppUnit::TestResult result; + std::string args; + bool ok = false; + for (TestPlugInSignature *plug = plugs; *plug != NULL; plug++) { + CppUnitTestPlugIn *iface; + iface = (*plug)(); + iface->initialize(&CppUnit::TestFactoryRegistry::getRegistry(), CppUnit::PlugInParameters()); + } + ProtectedFixtureFunctor tests(args, result); + ok = tests.run(); + + return ok ? EXIT_SUCCESS : EXIT_FAILURE; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/rtl/source/strbuf.c b/sal/rtl/source/strbuf.c index 446b1cee2..c0e9694dc 100644 --- a/sal/rtl/source/strbuf.c +++ b/sal/rtl/source/strbuf.c @@ -144,6 +144,36 @@ void SAL_CALL rtl_stringbuffer_insert( rtl_String ** This, (*This)->length = nOldLen + len; pBuf[ nOldLen + len ] = 0; } +} + +/************************************************************************* + * rtl_stringbuffer_remove + */ +void SAL_CALL rtl_stringbuffer_remove( rtl_String ** This, + sal_Int32 start, + sal_Int32 len ) +{ + sal_Int32 nTailLen; + sal_Char * pBuf; + + if (len > (*This)->length - start) + len = (*This)->length - start; + + //remove nothing + if (!len) + return; + + pBuf = (*This)->buffer; + nTailLen = (*This)->length - ( start + len ); + + if (nTailLen) + { + /* move the tail */ + rtl_moveMemory(pBuf + start, pBuf + start + len, nTailLen * sizeof(sal_Char)); + } + + (*This)->length-=len; + pBuf[ (*This)->length ] = 0; } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/rtl/source/ustrbuf.c b/sal/rtl/source/ustrbuf.c index 33317b6f3..638b27eeb 100644 --- a/sal/rtl/source/ustrbuf.c +++ b/sal/rtl/source/ustrbuf.c @@ -206,5 +206,34 @@ void SAL_CALL rtl_uStringbuffer_insert_ascii( /*inout*/rtl_uString ** This, } } +/************************************************************************* + * rtl_uStringbuffer_remove + */ +void SAL_CALL rtl_uStringbuffer_remove( rtl_uString ** This, + sal_Int32 start, + sal_Int32 len ) +{ + sal_Int32 nTailLen; + sal_Unicode * pBuf; + + if (len > (*This)->length - start) + len = (*This)->length - start; + + //remove nothing + if (!len) + return; + + pBuf = (*This)->buffer; + nTailLen = (*This)->length - ( start + len ); + + if (nTailLen) + { + /* move the tail */ + rtl_moveMemory(pBuf + start, pBuf + start + len, nTailLen * sizeof(sal_Unicode)); + } + + (*This)->length-=len; + pBuf[ (*This)->length ] = 0; +} /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/CheckTokenMembership.cpp b/sal/systools/win32/uwinapi/CheckTokenMembership.cpp deleted file mode 100644 index e94dfd5e4..000000000 --- a/sal/systools/win32/uwinapi/CheckTokenMembership.cpp +++ /dev/null @@ -1,37 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#if defined(_MSC_VER) && (_MSC_VER>=1400) -#pragma warning(disable : 4273) -#endif -#include "macros.h" - - -DEFINE_DEFAULT_THUNK( advapi32, TRYLOAD, BOOL, WINAPI, CheckTokenMembership, (HANDLE TokenHandle, PSID SidToCheck, PBOOL IsMember) ) - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/CommandLineToArgvW.cpp b/sal/systools/win32/uwinapi/CommandLineToArgvW.cpp deleted file mode 100644 index 958206a0f..000000000 --- a/sal/systools/win32/uwinapi/CommandLineToArgvW.cpp +++ /dev/null @@ -1,174 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#if defined(_MSC_VER) && (_MSC_VER >= 1400) -#pragma warning(disable:4740) -#endif - -#include "macros.h" - -#ifdef __cplusplus -#define local inline -#else -#define local static -#endif - -local LPCWSTR SkipBlanks( LPCWSTR lpScan ) -{ - while ( ' ' == *lpScan || '\t' == *lpScan ) - lpScan++; - - return lpScan; -} - - -local LPCWSTR SkipArgument( LPCWSTR lpScan ) -{ - BOOL fQuoted = FALSE; - LPCWSTR lpArgEnd = NULL; - - do - { - switch ( *lpScan ) - { - case ' ': - case '\t': - if ( fQuoted ) - lpScan++; - else - lpArgEnd = lpScan; - break; - case '\"': - lpScan++; - fQuoted = !fQuoted; - break; - case '\0': - lpArgEnd = lpScan; - break; - default: - lpScan++; - break; - } - } while( *lpScan && !lpArgEnd ); - - return lpScan; -} - - -IMPLEMENT_THUNK( shell32, WINDOWS, LPWSTR *, WINAPI, CommandLineToArgvW, ( LPCWSTR lpCmdLineW, int *pNumArgs ) ) -{ - LPWSTR *lpArgvW = NULL; - - if ( !lpCmdLineW || !*lpCmdLineW ) - { - CHAR szFileName[MAX_PATH]; - - DWORD dwResult = GetModuleFileNameA( NULL, szFileName, MAX_PATH ); - - if ( dwResult && dwResult < MAX_PATH ) - { - int cchNeeded = MultiByteToWideChar( CP_ACP, 0, szFileName, -1, NULL, 0 ); - - lpArgvW = (LPWSTR *)GlobalAlloc( 0, cchNeeded * sizeof(WCHAR) + sizeof(LPWSTR) ); - - if ( lpArgvW ) - { - lpArgvW[0] = (LPWSTR)(lpArgvW + 1); - - MultiByteToWideChar( CP_ACP, 0, szFileName, -1, lpArgvW[0], cchNeeded ); - *pNumArgs = 1; - } - else - SetLastError( ERROR_OUTOFMEMORY ); - } - } - else - { - LPCWSTR lpScan = lpCmdLineW; - int nTokens = 0; - int cchNeeded = 0; - - // Count arguments and required size - - while ( *lpScan ) - { - lpScan = SkipBlanks( lpScan ); - if ( *lpScan ) - { - LPCWSTR lpArgEnd = SkipArgument( lpScan ); - - nTokens++; - cchNeeded += lpArgEnd - lpScan + 1; - lpScan = lpArgEnd; - } - } - - // Allocate space for one additional NULL pointer to terminate list - - lpArgvW = (LPWSTR *)GlobalAlloc( 0, sizeof(LPWSTR) * (nTokens + 1) + sizeof(WCHAR) * cchNeeded ); - - if ( lpArgvW ) - { - // Collect arguments - - LPWSTR lpDestination = (LPWSTR)&lpArgvW[nTokens + 1]; - - lpScan = lpCmdLineW; - nTokens = 0; - - while ( *lpScan ) - { - lpScan = SkipBlanks( lpScan ); - if ( *lpScan ) - { - LPCWSTR lpArgEnd = SkipArgument( lpScan ); - - lpArgvW[nTokens++] = lpDestination; - - while ( lpScan < lpArgEnd ) - { - if ( '\"' != *lpScan ) - *lpDestination++ = *lpScan; - - lpScan++; - } - *lpDestination++ = 0; - } - } - - lpArgvW[nTokens] = NULL; - - *pNumArgs = nTokens; - } - else - SetLastError( ERROR_OUTOFMEMORY ); - - } - - return lpArgvW; -} -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/CopyFileExA.cpp b/sal/systools/win32/uwinapi/CopyFileExA.cpp deleted file mode 100644 index fafc73a16..000000000 --- a/sal/systools/win32/uwinapi/CopyFileExA.cpp +++ /dev/null @@ -1,169 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#if defined(_MSC_VER) && (_MSC_VER >= 1400) -#pragma warning(disable:4740) -#endif - -#define _WIN32_WINNT 0x0400 -#include "macros.h" - -#define BUFSIZE 16384 - -static DWORD CALLBACK DefCopyProgressRoutine( - LARGE_INTEGER TotalFileSize, // total file size, in bytes - LARGE_INTEGER TotalBytesTransferred, - // total number of bytes transferred - LARGE_INTEGER StreamSize, // total number of bytes for this stream - LARGE_INTEGER StreamBytesTransferred, - // total number of bytes transferred for - // this stream - DWORD dwStreamNumber, // the current stream - DWORD dwCallbackReason, // reason for callback - HANDLE hSourceFile, // handle to the source file - HANDLE hDestinationFile, // handle to the destination file - LPVOID lpData // passed by CopyFileEx -) -{ - return PROGRESS_CONTINUE; -} - - -IMPLEMENT_THUNK( kernel32, WINDOWS, BOOL, WINAPI, CopyFileExA, ( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags ) ) -{ - BOOL fSuccess = FALSE; // Assume failure - - HANDLE hSourceFile = CreateFileA( - lpExistingFileNameA, - GENERIC_READ, - FILE_SHARE_READ | FILE_SHARE_WRITE, - NULL, - OPEN_EXISTING, - 0, - NULL - ); - - if ( IsValidHandle(hSourceFile) ) - { - LARGE_INTEGER FileSize, BytesTransferred; - HANDLE hTargetFile = NULL; - - SetLastError( ERROR_SUCCESS ); - FileSize.LowPart = GetFileSize( hSourceFile, (LPDWORD)&FileSize.HighPart ); - BytesTransferred.QuadPart = 0; - - if ( (DWORD)-1 != FileSize.LowPart || ERROR_SUCCESS == GetLastError() ) - hTargetFile = CreateFileA( - lpNewFileNameA, - GENERIC_WRITE, - 0, - NULL, - (DWORD) ((dwCopyFlags & COPY_FILE_FAIL_IF_EXISTS) ? CREATE_NEW : CREATE_ALWAYS), - 0, - NULL - ); - - if ( IsValidHandle(hTargetFile) ) - { - DWORD dwProgressResult = PROGRESS_CONTINUE; - - fSuccess = SetEndOfFile( hTargetFile ); - - if ( fSuccess ) - { - if ( !lpProgressRoutine ) - lpProgressRoutine = DefCopyProgressRoutine; - - dwProgressResult = lpProgressRoutine( - FileSize, - BytesTransferred, - FileSize, - BytesTransferred, - 1, - CALLBACK_STREAM_SWITCH, - hSourceFile, - hTargetFile, - lpData - ); - - // Suppress further notifications - - if ( PROGRESS_QUIET == dwProgressResult ) - { - lpProgressRoutine = DefCopyProgressRoutine; - dwProgressResult = PROGRESS_CONTINUE; - } - } - - while ( fSuccess && PROGRESS_CONTINUE == dwProgressResult ) - { - BYTE buffer[BUFSIZE]; - DWORD dwBytesRead, dwBytesWritten = 0; - - fSuccess = ReadFile( hSourceFile, buffer, BUFSIZE, &dwBytesRead, NULL ); - - if ( !dwBytesRead ) break; - - if ( fSuccess ) - fSuccess = WriteFile( hTargetFile, buffer, dwBytesRead, &dwBytesWritten, NULL ); - - if ( fSuccess ) - { - BytesTransferred.QuadPart += (LONGLONG)dwBytesWritten; - - if ( pbCancel && *pbCancel ) - dwProgressResult = PROGRESS_CANCEL; - else - dwProgressResult = lpProgressRoutine( - FileSize, - BytesTransferred, - FileSize, - BytesTransferred, - 1, - CALLBACK_CHUNK_FINISHED, - hSourceFile, - hTargetFile, - lpData - ); - - } - - } - - CloseHandle( hTargetFile ); - - if ( PROGRESS_CANCEL == dwProgressResult ) - DeleteFileA( lpNewFileNameA ); - } - - - CloseHandle( hSourceFile ); - } - - return fSuccess; -} -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/CopyFileExW.cpp b/sal/systools/win32/uwinapi/CopyFileExW.cpp deleted file mode 100644 index 9ba56f6ba..000000000 --- a/sal/systools/win32/uwinapi/CopyFileExW.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#if defined(_MSC_VER) && (_MSC_VER >= 1400) -#pragma warning(disable:4740) -#endif - -#define _WIN32_WINNT 0x0400 -#include "macros.h" - -IMPLEMENT_THUNK( kernel32, WINDOWS, BOOL, WINAPI, CopyFileExW, ( LPCWSTR lpExistingFileNameW, LPCWSTR lpNewFileNameW, LPPROGRESS_ROUTINE lpProgressRoutine, LPVOID lpData, LPBOOL pbCancel, DWORD dwCopyFlags ) ) -{ - AUTO_WSTR2STR( lpExistingFileName ); - AUTO_WSTR2STR( lpNewFileName ); - - return CopyFileExA( lpExistingFileNameA, lpNewFileNameA, lpProgressRoutine, lpData, pbCancel, dwCopyFlags ); -} -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/DeleteVolumeMountPointA.cpp b/sal/systools/win32/uwinapi/DeleteVolumeMountPointA.cpp deleted file mode 100644 index ee81b38b0..000000000 --- a/sal/systools/win32/uwinapi/DeleteVolumeMountPointA.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#if defined(_MSC_VER) && (_MSC_VER >= 1400) -#pragma warning(disable:4740) -#endif - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, DeleteVolumeMountPointA, (LPCSTR lpszVolumeMountPoint) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/DeleteVolumeMountPointW.cpp b/sal/systools/win32/uwinapi/DeleteVolumeMountPointW.cpp deleted file mode 100644 index 739c5f467..000000000 --- a/sal/systools/win32/uwinapi/DeleteVolumeMountPointW.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#if defined(_MSC_VER) && (_MSC_VER >= 1400) -#pragma warning(disable:4740) -#endif - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, DeleteVolumeMountPointW, (LPCWSTR lpszVolumeMountPoint) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/DllGetVersion.cpp b/sal/systools/win32/uwinapi/DllGetVersion.cpp deleted file mode 100644 index 7f3e4f1d0..000000000 --- a/sal/systools/win32/uwinapi/DllGetVersion.cpp +++ /dev/null @@ -1,76 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define WIN32_LEAN_AND_MEAN -#ifdef _MSC_VER -#pragma warning(push,1) -#endif -#include <windows.h> -#include <shlwapi.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif -#include <malloc.h> - -extern HMODULE UWINAPI_BaseAddress; - -// This function should be exported by every DLL that wants to provide it's version number. -// This code automaticly generates the information from the version resource - -extern "C" HRESULT CALLBACK DllGetVersion( DLLVERSIONINFO *pdvi ) -{ - TCHAR szModulePath[MAX_PATH]; - BOOL fSuccess = FALSE; - - if ( UWINAPI_BaseAddress && GetModuleFileName( UWINAPI_BaseAddress, szModulePath, MAX_PATH ) ) - { - DWORD dwHandle = 0; - DWORD dwSize = GetFileVersionInfoSize( szModulePath, &dwHandle ); - LPVOID lpData = _alloca( dwSize ); - - if ( GetFileVersionInfo( szModulePath, dwHandle, dwSize, lpData ) ) - { - VS_FIXEDFILEINFO *lpBuffer = NULL; - UINT uLen = 0; - - if ( VerQueryValue( lpData, TEXT("\\"), (LPVOID *)&lpBuffer, &uLen ) ) - { - pdvi->dwMajorVersion = HIWORD( lpBuffer->dwFileVersionMS ); - pdvi->dwMinorVersion = LOWORD( lpBuffer->dwFileVersionMS ); - pdvi->dwBuildNumber = HIWORD( lpBuffer->dwFileVersionLS ); - pdvi->dwPlatformID = (DWORD) ((lpBuffer->dwFileOS & VOS_NT) ? DLLVER_PLATFORM_NT : DLLVER_PLATFORM_WINDOWS); - - fSuccess = TRUE; - } - } - } - - return fSuccess ? HRESULT_FROM_WIN32( GetLastError() ) : HRESULT_FROM_WIN32( NO_ERROR ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/DllMain.cpp b/sal/systools/win32/uwinapi/DllMain.cpp deleted file mode 100644 index 25be14ec0..000000000 --- a/sal/systools/win32/uwinapi/DllMain.cpp +++ /dev/null @@ -1,238 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define WIN32_LEAN_AND_MEAN -#ifdef _MSC_VER -#pragma warning(push,1) // disable warnings within system headers -#endif -#include <windows.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif -#include <malloc.h> -#define _MBCS -#include <tchar.h> - - -HMODULE UWINAPI_BaseAddress = NULL; -const CHAR szUnicowsModuleName[] = "UNICOWS.DLL"; - -static HMODULE WINAPI _LoadUnicowsLibrary(VOID) -{ - CHAR szModulePath[MAX_PATH]; - HMODULE hModuleUnicows = NULL; - - // First search in the same directory as UWINAPI.DLL was loaded from. This is because - // UWINAPI.DLL not always resides in the same directory as the actual application. - - if ( UWINAPI_BaseAddress && GetModuleFileNameA( UWINAPI_BaseAddress, szModulePath, MAX_PATH ) ) - { - char *lpLastBkSlash = _tcsrchr( szModulePath, '\\' ); - - if ( lpLastBkSlash ) - { - size_t nParentDirSize = (size_t) (_tcsinc( lpLastBkSlash ) - szModulePath); - LPSTR lpUnicowsModulePath = (LPTSTR)_alloca( nParentDirSize + sizeof(szUnicowsModuleName) ); - - if ( lpUnicowsModulePath ) - { - _tcsncpy( lpUnicowsModulePath, szModulePath, nParentDirSize ); - _tcscpy( lpUnicowsModulePath + nParentDirSize, szUnicowsModuleName ); - - hModuleUnicows = LoadLibraryA( lpUnicowsModulePath ); - } - } - } - - // Search at the common places - - if ( !hModuleUnicows ) - hModuleUnicows = LoadLibraryA(szUnicowsModuleName); - - return hModuleUnicows; -} - -static HMODULE WINAPI LoadUnicowsLibrary(VOID) -{ - HMODULE hModuleUnicows; - int idMsg = IDOK; - - do - { - hModuleUnicows = _LoadUnicowsLibrary(); - - if ( !hModuleUnicows ) - { - LPVOID lpMsgBuf; - - FormatMessageA( - FORMAT_MESSAGE_ALLOCATE_BUFFER | - FORMAT_MESSAGE_FROM_SYSTEM | - FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, - ERROR_DLL_NOT_FOUND /* GetLastError() */, - MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language - (LPSTR)&lpMsgBuf, - 0, - NULL - ); - // Process any inserts in lpMsgBuf. - CHAR szModuleFileName[MAX_PATH]; - - GetModuleFileNameA( NULL, szModuleFileName, sizeof(szModuleFileName) ); - LPSTR lpMessage = (LPSTR)_alloca( strlen( (LPCSTR)lpMsgBuf ) + sizeof(szUnicowsModuleName) + 1 ); - strcpy( lpMessage, (LPCSTR)lpMsgBuf ); - strcat( lpMessage, "\n" ); - strcat( lpMessage, szUnicowsModuleName ); - // Free the buffer. - LocalFree( lpMsgBuf ); - // Display the string. - idMsg = MessageBoxA( NULL, lpMessage, - szModuleFileName, MB_ABORTRETRYIGNORE | MB_ICONERROR | MB_TASKMODAL ); - - if ( IDABORT == idMsg ) - TerminateProcess( GetCurrentProcess(), 255 ); - } - } while ( !hModuleUnicows && IDRETRY == idMsg ); - - return hModuleUnicows; -} - -extern "C" { -FARPROC _PfnLoadUnicows = (FARPROC)LoadUnicowsLibrary; -} - -#ifdef __MINGW32__ - -extern "C" { - -typedef void (*func_ptr) (void); -extern func_ptr __CTOR_LIST__[]; -extern func_ptr __DTOR_LIST__[]; - -static void do_startup(void); -static void do_cleanup(void); - -HMODULE hModuleUnicowsDLL; - -void -__do_global_dtors (void) -{ - static func_ptr *p = __DTOR_LIST__ + 1; - - /* - * Call each destructor in the destructor list until a null pointer - * is encountered. - */ - while (*p) - { - (*(p)) (); - p++; - } -} - -void -__do_global_ctors (void) -{ - unsigned long nptrs = (unsigned long) __CTOR_LIST__[0]; - unsigned i; - - /* - * If the first entry in the constructor list is -1 then the list - * is terminated with a null entry. Otherwise the first entry was - * the number of pointers in the list. - */ - if (nptrs == static_cast<unsigned long>(-1)) - { - for (nptrs = 0; __CTOR_LIST__[nptrs + 1] != 0; nptrs++) - ; - } - - /* - * Go through the list backwards calling constructors. - */ - for (i = nptrs; i >= 1; i--) - { - __CTOR_LIST__[i] (); - } - - /* - * Register the destructors for processing on exit. - */ - atexit (__do_global_dtors); -} - -static int initialized = 0; - -void -__main (void) -{ - if (!initialized) - { - initialized = 1; - do_startup(); - __do_global_ctors (); - } -} - -static void do_startup( void ) -{ - if (((LONG)GetVersion()&0x800000ff) == 0x80000004) - { - hModuleUnicowsDLL = LoadUnicowsLibrary(); - if (hModuleUnicowsDLL) - atexit(do_cleanup); - } -} - -void do_cleanup( void ) -{ - FreeLibrary(hModuleUnicowsDLL); -} -} - -#endif - -extern "C" BOOL WINAPI DllMain( HMODULE hModule, DWORD dwReason, LPVOID ) -{ - switch ( dwReason ) - { - case DLL_PROCESS_ATTACH: - UWINAPI_BaseAddress = hModule; -#ifdef __MINGW32__ - return TRUE; -#else - return DisableThreadLibraryCalls( hModule ); -#endif - default: - return TRUE; - } - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/DrawStateW.cpp b/sal/systools/win32/uwinapi/DrawStateW.cpp deleted file mode 100644 index 89003c437..000000000 --- a/sal/systools/win32/uwinapi/DrawStateW.cpp +++ /dev/null @@ -1,77 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -IMPLEMENT_THUNK( user32, WINDOWS, BOOL, WINAPI, DrawStateW, -( - HDC hdc, // handle to device context - HBRUSH hbr, // handle to brush - DRAWSTATEPROC lpOutputFunc, // pointer to callback function - LPARAM lData, // image information - WPARAM wData, // more image information - int x, // horizontal location of image - int y, // vertical location of image - int cx, // width of image - int cy, // height of image - UINT fuFlags // image type and state - -)) -{ - switch ( fuFlags & 0x000F ) - { - case DST_TEXT: - case DST_PREFIXTEXT: - { - LPSTR lpTextA = NULL; - - if ( lData ) - { - int cchWideChar = (int) (wData ? wData : -1); - int cchNeeded = WideCharToMultiByte( CP_ACP, 0, (LPCWSTR)lData, cchWideChar, NULL, 0, NULL, NULL ); - - lpTextA = (LPSTR)_alloca( cchNeeded * sizeof(CHAR) ); - - if ( !lpTextA ) - { - SetLastError( ERROR_OUTOFMEMORY ); - return FALSE; - } - - WideCharToMultiByte( CP_ACP, 0, (LPCWSTR)lData, cchWideChar, lpTextA, cchNeeded, NULL, NULL ); - - } - - return DrawStateA( hdc, hbr, lpOutputFunc, (LPARAM)lpTextA, wData, x, y, cx, cy, fuFlags ); - } - default: - return DrawStateA( hdc, hbr, lpOutputFunc, lData, wData, x, y, cx, cy, fuFlags ); - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/EnumProcesses.cpp b/sal/systools/win32/uwinapi/EnumProcesses.cpp deleted file mode 100644 index a8b5fabef..000000000 --- a/sal/systools/win32/uwinapi/EnumProcesses.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#include "macros.h" -#include <tlhelp32.h> - -IMPLEMENT_THUNK( psapi, WINDOWS, BOOL, WINAPI, EnumProcesses, ( LPDWORD lpProcesses, DWORD cbSize, LPDWORD lpcbCopied ) ) -{ - BOOL fSuccess = FALSE; - HANDLE hSnapshot = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 ); - - if ( IsValidHandle( hSnapshot ) ) - { - PROCESSENTRY32 pe; - - if ( lpcbCopied ) - *lpcbCopied = 0; - - pe.dwSize = sizeof(pe); - if ( Process32First( hSnapshot, &pe ) ) - { - fSuccess = TRUE; - - while ( cbSize >= sizeof(*lpProcesses) ) - { - *(lpProcesses++) = pe.th32ProcessID; - if ( lpcbCopied ) - *lpcbCopied += sizeof(*lpProcesses); - cbSize -= sizeof(*lpProcesses); - - if ( !Process32Next( hSnapshot, &pe ) ) - break; - } - } - - CloseHandle( hSnapshot ); - } - else - SetLastError( ERROR_INVALID_HANDLE ); - - return fSuccess; -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/FindFirstVolumeA.cpp b/sal/systools/win32/uwinapi/FindFirstVolumeA.cpp deleted file mode 100644 index ec4d868f6..000000000 --- a/sal/systools/win32/uwinapi/FindFirstVolumeA.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, HANDLE, WINAPI, FindFirstVolumeA, (LPSTR lpszVolumeName, DWORD cchBufferLength) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/FindFirstVolumeMountPointA.cpp b/sal/systools/win32/uwinapi/FindFirstVolumeMountPointA.cpp deleted file mode 100644 index f9dc34131..000000000 --- a/sal/systools/win32/uwinapi/FindFirstVolumeMountPointA.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#include "macros.h" -#ifdef __MINGW32__ -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, HANDLE, WINAPI, FindFirstVolumeMountPointA, (LPSTR lpszRootPathName, LPSTR lpszVolumeMountPoint, DWORD cchBufferLength) ) -#else -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, HANDLE, WINAPI, FindFirstVolumeMountPointA, (LPCSTR lpszRootPathName, LPSTR lpszVolumeMountPoint, DWORD cchBufferLength) ) -#endif -/* -extern "C" _declspec( dllexport ) FARPROC kernel32_FindFirstVolumeMountPointA_Ptr; -static HANDLE __stdcall FindFirstVolumeMountPointA_Failure (LPSTR lpszRootPathName, LPSTR lpszVolumeMountPoint, DWORD cchBufferLength); -static _declspec ( naked ) void FindFirstVolumeMountPointA_Thunk() -{ - ResolveThunk_TRYLOAD( &kernel32_FindFirstVolumeMountPointA_Ptr, "kernel32" ".dll", "FindFirstVolumeMountPointA", 0, (FARPROC)FindFirstVolumeMountPointA_Failure ); - _asm jmp [kernel32_FindFirstVolumeMountPointA_Ptr] } - -//extern "C" _declspec( naked ) HANDLE __stdcall -//extern "C" HANDLE WINAPI -extern "C" _declspec( naked ) HANDLE __stdcall FindFirstVolumeMountPointA (LPCSTR lpszRootPathName, LPSTR lpszVolumeMountPoint, DWORD cchBufferLength) -{ - _asm jmp [kernel32_FindFirstVolumeMountPointA_Ptr] -} - -extern "C" _declspec( dllexport ) FARPROC kernel32_FindFirstVolumeMountPointA_Ptr = (FARPROC)FindFirstVolumeMountPointA_Thunk; -static HANDLE __stdcall FindFirstVolumeMountPointA_Failure (LPSTR lpszRootPathName, LPSTR lpszVolumeMountPoint, DWORD cchBufferLength) -{ SetLastError( 120L ); return (HANDLE)0; } -*/ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/FindFirstVolumeMountPointW.cpp b/sal/systools/win32/uwinapi/FindFirstVolumeMountPointW.cpp deleted file mode 100644 index 5ac996cc1..000000000 --- a/sal/systools/win32/uwinapi/FindFirstVolumeMountPointW.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#include "macros.h" -#ifdef __MINGW32__ -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, HANDLE, WINAPI, FindFirstVolumeMountPointW, (LPWSTR lpszRootPathName, LPWSTR lpszVolumeMountPoint, DWORD cchBufferLength) ) -#else -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, HANDLE, WINAPI, FindFirstVolumeMountPointW, (LPCWSTR lpszRootPathName, LPWSTR lpszVolumeMountPoint, DWORD cchBufferLength) ) -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/FindFirstVolumeW.cpp b/sal/systools/win32/uwinapi/FindFirstVolumeW.cpp deleted file mode 100644 index 627e15c3b..000000000 --- a/sal/systools/win32/uwinapi/FindFirstVolumeW.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, HANDLE, WINAPI, FindFirstVolumeW, (LPWSTR lpszVolumeName, DWORD cchBufferLength) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/FindNextVolumeA.cpp b/sal/systools/win32/uwinapi/FindNextVolumeA.cpp deleted file mode 100644 index 22768460d..000000000 --- a/sal/systools/win32/uwinapi/FindNextVolumeA.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, FindNextVolumeA, (HANDLE hFindVolume, LPSTR lpszVolumeName, DWORD cchBufferLength) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/FindNextVolumeMountPointA.cpp b/sal/systools/win32/uwinapi/FindNextVolumeMountPointA.cpp deleted file mode 100644 index dad9cc598..000000000 --- a/sal/systools/win32/uwinapi/FindNextVolumeMountPointA.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, FindNextVolumeMountPointA, (HANDLE hFindVolumeMountPoint, LPSTR lpszVolumeMountPoint, DWORD cchBufferLength) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/FindNextVolumeMountPointW.cpp b/sal/systools/win32/uwinapi/FindNextVolumeMountPointW.cpp deleted file mode 100644 index 5e15a9f2e..000000000 --- a/sal/systools/win32/uwinapi/FindNextVolumeMountPointW.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, FindNextVolumeMountPointW, (HANDLE hFindVolumeMountPoint, LPWSTR lpszVolumeMountPoint, DWORD cchBufferLength) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/FindNextVolumeW.cpp b/sal/systools/win32/uwinapi/FindNextVolumeW.cpp deleted file mode 100644 index e7b092f27..000000000 --- a/sal/systools/win32/uwinapi/FindNextVolumeW.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, FindNextVolumeW, (HANDLE hFindVolume, LPWSTR lpszVolumeName, DWORD cchBufferLength) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/FindVolumeClose.cpp b/sal/systools/win32/uwinapi/FindVolumeClose.cpp deleted file mode 100644 index fe028b306..000000000 --- a/sal/systools/win32/uwinapi/FindVolumeClose.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, FindVolumeClose, (HANDLE hFindVolume) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/FindVolumeMountPointClose.cpp b/sal/systools/win32/uwinapi/FindVolumeMountPointClose.cpp deleted file mode 100644 index 59a4fb203..000000000 --- a/sal/systools/win32/uwinapi/FindVolumeMountPointClose.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, FindVolumeMountPointClose, (HANDLE hFindVolumeMountPoint ) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetDiskFreeSpaceExA.cpp b/sal/systools/win32/uwinapi/GetDiskFreeSpaceExA.cpp deleted file mode 100644 index 27dee507d..000000000 --- a/sal/systools/win32/uwinapi/GetDiskFreeSpaceExA.cpp +++ /dev/null @@ -1,61 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -// GetDiskSpaceExA wrapper for Win 95A - -IMPLEMENT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, GetDiskFreeSpaceExA,( - LPCSTR lpRootPathName, // directory name - PULARGE_INTEGER lpFreeBytesAvailable, // bytes available to caller - PULARGE_INTEGER lpTotalNumberOfBytes, // bytes on disk - PULARGE_INTEGER lpTotalNumberOfFreeBytes // free bytes on disk -)) -{ - DWORD dwSectorsPerCluster, dwBytesPerSector, dwNumberOfFreeClusters, dwTotalNumberOfClusters; - - BOOL fSuccess = GetDiskFreeSpaceA( lpRootPathName, &dwSectorsPerCluster, &dwBytesPerSector, &dwNumberOfFreeClusters, &dwTotalNumberOfClusters ); - - if ( fSuccess ) - { - ULONGLONG ulBytesPerCluster = (ULONGLONG)dwSectorsPerCluster * (ULONGLONG)dwBytesPerSector; - - if ( lpFreeBytesAvailable ) - lpFreeBytesAvailable->QuadPart = ulBytesPerCluster * (ULONGLONG)dwNumberOfFreeClusters; - - if ( lpTotalNumberOfBytes ) - lpTotalNumberOfBytes->QuadPart = ulBytesPerCluster * (ULONGLONG)dwTotalNumberOfClusters; - - if ( lpTotalNumberOfFreeBytes ) - lpTotalNumberOfFreeBytes->QuadPart = ulBytesPerCluster * (ULONGLONG)dwNumberOfFreeClusters; - } - - return fSuccess; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetDiskFreeSpaceExW.cpp b/sal/systools/win32/uwinapi/GetDiskFreeSpaceExW.cpp deleted file mode 100644 index fd30de27c..000000000 --- a/sal/systools/win32/uwinapi/GetDiskFreeSpaceExW.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -IMPLEMENT_THUNK( kernel32, WINDOWS, BOOL, WINAPI, GetDiskFreeSpaceExW,( - LPCWSTR lpRootPathNameW, // directory name - PULARGE_INTEGER lpFreeBytesAvailable, // bytes available to caller - PULARGE_INTEGER lpTotalNumberOfBytes, // bytes on disk - PULARGE_INTEGER lpTotalNumberOfFreeBytes // free bytes on disk -)) -{ - AUTO_WSTR2STR( lpRootPathName ); - - return GetDiskFreeSpaceExA( lpRootPathNameA, lpFreeBytesAvailable, lpTotalNumberOfBytes, lpTotalNumberOfFreeBytes ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetLogicalDriveStringsW.cpp b/sal/systools/win32/uwinapi/GetLogicalDriveStringsW.cpp deleted file mode 100644 index 0b14490c5..000000000 --- a/sal/systools/win32/uwinapi/GetLogicalDriveStringsW.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -IMPLEMENT_THUNK( kernel32, WINDOWS, DWORD, WINAPI, GetLogicalDriveStringsW, ( DWORD cchBuffer, LPWSTR lpBufferW ) ) -{ - AUTO_STR( lpBuffer, cchBuffer ); - - DWORD dwResult = GetLogicalDriveStringsA( cchBuffer, lpBufferA ); - - - if ( dwResult && dwResult < cchBuffer ) - STRBUF2WSTR( lpBuffer, (int) (dwResult + 1), (int) cchBuffer ); - - return dwResult; -} -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetLongPathName.cpp b/sal/systools/win32/uwinapi/GetLongPathName.cpp deleted file mode 100644 index 77df88a55..000000000 --- a/sal/systools/win32/uwinapi/GetLongPathName.cpp +++ /dev/null @@ -1,115 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -{ - DWORD dwResult = 0; // Assume failure - - if ( IsBadStringPtr( lpShortPath, MAX_PATH ) ) - { - SetLastError( ERROR_INVALID_PARAMETER ); - return dwResult; - } - - // Assume a not existing buffer means a bufsize of zero - if ( !lpLongPath ) - cchBuffer = 0; - - if ( _tcslen( lpShortPath ) == 2 && lpShortPath[1] == ':' ) - { - _tcscpy( lpLongPath, lpShortPath ); - dwResult = _tcslen( lpLongPath ); - } - else - { - HANDLE hFind; - WIN32_FIND_DATA aFindFileData; - - if ( lpShortPath[_tcslen(lpShortPath)-1] == '\\' ) - { - TCHAR szFilePath[MAX_PATH]; - - _tcscpy( szFilePath, lpShortPath ); - _tcscat( szFilePath, TEXT("*.*") ); - hFind = FindFirstFile( szFilePath, &aFindFileData );; - aFindFileData.cFileName[0] = 0; - } - else - { - hFind = FindFirstFile( lpShortPath, &aFindFileData ); - if ( !IsValidHandle( hFind ) ) - { - TCHAR szFilePath[MAX_PATH]; - - _tcscpy( szFilePath, lpShortPath ); - _tcscat( szFilePath, TEXT("\\*.*") ); - hFind = FindFirstFile( szFilePath, &aFindFileData );; - aFindFileData.cFileName[0] = 0; - } - } - - if ( IsValidHandle( hFind ) ) - { - FindClose( hFind ); - - LPCTSTR lpLastSlash = _tcsrchr( lpShortPath, '\\' ); - - if ( lpLastSlash ) - { - int nParentLen = lpLastSlash - lpShortPath; - LPTSTR lpParentPath = (LPTSTR)_alloca( (nParentLen + 1) * sizeof(TCHAR) ); - - CopyMemory( lpParentPath, lpShortPath, nParentLen * sizeof(TCHAR) ); - lpParentPath[nParentLen] = 0; - - dwResult = GetLongPathName( lpParentPath, lpLongPath, cchBuffer ); - - if ( !dwResult ) - _tcscpy( lpLongPath, lpParentPath ); - } - else - { - _tcscpy( lpLongPath, lpShortPath ); - dwResult = _tcslen( lpLongPath ); - } - - if ( dwResult < cchBuffer ) - { - _tcscat( lpLongPath, TEXT("\\") ); - _tcscat( lpLongPath, aFindFileData.cFileName ); - dwResult = _tcslen( lpLongPath ); - } - else - dwResult += _tcslen( aFindFileData.cFileName ) + 1; - } - } - - return dwResult; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetLongPathNameA.cpp b/sal/systools/win32/uwinapi/GetLongPathNameA.cpp deleted file mode 100644 index 259b33117..000000000 --- a/sal/systools/win32/uwinapi/GetLongPathNameA.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -IMPLEMENT_THUNK( kernel32, WINDOWS, DWORD, WINAPI, GetLongPathNameA, ( LPCTSTR lpShortPath, LPTSTR lpLongPath, DWORD cchBuffer ) ) -#include "GetLongPathName.cpp" -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetLongPathNameW.cpp b/sal/systools/win32/uwinapi/GetLongPathNameW.cpp deleted file mode 100644 index 9a473937a..000000000 --- a/sal/systools/win32/uwinapi/GetLongPathNameW.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define UNICODE -#include "macros.h" - -EXTERN_C DWORD WINAPI GetLongPathNameW_NT( LPCWSTR lpShortPath, LPWSTR lpLongPath, DWORD cchBuffer ) -#include "GetLongPathName.cpp" - -EXTERN_C DWORD WINAPI GetLongPathNameW_WINDOWS( LPCWSTR lpShortPathW, LPWSTR lpLongPathW, DWORD cchBuffer ) -{ - AUTO_WSTR2STR( lpShortPath ); - AUTO_STR( lpLongPath, cchBuffer ); - - DWORD dwResult = GetLongPathNameA( lpShortPathA, lpLongPathA, cchBuffer ); - - if ( dwResult && dwResult < cchBuffer ) - STR2WSTR( lpLongPath, cchBuffer ); - - return dwResult; -} - - -EXTERN_C void WINAPI ResolveThunk_GetLongPathNameW( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName ) -{ - if ( (LONG)GetVersion() < 0 ) - *lppfn = (FARPROC)GetLongPathNameW_WINDOWS; - else - { - FARPROC lpfnResult = GetProcAddress( LoadLibraryA( lpLibFileName ), lpFuncName ); - if ( !lpfnResult ) - lpfnResult = (FARPROC)GetLongPathNameW_NT; - - *lppfn = lpfnResult; - } -} - - -DEFINE_CUSTOM_THUNK( kernel32, GetLongPathNameW, DWORD, WINAPI, GetLongPathNameW, ( LPCWSTR lpShortPathW, LPWSTR lpLongPathW, DWORD cchBuffer ) ); - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetModuleFileNameExA.cpp b/sal/systools/win32/uwinapi/GetModuleFileNameExA.cpp deleted file mode 100644 index b765be70e..000000000 --- a/sal/systools/win32/uwinapi/GetModuleFileNameExA.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#include "macros.h" -#ifdef _MSC_VER -#pragma warning(push,1) // disable warnings within system headers -#endif -#include <psapi.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif -#include <tlhelp32.h> - -IMPLEMENT_THUNK( psapi, WINDOWS, DWORD, WINAPI, GetModuleFileNameExA, (HANDLE hProcess, HMODULE hModule, LPSTR lpFileName, DWORD nSize ) ) -{ - DWORD dwProcessId = 0; - DWORD dwResult = 0; - - if ( !hProcess || hProcess == GetCurrentProcess() || GetCurrentProcessId() == (dwProcessId = GetProcessId( hProcess )) ) - return GetModuleFileNameA( hModule, lpFileName, nSize ); - - HANDLE hSnapshot = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, dwProcessId ); - - if ( IsValidHandle( hSnapshot ) ) - { - MODULEENTRY32 me; - - me.dwSize = sizeof(me); - if ( Module32First( hSnapshot, &me ) ) - { - BOOL fFound = FALSE; - - if ( NULL == hModule ) - fFound = TRUE; - else do - { - fFound = (me.hModule == hModule); - } while ( !fFound && Module32Next( hSnapshot, &me ) ); - - if ( fFound ) - { - dwResult = _tcslen( me.szExePath ); - - if ( dwResult > nSize && nSize > 0 ) - lpFileName[nSize -1] = 0; - - _tcsncpy( lpFileName, me.szExePath, nSize ); - } - } - - CloseHandle( hSnapshot ); - } - - return dwResult; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetModuleFileNameExW.cpp b/sal/systools/win32/uwinapi/GetModuleFileNameExW.cpp deleted file mode 100644 index 2c476731c..000000000 --- a/sal/systools/win32/uwinapi/GetModuleFileNameExW.cpp +++ /dev/null @@ -1,20 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#include "macros.h" -#ifdef _MSC_VER -#pragma warning(push,1) // disable warnings within system headers -#endif -#include <psapi.h> -#ifdef _MSC_VER -#pragma warning(pop) -#endif - -IMPLEMENT_THUNK( psapi, WINDOWS, DWORD, WINAPI, GetModuleFileNameExW, (HANDLE hProcess, HMODULE hModule, LPWSTR lpFileNameW, DWORD nSize ) ) -{ - AUTO_STR( lpFileName, 2 * nSize ); - - if ( GetModuleFileNameExA( hProcess, hModule, lpFileNameA, 2 * nSize ) ) - return (DWORD) STR2WSTR( lpFileName, nSize ); - else - return 0; -} -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetProcessId.cpp b/sal/systools/win32/uwinapi/GetProcessId.cpp deleted file mode 100644 index c0fdd07c0..000000000 --- a/sal/systools/win32/uwinapi/GetProcessId.cpp +++ /dev/null @@ -1,167 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" -#include "win95sys.h" -#include <tlhelp32.h> -static FARPROC WINAPI GetRealProcAddress( HMODULE hModule, LPCSTR lpProcName ) -{ - FARPROC lpfn = GetProcAddress( hModule, lpProcName ); - - if ( lpfn ) - { - if ( 0x68 == *(LPBYTE)lpfn ) - { - /* - 82C9F460 68 36 49 F8 BF push 0BFF84936h - 82C9F465 E9 41 62 2F 3D jmp BFF956AB - */ - - lpfn = (FARPROC)*(LPDWORD)((LPBYTE)lpfn + 1); - - /* - BFF956AB 9C pushfd - BFF956AC FC cld - BFF956AD 50 push eax - BFF956AE 53 push ebx - BFF956AF 52 push edx - BFF956B0 64 8B 15 20 00 00 00 mov edx,dword ptr fs:[20h] - BFF956B7 0B D2 or edx,edx - BFF956B9 74 09 je BFF956C4 - BFF956BB 8B 42 04 mov eax,dword ptr [edx+4] - BFF956BE 0B C0 or eax,eax - BFF956C0 74 07 je BFF956C9 - BFF956C2 EB 42 jmp BFF95706 - BFF956C4 5A pop edx - BFF956C5 5B pop ebx - BFF956C6 58 pop eax - BFF956C7 9D popfd - BFF956C8 C3 ret - */ - } - } - - return lpfn; -} - - -typedef DWORD (WINAPI OBFUSCATE)( DWORD dwPTID ); -typedef OBFUSCATE *LPOBFUSCATE; - -static DWORD WINAPI Obfuscate( DWORD dwPTID ) -{ - static LPOBFUSCATE lpfnObfuscate = NULL; - - if ( !lpfnObfuscate ) - { - LPBYTE lpCode = (LPBYTE)GetRealProcAddress( GetModuleHandleA("KERNEL32"), "GetCurrentThreadId" ); - - if ( lpCode ) - { - /* - GetCurrentThreadId: - lpCode + 00 BFF84936 A1 DC 9C FC BF mov eax,[BFFC9CDC] ; This is the real thread id - lpcode + 05 BFF8493B FF 30 push dword ptr [eax] - lpCode + 07 BFF8493D E8 17 C5 FF FF call BFF80E59 ; call Obfuscate function - lpcode + 0C BFF84942 C3 ret - */ - - DWORD dwOffset = *(LPDWORD)(lpCode + 0x08); - - lpfnObfuscate = (LPOBFUSCATE)(lpCode + 0x0C + dwOffset); - /* - Obfuscate: - BFF80E59 A1 CC 98 FC BF mov eax,[BFFC98CC] - BFF80E5E 85 C0 test eax,eax - BFF80E60 75 04 jne BFF80E66 - BFF80E62 33 C0 xor eax,eax - BFF80E64 EB 04 jmp BFF80E6A - BFF80E66 33 44 24 04 xor eax,dword ptr [esp+4] - BFF80E6A C2 04 00 ret 4 - */ - } - - } - - return lpfnObfuscate ? lpfnObfuscate( dwPTID ) : 0; -} - - -EXTERN_C DWORD WINAPI GetProcessId_WINDOWS( HANDLE hProcess ) -{ - if ( GetCurrentProcess() == hProcess ) - return GetCurrentProcessId(); - - DWORD dwProcessId = 0; - PPROCESS_DATABASE pPDB = (PPROCESS_DATABASE)Obfuscate( GetCurrentProcessId() ); - - if ( pPDB && K32OBJ_PROCESS == pPDB->Type ) - { - DWORD dwHandleNumber = (DWORD)hProcess >> 2; - - if ( 0 == ((DWORD)hProcess & 0x03) && dwHandleNumber < pPDB->pHandleTable->cEntries ) - { - if ( - pPDB->pHandleTable->array[dwHandleNumber].pObject && - K32OBJ_PROCESS == pPDB->pHandleTable->array[dwHandleNumber].pObject->Type - ) - dwProcessId = Obfuscate( (DWORD)pPDB->pHandleTable->array[dwHandleNumber].pObject ); - } - - SetLastError( ERROR_INVALID_HANDLE ); - } - - return dwProcessId; -} - - -EXTERN_C DWORD WINAPI GetProcessId_NT( HANDLE hProcess ) -{ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); - return 0; -} - - -EXTERN_C void WINAPI ResolveThunk_GetProcessId( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName ) -{ - if ( (LONG)GetVersion() < 0 ) - *lppfn = (FARPROC)GetProcessId_WINDOWS; - else - { - FARPROC lpfnResult = GetProcAddress( LoadLibraryA( lpLibFileName ), lpFuncName ); - if ( !lpfnResult ) - lpfnResult = (FARPROC)GetProcessId_NT; - - *lppfn = lpfnResult; - } -} - - -DEFINE_CUSTOM_THUNK( kernel32, GetProcessId, DWORD, WINAPI, GetProcessId, ( HANDLE hProcess ) ); - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetUserDefaultUILanguage.cpp b/sal/systools/win32/uwinapi/GetUserDefaultUILanguage.cpp deleted file mode 100644 index cf94a77ea..000000000 --- a/sal/systools/win32/uwinapi/GetUserDefaultUILanguage.cpp +++ /dev/null @@ -1,36 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -IMPLEMENT_THUNK( kernel32, WINDOWS, LANGID, WINAPI, GetUserDefaultUILanguage,()) -{ - return LANGIDFROMLCID(GetUserDefaultLCID()); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetUserDomainA.cpp b/sal/systools/win32/uwinapi/GetUserDomainA.cpp deleted file mode 100644 index 92cd9ea96..000000000 --- a/sal/systools/win32/uwinapi/GetUserDomainA.cpp +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - - -#include "macros.h" - -EXTERN_C DWORD WINAPI GetUserDomainA_NT( LPSTR lpBuffer, DWORD nSize ) -#include "GetUserDomain_NT.cpp" - -EXTERN_C DWORD WINAPI GetUserDomainA_WINDOWS( LPSTR lpBuffer, DWORD nSize ) -#include "GetUserDomain_WINDOWS.cpp" - -EXTERN_C void WINAPI ResolveThunk_GetUserDomainA( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName ) -{ - if ( (LONG)GetVersion() < 0 ) - *lppfn = (FARPROC)GetUserDomainA_WINDOWS; - else - *lppfn = (FARPROC)GetUserDomainA_NT; -} - -DEFINE_CUSTOM_THUNK( kernel32, GetUserDomainA, DWORD, WINAPI, GetUserDomainA, ( LPSTR lpBuffer, DWORD nSize ) ); - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetUserDomainW.cpp b/sal/systools/win32/uwinapi/GetUserDomainW.cpp deleted file mode 100644 index 0a34fe35f..000000000 --- a/sal/systools/win32/uwinapi/GetUserDomainW.cpp +++ /dev/null @@ -1,49 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define UNICODE -#include "macros.h" - -EXTERN_C DWORD WINAPI GetUserDomainW_NT( LPWSTR lpBuffer, DWORD nSize ) -#include "GetUserDomain_NT.cpp" - - -EXTERN_C DWORD WINAPI GetUserDomainW_WINDOWS( LPWSTR lpBuffer, DWORD nSize ) -#include "GetUserDomain_WINDOWS.cpp" - -EXTERN_C void WINAPI ResolveThunk_GetUserDomainW( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName ) -{ - if ( (LONG)GetVersion() < 0 ) - *lppfn = (FARPROC)GetUserDomainW_WINDOWS; - else - *lppfn = (FARPROC)GetUserDomainW_NT; -} - -DEFINE_CUSTOM_THUNK( kernel32, GetUserDomainW, DWORD, WINAPI, GetUserDomainW, ( LPWSTR lpBuffer, DWORD cchBuffer ) ); - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetUserDomain_NT.cpp b/sal/systools/win32/uwinapi/GetUserDomain_NT.cpp deleted file mode 100644 index acbb450e3..000000000 --- a/sal/systools/win32/uwinapi/GetUserDomain_NT.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -{ - return GetEnvironmentVariable( TEXT("USERDOMAIN"), lpBuffer, nSize ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetUserDomain_WINDOWS.cpp b/sal/systools/win32/uwinapi/GetUserDomain_WINDOWS.cpp deleted file mode 100644 index 2ed058d33..000000000 --- a/sal/systools/win32/uwinapi/GetUserDomain_WINDOWS.cpp +++ /dev/null @@ -1,82 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -{ - HKEY hkeyLogon; - HKEY hkeyWorkgroup; - DWORD dwResult = 0; - - - if ( ERROR_SUCCESS == RegOpenKeyEx( - HKEY_LOCAL_MACHINE, - TEXT("Network\\Logon"), - 0, KEY_READ, &hkeyLogon ) ) - { - DWORD dwLogon = 0; - DWORD dwLogonSize = sizeof(dwLogon); - RegQueryValueEx( hkeyLogon, TEXT("LMLogon"), 0, NULL, (LPBYTE)&dwLogon, &dwLogonSize ); - RegCloseKey( hkeyLogon ); - - if ( dwLogon ) - { - HKEY hkeyNetworkProvider; - - if ( ERROR_SUCCESS == RegOpenKeyEx( - HKEY_LOCAL_MACHINE, - TEXT("SYSTEM\\CurrentControlSet\\Services\\MSNP32\\NetworkProvider"), - 0, KEY_READ, &hkeyNetworkProvider ) ) - { - DWORD dwBufferSize = nSize; - LONG lResult = RegQueryValueEx( hkeyNetworkProvider, TEXT("AuthenticatingAgent"), 0, NULL, (LPBYTE)lpBuffer, &dwBufferSize ); - - if ( ERROR_SUCCESS == lResult || ERROR_MORE_DATA == lResult ) - dwResult = dwBufferSize / sizeof(TCHAR); - - RegCloseKey( hkeyNetworkProvider ); - } - } - } - else if ( ERROR_SUCCESS == RegOpenKeyEx( - HKEY_LOCAL_MACHINE, - TEXT("SYSTEM\\CurrentControlSet\\Services\\VxD\\VNETSUP"), - 0, KEY_READ, &hkeyWorkgroup ) ) - { - DWORD dwBufferSize = nSize; - LONG lResult = RegQueryValueEx( hkeyWorkgroup, TEXT("Workgroup"), 0, NULL, (LPBYTE)lpBuffer, &dwBufferSize ); - - if ( ERROR_SUCCESS == lResult || ERROR_MORE_DATA == lResult ) - dwResult = dwBufferSize / sizeof(TCHAR); - - RegCloseKey( hkeyWorkgroup ); - } - - - return dwResult; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetVolumeNameForVolumeMountPointA.cpp b/sal/systools/win32/uwinapi/GetVolumeNameForVolumeMountPointA.cpp deleted file mode 100644 index 895d37bfe..000000000 --- a/sal/systools/win32/uwinapi/GetVolumeNameForVolumeMountPointA.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, GetVolumeNameForVolumeMountPointA, (LPCSTR lpszVolumeMountPoint, LPSTR lpszVolumeName, DWORD cchBufferLength) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetVolumeNameForVolumeMountPointW.cpp b/sal/systools/win32/uwinapi/GetVolumeNameForVolumeMountPointW.cpp deleted file mode 100644 index 12195a2db..000000000 --- a/sal/systools/win32/uwinapi/GetVolumeNameForVolumeMountPointW.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, GetVolumeNameForVolumeMountPointW, (LPCWSTR lpszVolumeMountPoint, LPWSTR lpszVolumeName, DWORD cchBufferLength) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetVolumePathNameA.cpp b/sal/systools/win32/uwinapi/GetVolumePathNameA.cpp deleted file mode 100644 index 5b236a90b..000000000 --- a/sal/systools/win32/uwinapi/GetVolumePathNameA.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, GetVolumePathNameA, (LPCSTR lpszFileName, LPSTR lpszVolumePathName, DWORD cchBufferLength) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/GetVolumePathNameW.cpp b/sal/systools/win32/uwinapi/GetVolumePathNameW.cpp deleted file mode 100644 index d333b1dd3..000000000 --- a/sal/systools/win32/uwinapi/GetVolumePathNameW.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, GetVolumePathNameW, (LPCWSTR lpszFileName, LPWSTR lpszVolumePathName, DWORD cchBufferLength) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/MCIWndCreateW.cpp b/sal/systools/win32/uwinapi/MCIWndCreateW.cpp deleted file mode 100644 index c4fede9b4..000000000 --- a/sal/systools/win32/uwinapi/MCIWndCreateW.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" -#include <vfw.h> - -IMPLEMENT_THUNK( kernel32, WINDOWS, HWND, VFWAPIV, MCIWndCreateW, -( - HWND hwndParent, - HINSTANCE hInstance, - DWORD dwStyle, - LPCWSTR lpFileW -)) -{ - AUTO_WSTR2STR( lpFile ); - - return MCIWndCreateA( hwndParent, hInstance, dwStyle, lpFileA ); -} -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/MoveFileExA.cpp b/sal/systools/win32/uwinapi/MoveFileExA.cpp deleted file mode 100644 index 6c47078a4..000000000 --- a/sal/systools/win32/uwinapi/MoveFileExA.cpp +++ /dev/null @@ -1,100 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" -#include <sal/macros.h> - -#define WININIT_FILENAME "wininit.ini" -#define RENAME_SECTION "rename" - -IMPLEMENT_THUNK( kernel32, WINDOWS, BOOL, WINAPI, MoveFileExA, ( LPCSTR lpExistingFileNameA, LPCSTR lpNewFileNameA, DWORD dwFlags ) ) -{ - BOOL fSuccess = FALSE; // assume failure - - // Windows 9x has a special mechanism to move files after reboot - - if ( dwFlags & MOVEFILE_DELAY_UNTIL_REBOOT ) - { - CHAR szExistingFileNameA[MAX_PATH]; - CHAR szNewFileNameA[MAX_PATH] = "NUL"; - - // Path names in WININIT.INI must be in short path name form - - if ( - GetShortPathNameA( lpExistingFileNameA, szExistingFileNameA, MAX_PATH ) && - (!lpNewFileNameA || GetShortPathNameA( lpNewFileNameA, szNewFileNameA, MAX_PATH )) - ) - { - CHAR szBuffer[32767]; // The buffer size must not exceed 32K - DWORD dwBufLen = GetPrivateProfileSectionA( RENAME_SECTION, szBuffer, SAL_N_ELEMENTS(szBuffer), WININIT_FILENAME ); - - CHAR szRename[MAX_PATH]; // This is enough for at most to times 67 chracters - strcpy( szRename, szNewFileNameA ); - strcat( szRename, "=" ); - strcat( szRename, szExistingFileNameA ); - size_t lnRename = strlen(szRename); - - if ( dwBufLen + lnRename + 2 <= SAL_N_ELEMENTS(szBuffer) ) - { - CopyMemory( &szBuffer[dwBufLen], szRename, lnRename ); - szBuffer[dwBufLen + lnRename ] = 0; - szBuffer[dwBufLen + lnRename + 1 ] = 0; - - fSuccess = WritePrivateProfileSectionA( RENAME_SECTION, szBuffer, WININIT_FILENAME ); - } - else - SetLastError( ERROR_BUFFER_OVERFLOW ); - } - } - else - { - - fSuccess = MoveFileA( lpExistingFileNameA, lpNewFileNameA ); - - if ( !fSuccess && 0 != (dwFlags & (MOVEFILE_COPY_ALLOWED | MOVEFILE_REPLACE_EXISTING)) ) - { - BOOL bFailIfExist = 0 == (dwFlags & MOVEFILE_REPLACE_EXISTING); - - fSuccess = CopyFileA( lpExistingFileNameA, lpNewFileNameA, bFailIfExist ); - - // In case of successfull copy do not return FALSE if delete fails. - // Error detection is done by GetLastError() - - if ( fSuccess ) - { - SetLastError( NO_ERROR ); - DeleteFileA( lpExistingFileNameA ); - } - } - - } - - return fSuccess; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/MoveFileExW.cpp b/sal/systools/win32/uwinapi/MoveFileExW.cpp deleted file mode 100644 index edd3c773c..000000000 --- a/sal/systools/win32/uwinapi/MoveFileExW.cpp +++ /dev/null @@ -1,40 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -IMPLEMENT_THUNK( kernel32, WINDOWS, BOOL, WINAPI, MoveFileExW, ( LPCWSTR lpExistingFileNameW, LPCWSTR lpNewFileNameW, DWORD dwFlags ) ) -{ - AUTO_WSTR2STR( lpExistingFileName ); - AUTO_WSTR2STR( lpNewFileName ); - - return MoveFileExA( lpExistingFileNameA, lpNewFileNameA, dwFlags ); -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/PathAddBackslashW.cpp b/sal/systools/win32/uwinapi/PathAddBackslashW.cpp deleted file mode 100644 index 3dac9f6b0..000000000 --- a/sal/systools/win32/uwinapi/PathAddBackslashW.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -#define _SHLWAPI_ -#include <shlwapi.h> - -IMPLEMENT_THUNK( shlwapi, WINDOWS, LPWSTR, WINAPI, PathAddBackslashW, -( - LPWSTR lpPathW -)) -{ - AUTO_WSTR2STR(lpPath); - PathAddBackslashA(lpPathA); - STR2WSTR(lpPath, MAX_PATH); - return lpPathW + wcslen(lpPathW); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/PathCompactPathExW.cpp b/sal/systools/win32/uwinapi/PathCompactPathExW.cpp deleted file mode 100644 index ef3f70c36..000000000 --- a/sal/systools/win32/uwinapi/PathCompactPathExW.cpp +++ /dev/null @@ -1,48 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -#define _SHLWAPI_ -#include <shlwapi.h> - -IMPLEMENT_THUNK( shlwapi, WINDOWS, BOOL, WINAPI, PathCompactPathExW, -( - LPWSTR pszOut, - LPCWSTR lpPathW, - UINT cchMax, - DWORD dwFlags -)) -{ - AUTO_WSTR2STR(lpPath); - char* pOutA = (LPSTR)_alloca( cchMax * sizeof(CHAR) ); - BOOL bret = PathCompactPathExA(pOutA, lpPathA, cchMax, dwFlags); - MultiByteToWideChar(CP_ACP, 0, pOutA, -1, pszOut, (int) cchMax); - return bret; -} -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/PathFileExistsW.cpp b/sal/systools/win32/uwinapi/PathFileExistsW.cpp deleted file mode 100644 index b5a292d21..000000000 --- a/sal/systools/win32/uwinapi/PathFileExistsW.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -#define _SHLWAPI_ -#include <shlwapi.h> - -IMPLEMENT_THUNK( shlwapi, WINDOWS, BOOL, WINAPI, PathFileExistsW, -( - LPCWSTR lpPathW -)) -{ - AUTO_WSTR2STR(lpPath); - return PathFileExistsA(lpPathA); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/PathFindExtensionW.cpp b/sal/systools/win32/uwinapi/PathFindExtensionW.cpp deleted file mode 100644 index 5b40591b9..000000000 --- a/sal/systools/win32/uwinapi/PathFindExtensionW.cpp +++ /dev/null @@ -1,55 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -#define _SHLWAPI_ -#include <shlwapi.h> - -#include <tchar.h> -#include <mbstring.h> - -IMPLEMENT_THUNK( shlwapi, WINDOWS, LPWSTR, WINAPI, PathFindExtensionW, -( - LPCWSTR lpPathW -)) -{ - AUTO_WSTR2STR(lpPath); - char* pExt = PathFindExtensionA(lpPathA); - - if (*pExt) - { - *pExt = '\0'; - LPWSTR pOutW = const_cast<LPWSTR>(lpPathW); - return (pOutW + _mbslen(reinterpret_cast<unsigned char*>(lpPathA))); - } - else - return const_cast<LPWSTR>(lpPathW) + wcslen(lpPathW); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/PathFindFileNameW.cpp b/sal/systools/win32/uwinapi/PathFindFileNameW.cpp deleted file mode 100644 index 975ae1dd3..000000000 --- a/sal/systools/win32/uwinapi/PathFindFileNameW.cpp +++ /dev/null @@ -1,54 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -#define _SHLWAPI_ -#include <shlwapi.h> - -#include <mbstring.h> - -IMPLEMENT_THUNK( shlwapi, WINDOWS, LPWSTR, WINAPI, PathFindFileNameW, -( - LPCWSTR lpPathW -)) -{ - AUTO_WSTR2STR(lpPath); - char* pFname = PathFindFileNameA(lpPathA); - - if (pFname > lpPathA) - { - *pFname = '\0'; - LPWSTR pOutW = const_cast<LPWSTR>(lpPathW); - return (pOutW + _mbslen(reinterpret_cast<unsigned char*>(lpPathA))); - } - else - return const_cast<LPWSTR>(lpPathW); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/PathIsFileSpecW.cpp b/sal/systools/win32/uwinapi/PathIsFileSpecW.cpp deleted file mode 100644 index 5ee3bf9e7..000000000 --- a/sal/systools/win32/uwinapi/PathIsFileSpecW.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -#define _SHLWAPI_ -#include <shlwapi.h> - -IMPLEMENT_THUNK( shlwapi, WINDOWS, BOOL, WINAPI, PathIsFileSpecW, -( - LPCWSTR lpPathW -)) -{ - AUTO_WSTR2STR(lpPath); - return PathIsFileSpecA(lpPathA); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/PathIsUNCW.cpp b/sal/systools/win32/uwinapi/PathIsUNCW.cpp deleted file mode 100644 index 289dbca69..000000000 --- a/sal/systools/win32/uwinapi/PathIsUNCW.cpp +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -#define _SHLWAPI_ -#include <shlwapi.h> - -IMPLEMENT_THUNK( shlwapi, WINDOWS, BOOL, WINAPI, PathIsUNCW, -( - LPCWSTR lpPathW -)) -{ - AUTO_WSTR2STR(lpPath); - return PathIsUNCA(lpPathA); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/PathRemoveExtensionW.cpp b/sal/systools/win32/uwinapi/PathRemoveExtensionW.cpp deleted file mode 100644 index 5222cc713..000000000 --- a/sal/systools/win32/uwinapi/PathRemoveExtensionW.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -#define _SHLWAPI_ -#include <shlwapi.h> - -IMPLEMENT_THUNK( shlwapi, WINDOWS, void, WINAPI, PathRemoveExtensionW, -( - LPWSTR lpPathW -)) -{ - AUTO_WSTR2STR(lpPath); - PathRemoveExtensionA(lpPathA); - STR2WSTR(lpPath, wcslen(lpPathW) + 1); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/PathRemoveFileSpecW.cpp b/sal/systools/win32/uwinapi/PathRemoveFileSpecW.cpp deleted file mode 100644 index e10de8987..000000000 --- a/sal/systools/win32/uwinapi/PathRemoveFileSpecW.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -#define _SHLWAPI_ -#include <shlwapi.h> - -IMPLEMENT_THUNK( shlwapi, WINDOWS, BOOL, WINAPI, PathRemoveFileSpecW, -( - LPWSTR lpPathW -)) -{ - AUTO_WSTR2STR(lpPath); - BOOL bret = PathRemoveFileSpecA(lpPathA); - STR2WSTR(lpPath, wcslen(lpPathW) + 1); - return bret; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/PathSetDlgItemPathW.cpp b/sal/systools/win32/uwinapi/PathSetDlgItemPathW.cpp deleted file mode 100644 index c87aee3c9..000000000 --- a/sal/systools/win32/uwinapi/PathSetDlgItemPathW.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -#define _SHLWAPI_ -#include <shlwapi.h> - -IMPLEMENT_THUNK( shlwapi, WINDOWS, void, WINAPI, PathSetDlgItemPathW, -( - HWND hDlg, - int id, - LPCWSTR lpPathW -)) -{ - AUTO_WSTR2STR(lpPath); - PathSetDlgItemPathA(hDlg, id, lpPathA); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/PathStripToRootW.cpp b/sal/systools/win32/uwinapi/PathStripToRootW.cpp deleted file mode 100644 index e439561ec..000000000 --- a/sal/systools/win32/uwinapi/PathStripToRootW.cpp +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -#define _SHLWAPI_ -#include <shlwapi.h> - -IMPLEMENT_THUNK( shlwapi, WINDOWS, BOOL, WINAPI, PathStripToRootW, -( - LPWSTR lpPathW -)) -{ - AUTO_WSTR2STR(lpPath); - BOOL bret = PathStripToRootA(lpPathA); - STR2WSTR(lpPath, wcslen(lpPathW) + 1); - return bret; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/ResolveThunk.cpp b/sal/systools/win32/uwinapi/ResolveThunk.cpp deleted file mode 100644 index 1c8da78e2..000000000 --- a/sal/systools/win32/uwinapi/ResolveThunk.cpp +++ /dev/null @@ -1,66 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - - -EXTERN_C void WINAPI ResolveThunk_WINDOWS( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName, FARPROC lpfnEmulate, FARPROC lpfnFailure ) -{ - FARPROC lpfnResult = (LONG)GetVersion() < 0 ? lpfnEmulate : GetProcAddress( LoadLibraryA( lpLibFileName ), lpFuncName ); - - if ( !lpfnResult ) - lpfnResult = lpfnEmulate; - - if ( !lpfnResult ) - lpfnResult = lpfnFailure; - - *lppfn = lpfnResult; -} - - -EXTERN_C void WINAPI ResolveThunk_TRYLOAD( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName, FARPROC lpfnEmulate, FARPROC lpfnFailure ) -{ - FARPROC lpfnResult = GetProcAddress( LoadLibraryA( lpLibFileName ), lpFuncName ); - - if ( !lpfnResult ) - lpfnResult = lpfnEmulate; - - if ( !lpfnResult ) - lpfnResult = lpfnFailure; - - *lppfn = lpfnResult; -} - - -EXTERN_C void WINAPI ResolveThunk_ALLWAYS( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName, FARPROC lpfnEmulate, FARPROC lpfnFailure ) -{ - *lppfn = lpfnEmulate ? lpfnEmulate : lpfnFailure; -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/ResolveUnicows.cpp b/sal/systools/win32/uwinapi/ResolveUnicows.cpp deleted file mode 100644 index 194c7bea2..000000000 --- a/sal/systools/win32/uwinapi/ResolveUnicows.cpp +++ /dev/null @@ -1,518 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#ifdef __MINGW32__ -#define _GDI32_ -#include "macros.h" -#include <w32api.h> -#include <multimon.h> -extern "C" { -extern HMODULE hModuleUnicowsDLL; -} - -EXTERN_C void WINAPI ResolveThunk_UNICOWS( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName, FARPROC lpfnFailure ) -{ - FARPROC lpfnResult = (((LONG)GetVersion()&0x800000ff) == 0x80000004) ? GetProcAddress( hModuleUnicowsDLL, lpFuncName ) : GetProcAddress( LoadLibraryA( lpLibFileName ), lpFuncName ); - - if ( !lpfnResult ) - lpfnResult = lpfnFailure; - - *lppfn = lpfnResult; -} - -static void GetProcAddress_Thunk(); -EXTERN_C { _declspec( dllexport ) FARPROC kernel32_GetProcAddress_Ptr = (FARPROC)GetProcAddress_Thunk; } -static FARPROC WINAPI GetProcAddress_Failure (HINSTANCE,LPCSTR); -static void GetProcAddress_Thunk() -{ - ResolveThunk_UNICOWS( &kernel32_GetProcAddress_Ptr, "kernel32.dll", "GetProcAddress", (FARPROC)GetProcAddress_Failure ); - asm(" movl %ebp, %esp"); - asm(" popl %ebp"); - asm(" jmp *(%0)"::"m"(kernel32_GetProcAddress_Ptr)); -} -EXTERN_C FARPROC WINAPI Internal_GetProcAddress (HINSTANCE,LPCSTR) -{ - asm(" popl %ebp"); - asm(" jmp *(%0)"::"m"(kernel32_GetProcAddress_Ptr)); -} -static FARPROC WINAPI GetProcAddress_Failure (HINSTANCE,LPCSTR) -{ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); - return (FARPROC)0; -} - -#define DEFINE_UNICOWS_THUNK( module, rettype, calltype, func, params ) \ -static void func##_Thunk(); \ -EXTERN_C { _declspec( dllexport ) FARPROC module##_##func##_Ptr = (FARPROC)func##_Thunk; } \ -static rettype calltype func##_##Failure params; \ -static void func##_Thunk() \ -{ \ - ResolveThunk_UNICOWS( &module##_##func##_Ptr, #module ".dll", #func, (FARPROC)func##_##Failure ); \ - asm(" movl %ebp, %esp"); \ - asm(" popl %ebp"); \ - asm(" jmp *(%0)"::"m"(module##_##func##_Ptr)); \ -} \ -EXTERN_C rettype calltype func params \ -{ \ - asm(" popl %ebp"); \ - asm(" jmp *(%0)"::"m"(module##_##func##_Ptr)); \ -} \ -static rettype calltype func##_##Failure params \ -{ \ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); \ - return (rettype)0; \ -} - -DEFINE_UNICOWS_THUNK( kernel32, ATOM, WINAPI, AddAtomW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( gdi32, int, WINAPI, AddFontResourceW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, AddJobW, (HANDLE,DWORD,PBYTE,DWORD,PDWORD) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, AddPortW, (LPWSTR,HWND,LPWSTR) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, AddPrintProcessorW, (LPWSTR,LPWSTR,LPWSTR,LPWSTR) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, AddPrintProvidorW, (LPWSTR,DWORD,PBYTE) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, AddPrinterDriverW, (LPWSTR,DWORD,PBYTE) ) -DEFINE_UNICOWS_THUNK( winspool, HANDLE, WINAPI, AddPrinterW, (LPWSTR,DWORD,PBYTE) ) -DEFINE_UNICOWS_THUNK( winspool, LONG, WINAPI, AdvancedDocumentPropertiesW, (HWND,HANDLE,LPWSTR,PDEVMODE,PDEVMODEW) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, AppendMenuW, (HMENU,UINT,UINT_PTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, BeginUpdateResourceW, (LPCWSTR,BOOL) ) -DEFINE_UNICOWS_THUNK( user32, long, WINAPI, BroadcastSystemMessageW, (DWORD,LPDWORD,UINT,WPARAM,LPARAM) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, BuildCommDCBAndTimeoutsW, (LPCWSTR,LPDCB,LPCOMMTIMEOUTS) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, BuildCommDCBW, (LPCWSTR,LPDCB) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, CallMsgFilterW, (LPMSG,int) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, CallNamedPipeW, (LPCWSTR,PVOID,DWORD,PVOID,DWORD,PDWORD,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, LRESULT, WINAPI, CallWindowProcA, (WNDPROC,HWND,UINT,WPARAM,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, LRESULT, WINAPI, CallWindowProcW, (WNDPROC,HWND,UINT,WPARAM,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, LONG, WINAPI, ChangeDisplaySettingsExW, (LPCWSTR,LPDEVMODEW,HWND,DWORD,LPVOID) ) -DEFINE_UNICOWS_THUNK( user32, LONG, WINAPI, ChangeDisplaySettingsW, (PDEVMODEW,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, ChangeMenuW, (HMENU,UINT,LPCWSTR,UINT,UINT) ) -DEFINE_UNICOWS_THUNK( user32, DWORD, WINAPI, CharLowerBuffW, (LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, LPWSTR, WINAPI, CharLowerW, (LPWSTR) ) -DEFINE_UNICOWS_THUNK( user32, LPWSTR, WINAPI, CharNextW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, LPWSTR, WINAPI, CharPrevW, (LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, CharToOemBuffW, (LPCWSTR,LPSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, CharToOemW, (LPCWSTR,LPSTR) ) -DEFINE_UNICOWS_THUNK( user32, DWORD, WINAPI, CharUpperBuffW, (LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, LPWSTR, WINAPI, CharUpperW, (LPWSTR) ) -DEFINE_UNICOWS_THUNK( comdlg32, BOOL, WINAPI, ChooseColorW, (LPCHOOSECOLORW) ) -DEFINE_UNICOWS_THUNK( comdlg32, BOOL, WINAPI, ChooseFontW, (LPCHOOSEFONTW) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, CommConfigDialogW, (LPCWSTR,HWND,LPCOMMCONFIG) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, CompareStringW, (LCID,DWORD,LPCWSTR,int,LPCWSTR,int) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, ConfigurePortW, (LPWSTR,HWND,LPWSTR) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, CopyAcceleratorTableW, (HACCEL,LPACCEL,int) ) -DEFINE_UNICOWS_THUNK( gdi32, HENHMETAFILE, WINAPI, CopyEnhMetaFileW, (HENHMETAFILE,LPCWSTR) ) -//DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, CopyFileExW, (LPCWSTR,LPCWSTR,LPPROGRESS_ROUTINE,LPVOID,LPBOOL,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, CopyFileW, (LPCWSTR,LPCWSTR,BOOL) ) -DEFINE_UNICOWS_THUNK( gdi32, HMETAFILE, WINAPI, CopyMetaFileW, (HMETAFILE,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, HACCEL, WINAPI, CreateAcceleratorTableW, (LPACCEL,int) ) -DEFINE_UNICOWS_THUNK( gdi32, HCOLORSPACE, WINAPI, CreateColorSpaceW, (LPLOGCOLORSPACEW) ) -DEFINE_UNICOWS_THUNK( gdi32, HDC, WINAPI, CreateDCW, (LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*) ) -DEFINE_UNICOWS_THUNK( user32, HWND, WINAPI, CreateDialogIndirectParamW, (HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, HWND, WINAPI, CreateDialogParamW, (HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, CreateDirectoryExW, (LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, CreateDirectoryW, (LPCWSTR,LPSECURITY_ATTRIBUTES) ) -DEFINE_UNICOWS_THUNK( gdi32, HDC, WINAPI, CreateEnhMetaFileW, (HDC,LPCWSTR,LPCRECT,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, CreateEventW, (LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, CreateFileMappingW, (HANDLE,LPSECURITY_ATTRIBUTES,DWORD,DWORD,DWORD,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, CreateFileW, (LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES,DWORD,DWORD,HANDLE) ) -DEFINE_UNICOWS_THUNK( gdi32, HFONT, WINAPI, CreateFontIndirectW, (const LOGFONTW*) ) -DEFINE_UNICOWS_THUNK( gdi32, HFONT, WINAPI, CreateFontW, (int,int,int,int,int,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,DWORD,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( gdi32, HDC, WINAPI, CreateICW, (LPCWSTR,LPCWSTR,LPCWSTR,const DEVMODEW*) ) -DEFINE_UNICOWS_THUNK( user32, HWND, WINAPI, CreateMDIWindowW, (LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HINSTANCE,LPARAM) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, CreateMailslotW, (LPCWSTR,DWORD,DWORD,LPSECURITY_ATTRIBUTES) ) -DEFINE_UNICOWS_THUNK( gdi32, HDC, WINAPI, CreateMetaFileW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, CreateMutexW, (LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, CreateProcessW, (LPCWSTR,LPWSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,PVOID,LPCWSTR,LPSTARTUPINFOW,LPPROCESS_INFORMATION) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, CreateScalableFontResourceW, (DWORD,LPCWSTR,LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, CreateSemaphoreW, (LPSECURITY_ATTRIBUTES,LONG,LONG,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( oeacc, HRESULT, STDAPICALLTYPE, CreateStdAccessibleProxyW, (HWND, LPCWSTR, LONG, REFIID, void**) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, CreateWaitableTimerW, (LPSECURITY_ATTRIBUTES,BOOL,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, HWND, WINAPI, CreateWindowExW, (DWORD,LPCWSTR,LPCWSTR,DWORD,int,int,int,int,HWND,HMENU,HINSTANCE,LPVOID) ) -DEFINE_UNICOWS_THUNK( user32, HCONV, WINAPI, DdeConnect, (DWORD,HSZ,HSZ,PCONVCONTEXT) ) -DEFINE_UNICOWS_THUNK( user32, HCONVLIST, WINAPI, DdeConnectList, (DWORD,HSZ,HSZ,HCONVLIST,PCONVCONTEXT) ) -DEFINE_UNICOWS_THUNK( user32, HSZ, WINAPI, DdeCreateStringHandleW, (DWORD,LPCWSTR,int) ) -DEFINE_UNICOWS_THUNK( user32, UINT, WINAPI, DdeInitializeW, (PDWORD,PFNCALLBACK,DWORD,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, UINT, WINAPI, DdeQueryConvInfo, (HCONV,DWORD,PCONVINFO) ) -DEFINE_UNICOWS_THUNK( user32, DWORD, WINAPI, DdeQueryStringW, (DWORD,HSZ,LPWSTR,DWORD,int) ) -DEFINE_UNICOWS_THUNK( user32, LRESULT, WINAPI, DefDlgProcW, (HWND,UINT,WPARAM,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, LRESULT, WINAPI, DefFrameProcW, (HWND,HWND,UINT,WPARAM,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, LRESULT, WINAPI, DefMDIChildProcW, (HWND,UINT,WPARAM,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, LRESULT, WINAPI, DefWindowProcW, (HWND,UINT,WPARAM,LPARAM) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, DeleteFileW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, DeleteMonitorW, (LPWSTR,LPWSTR,LPWSTR) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, DeletePortW, (LPWSTR,HWND,LPWSTR) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, DeletePrintProcessorW, (LPWSTR,LPWSTR,LPWSTR) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, DeletePrintProvidorW, (LPWSTR,LPWSTR,LPWSTR) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, DeletePrinterDriverW, (LPWSTR,LPWSTR,LPWSTR) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, DialogBoxIndirectParamW, (HINSTANCE,LPCDLGTEMPLATE,HWND,DLGPROC,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, DialogBoxParamW, (HINSTANCE,LPCWSTR,HWND,DLGPROC,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, LONG, WINAPI, DispatchMessageW, (const MSG*) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, DlgDirListComboBoxW, (HWND,LPWSTR,int,int,UINT) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, DlgDirListW, (HWND,LPWSTR,int,int,UINT) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, DlgDirSelectComboBoxExW, (HWND,LPWSTR,int,int) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, DlgDirSelectExW, (HWND,LPWSTR,int,int) ) -DEFINE_UNICOWS_THUNK( shell32, UINT, WINAPI, DragQueryFileW, (HDROP,UINT,LPWSTR,UINT) ) -//DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, DrawStateW, (HDC,HBRUSH,DRAWSTATEPROC,LPARAM,WPARAM,int,int,int,int,UINT) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, DrawTextExW, (HDC,LPWSTR,int,LPRECT,UINT,LPDRAWTEXTPARAMS) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, DrawTextW, (HDC,LPCWSTR,int,LPRECT,UINT) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, EnableWindow, (HWND,BOOL) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, EndUpdateResourceW, (HANDLE,BOOL) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, EnumCalendarInfoExW, (CALINFO_ENUMPROCEXW,LCID,CALID,CALTYPE) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, EnumCalendarInfoW, (CALINFO_ENUMPROCW,LCID,CALID,CALTYPE) ) -DEFINE_UNICOWS_THUNK( user32, UINT, WINAPI, EnumClipboardFormats, (UINT) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, EnumDateFormatsExW, (DATEFMT_ENUMPROCEXW,LCID,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, EnumDateFormatsW, (DATEFMT_ENUMPROCW,LCID,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, EnumDisplayDevicesW, (LPCWSTR,DWORD,PDISPLAY_DEVICEW,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, EnumDisplaySettingsExW, (LPCWSTR,DWORD,LPDEVMODEW,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, EnumDisplaySettingsW, (LPCWSTR,DWORD,PDEVMODEW) ) -DEFINE_UNICOWS_THUNK( gdi32, int, WINAPI, EnumFontFamiliesExW, (HDC,PLOGFONTW,FONTENUMPROCW,LPARAM,DWORD) ) -DEFINE_UNICOWS_THUNK( gdi32, int, WINAPI, EnumFontFamiliesW, (HDC,LPCWSTR,FONTENUMPROCW,LPARAM) ) -DEFINE_UNICOWS_THUNK( gdi32, int, WINAPI, EnumFontsW, (HDC,LPCWSTR,FONTENUMPROCW,LPARAM) ) -DEFINE_UNICOWS_THUNK( gdi32, int, WINAPI, EnumICMProfilesW, (HDC,ICMENUMPROCW,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, EnumPropsA, (HWND,PROPENUMPROCA) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, EnumPropsExA, (HWND,PROPENUMPROCEXA,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, EnumPropsExW, (HWND,PROPENUMPROCEXW,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, EnumPropsW, (HWND,PROPENUMPROCW) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, EnumSystemCodePagesW, (CODEPAGE_ENUMPROCW,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, EnumSystemLocalesW, (LOCALE_ENUMPROCW,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, EnumTimeFormatsW, (TIMEFMT_ENUMPROCW,LCID,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, ExpandEnvironmentStringsW, (LPCWSTR,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, ExtTextOutW, (HDC,int,int,UINT,LPCRECT,LPCWSTR,UINT,const INT*) ) -DEFINE_UNICOWS_THUNK( shell32, UINT, WINAPI, ExtractIconExW, (LPCWSTR,int,HICON*,HICON*,UINT) ) -DEFINE_UNICOWS_THUNK( shell32, HICON, WINAPI, ExtractIconW, (HINSTANCE,LPCWSTR,UINT) ) -DEFINE_UNICOWS_THUNK( kernel32, void, WINAPI, FatalAppExitW, (UINT,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, FillConsoleOutputCharacterW, (HANDLE,WCHAR,DWORD,COORD,PDWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, ATOM, WINAPI, FindAtomW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, FindFirstChangeNotificationW, (LPCWSTR,BOOL,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, FindFirstFileW, (LPCWSTR,LPWIN32_FIND_DATAW) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, FindNextFileW, (HANDLE,LPWIN32_FIND_DATAW) ) -DEFINE_UNICOWS_THUNK( kernel32, HRSRC, WINAPI, FindResourceExW, (HINSTANCE,LPCWSTR,LPCWSTR,WORD) ) -DEFINE_UNICOWS_THUNK( kernel32, HRSRC, WINAPI, FindResourceW, (HINSTANCE,LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( comdlg32, HWND, WINAPI, FindTextW, (LPFINDREPLACEW) ) -DEFINE_UNICOWS_THUNK( user32, HWND, WINAPI, FindWindowExW, (HWND,HWND,LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, HWND, WINAPI, FindWindowW, (LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, FormatMessageW, (DWORD,PCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list*) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, FreeEnvironmentStringsW, (LPWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, FtpCreateDirectoryW, (HANDLE,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, FtpDeleteFileW, (HANDLE,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, FtpFindFirstFileW, (HANDLE,LPCWSTR,LPWIN32_FIND_DATA,DWORD,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, FtpGetCurrentDirectoryW, (HANDLE,LPWSTR,PDWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, FtpRemoveDirectoryW, (HANDLE,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, FtpSetCurrentDirectoryW, (HANDLE,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, GetAltTabInfoW, (HWND,int,PALTTABINFO,LPWSTR,UINT) ) -DEFINE_UNICOWS_THUNK( kernel32, UINT, WINAPI, GetAtomNameW, (ATOM,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetCPInfo, (UINT,LPCPINFO) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetCPInfoExA, (UINT,DWORD,LPCPINFOEXA) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetCPInfoExW, (UINT,DWORD,LPCPINFOEXW) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, GetCalendarInfoW, (LCID,CALID,CALTYPE,LPWSTR,int,LPDWORD) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, GetCharABCWidthsW, (HDC,UINT,UINT,LPABC) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, GetCharWidthFloatW, (HDC,UINT,UINT,PFLOAT) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, GetCharWidthW, (HDC,UINT,UINT,LPINT) ) -DEFINE_UNICOWS_THUNK( gdi32, DWORD, WINAPI, GetCharacterPlacementW, (HDC,LPCWSTR,int,int,LPGCP_RESULTSW,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, GetClassInfoExW, (HINSTANCE,LPCWSTR,LPWNDCLASSEXW) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, GetClassInfoW, (HINSTANCE,LPCWSTR,LPWNDCLASSW) ) -DEFINE_UNICOWS_THUNK( user32, DWORD, WINAPI, GetClassLongW, (HWND,int) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, GetClassNameW, (HWND,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( user32, HANDLE, WINAPI, GetClipboardData, (UINT) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, GetClipboardFormatNameW, (UINT,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetComputerNameW, (LPWSTR,PDWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetConsoleTitleW, (LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, GetCurrencyFormatW, (LCID,DWORD,LPCWSTR,const CURRENCYFMTW*,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetCurrentDirectoryW, (DWORD,LPWSTR) ) -DEFINE_UNICOWS_THUNK( advapi32, BOOL, WINAPI, GetCurrentHwProfileW, (LPHW_PROFILE_INFOW) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, GetDateFormatW, (LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetDefaultCommConfigW, (LPCWSTR,LPCOMMCONFIG,PDWORD) ) -//DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetDiskFreeSpaceExW, (LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetDiskFreeSpaceW, (LPCWSTR,PDWORD,PDWORD,PDWORD,PDWORD) ) -DEFINE_UNICOWS_THUNK( user32, UINT, WINAPI, GetDlgItemTextW, (HWND,int,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( kernel32, UINT, WINAPI, GetDriveTypeW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( gdi32, UINT, WINAPI, GetEnhMetaFileDescriptionW, (HENHMETAFILE,UINT,LPWSTR) ) -DEFINE_UNICOWS_THUNK( gdi32, HENHMETAFILE, WINAPI, GetEnhMetaFileW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, LPWSTR, WINAPI, GetEnvironmentStringsW, (void) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetEnvironmentVariableW, (LPCWSTR,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetFileAttributesExW, (LPCWSTR,GET_FILEEX_INFO_LEVELS,PVOID) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetFileAttributesW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( comdlg32, short, WINAPI, GetFileTitleW, (LPCWSTR,LPWSTR,WORD) ) -DEFINE_UNICOWS_THUNK( version, DWORD, WINAPI, GetFileVersionInfoSizeW, (LPWSTR,PDWORD) ) -DEFINE_UNICOWS_THUNK( version, BOOL, WINAPI, GetFileVersionInfoW, (LPWSTR,DWORD,DWORD,PVOID) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetFullPathNameW, (LPCWSTR,DWORD,LPWSTR,LPWSTR*) ) -DEFINE_UNICOWS_THUNK( gdi32, DWORD, WINAPI, GetGlyphOutlineW, (HDC,UINT,UINT,LPGLYPHMETRICS,DWORD,PVOID,const MAT2*) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, GetICMProfileW, (HDC,LPDWORD,LPWSTR) ) -DEFINE_UNICOWS_THUNK( gdi32, DWORD, WINAPI, GetKerningPairsW, (HDC,DWORD,LPKERNINGPAIR) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, GetKeyNameTextW, (LONG,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, GetKeyboardLayoutNameW, (LPWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, GetLocaleInfoW, (LCID,LCTYPE,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, GetLogColorSpaceW, (HCOLORSPACE,LPLOGCOLORSPACEW,DWORD) ) -//DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetLogicalDriveStringsW, (DWORD,LPWSTR) ) -//DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetLongPathNameW, (LPCWSTR,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, GetMenuItemInfoW, (HMENU,UINT,BOOL,LPMENUITEMINFOW) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, GetMenuStringW, (HMENU,UINT,LPWSTR,int,UINT) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, GetMessageW, (LPMSG,HWND,UINT,UINT) ) -DEFINE_UNICOWS_THUNK( gdi32, HMETAFILE, WINAPI, GetMetaFileW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetModuleFileNameW, (HINSTANCE,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, HMODULE, WINAPI, GetModuleHandleW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, GetMonitorInfoW, (HMONITOR,LPMONITORINFO) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetNamedPipeHandleStateW, (HANDLE,PDWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, GetNumberFormatW, (LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( gdi32, int, WINAPI, GetObjectW, (HGDIOBJ,int,PVOID) ) -DEFINE_UNICOWS_THUNK( msvfw32, BOOL, WINAPI, GetOpenFileNamePreviewW, (LPOPENFILENAMEW) ) -DEFINE_UNICOWS_THUNK( comdlg32, BOOL, WINAPI, GetOpenFileNameW, (LPOPENFILENAMEW) ) -DEFINE_UNICOWS_THUNK( gdi32, UINT, WINAPI, GetOutlineTextMetricsW, (HDC,UINT,LPOUTLINETEXTMETRICW) ) -DEFINE_UNICOWS_THUNK( winspool, DWORD, WINAPI, GetPrintProcessorDirectoryW, (LPWSTR,LPWSTR,DWORD,PBYTE,DWORD,PDWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, UINT, WINAPI, GetPrivateProfileIntW, (LPCWSTR,LPCWSTR,INT,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetPrivateProfileSectionNamesW, (LPWSTR,DWORD,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetPrivateProfileSectionW, (LPCWSTR,LPWSTR,DWORD,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetPrivateProfileStringW, (LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetPrivateProfileStructW, (LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, UINT, WINAPI, GetProfileIntW, (LPCWSTR,LPCWSTR,INT) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetProfileSectionW, (LPCWSTR,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetProfileStringW, (LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, HANDLE, WINAPI, GetPropA, (HWND,LPCSTR) ) -DEFINE_UNICOWS_THUNK( user32, HANDLE, WINAPI, GetPropW, (HWND,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( oleacc, UINT, WINAPI, GetRoleTextW, (DWORD,LPWSTR,UINT) ) -DEFINE_UNICOWS_THUNK( msvfw32, BOOL, WINAPI, GetSaveFileNamePreviewW, (LPOPENFILENAMEW) ) -DEFINE_UNICOWS_THUNK( comdlg32, BOOL, WINAPI, GetSaveFileNameW, (LPOPENFILENAMEW) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetShortPathNameW, (LPCWSTR,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, VOID, WINAPI, GetStartupInfoW, (LPSTARTUPINFOW) ) -DEFINE_UNICOWS_THUNK( oleacc, UINT, WINAPI, GetStateTextW, (DWORD,LPWSTR,UINT) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetStringTypeExW, (LCID,DWORD,LPCWSTR,int,LPWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetStringTypeW, (DWORD,LPCWSTR,int,LPWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, UINT, WINAPI, GetSystemDirectoryW, (LPWSTR,UINT) ) -DEFINE_UNICOWS_THUNK( kernel32, UINT, WINAPI, GetSystemWindowsDirectoryW, (LPWSTR,UINT) ) -DEFINE_UNICOWS_THUNK( user32, DWORD, WINAPI, GetTabbedTextExtentW, (HDC,LPCWSTR,int,int,CONST INT*) ) -DEFINE_UNICOWS_THUNK( kernel32, UINT, WINAPI, GetTempFileNameW, (LPCWSTR,LPCWSTR,UINT,LPWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, GetTempPathW, (DWORD,LPWSTR) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, GetTextExtentExPointW, ( HDC,LPCWSTR,int,int,LPINT,LPINT,LPSIZE ) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, GetTextExtentPoint32W, ( HDC,LPCWSTR,int,LPSIZE) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, GetTextExtentPointW, (HDC,LPCWSTR,int,LPSIZE) ) -DEFINE_UNICOWS_THUNK( gdi32, int, WINAPI, GetTextFaceW, (HDC,int,LPWSTR) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, GetTextMetricsW, (HDC,LPTEXTMETRICW) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, GetTimeFormatW, (LCID,DWORD,const SYSTEMTIME*,LPCWSTR,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( advapi32, BOOL, WINAPI, GetUserNameW, (LPWSTR,PDWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetVersionExW, (LPOSVERSIONINFOW) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, GetVolumeInformationW, (LPCWSTR,LPWSTR,DWORD,PDWORD,PDWORD,PDWORD,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, LONG, WINAPI, GetWindowLongA, (HWND,int) ) -DEFINE_UNICOWS_THUNK( user32, LONG, WINAPI, GetWindowLongW, (HWND,int) ) -DEFINE_UNICOWS_THUNK( user32, UINT, WINAPI, GetWindowModuleFileNameW, (HWND,LPWSTR,UINT) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, GetWindowTextLengthW, (HWND) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, GetWindowTextW, (HWND,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( kernel32, UINT, WINAPI, GetWindowsDirectoryW, (LPWSTR,UINT) ) -DEFINE_UNICOWS_THUNK( kernel32, ATOM, WINAPI, GlobalAddAtomW, ( LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, ATOM, WINAPI, GlobalFindAtomW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, UINT, WINAPI, GlobalGetAtomNameW, (ATOM,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, GopherFindFirstFileW, (HANDLE,LPCWSTR,LPCWSTR,LPVOID,DWORD,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, GrayStringW, (HDC,HBRUSH,GRAYSTRINGPROC,LPARAM,int,int,int,int,int) ) -DEFINE_UNICOWS_THUNK( user32, HANDLE, WINAPI, ImageList_LoadImageW, (HINSTANCE,LPCWSTR,int,int,COLORREF,UINT,UINT) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, InsertMenuItemW, (HMENU,UINT,BOOL,LPCMENUITEMINFOW) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, InsertMenuW, (HMENU,UINT,UINT,UINT,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, InternetFindNextFileW, (HANDLE,PVOID) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, IsBadStringPtrW, (LPCWSTR,UINT) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, IsCharAlphaNumericW, (WCHAR) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, IsCharAlphaW, (WCHAR) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, IsCharLowerW, (WCHAR) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, IsCharUpperW, (WCHAR) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, IsClipboardFormatAvailable, (UINT) ) -DEFINE_UNICOWS_THUNK( sensapi, BOOL, APIENTRY, IsDestinationReachableW, (LPCWSTR,LPVOID) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, IsDialogMessageW, (HWND,LPMSG) ) -DEFINE_UNICOWS_THUNK( advapi32, BOOL, WINAPI, IsTextUnicode, (PCVOID,int,LPINT) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, IsValidCodePage, (UINT) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, IsWindowUnicode, (HWND) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, LCMapStringW, (LCID,DWORD,LPCWSTR,int,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( user32, HACCEL, WINAPI, LoadAcceleratorsW, (HINSTANCE,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, HBITMAP, WINAPI, LoadBitmapW, (HINSTANCE,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, HCURSOR, WINAPI, LoadCursorFromFileW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, HCURSOR, WINAPI, LoadCursorW, (HINSTANCE,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, HICON, WINAPI, LoadIconW, (HINSTANCE,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, HANDLE, WINAPI, LoadImageW, (HINSTANCE,LPCWSTR,UINT,int,int,UINT) ) -DEFINE_UNICOWS_THUNK( user32, HKL, WINAPI, LoadKeyboardLayoutW, (LPCWSTR,UINT) ) -DEFINE_UNICOWS_THUNK( kernel32, HINSTANCE, WINAPI, LoadLibraryExW, (LPCWSTR,HANDLE,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, HINSTANCE, WINAPI, LoadLibraryW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, HMENU, WINAPI, LoadMenuIndirectW, (const MENUTEMPLATE*) ) -DEFINE_UNICOWS_THUNK( user32, HMENU, WINAPI, LoadMenuW, (HINSTANCE,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, LoadStringW, (HINSTANCE,UINT,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( user32, HINSTANCE, WINAPI, MLLoadLibraryW, (LPCWSTR,HANDLE,DWORD,LPCWSTR,BOOL) ) -DEFINE_UNICOWS_THUNK( user32, UINT, WINAPI, MapVirtualKeyExW, (UINT,UINT,HKL) ) -DEFINE_UNICOWS_THUNK( user32, UINT, WINAPI, MapVirtualKeyW, (UINT,UINT) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, MessageBoxExW, (HWND,LPCWSTR,LPCWSTR,UINT,WORD) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, MessageBoxIndirectW, (CONST MSGBOXPARAMSW*) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, MessageBoxW, (HWND,LPCWSTR,LPCWSTR,UINT) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, ModifyMenuW, (HMENU,UINT,UINT,UINT,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, MoveFileW, (LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, MultiByteToWideChar, (UINT,DWORD,LPCSTR,int,LPWSTR,int) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, MultinetGetConnectionPerformanceW, (LPNETRESOURCEW,LPNETCONNECTINFOSTRUCT) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, OemToCharBuffW, (LPCSTR,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, OemToCharW, (LPCSTR,LPWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, OpenEventW, (DWORD,BOOL,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, OpenFileMappingW, (DWORD,BOOL,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, OpenMutexW, (DWORD,BOOL,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, OpenPrinterW, (LPWSTR,PHANDLE,LPPRINTER_DEFAULTSW) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, OpenSemaphoreW, (DWORD,BOOL,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, HANDLE, WINAPI, OpenWaitableTimerW, (DWORD,BOOL,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, void, WINAPI, OutputDebugStringW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( comdlg32, BOOL, WINAPI, PageSetupDlgW, (LPPAGESETUPDLGW) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, PeekConsoleInputW, (HANDLE,PINPUT_RECORD,DWORD,PDWORD) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, PeekMessageW, (LPMSG,HWND,UINT,UINT,UINT) ) -DEFINE_UNICOWS_THUNK( winmm, BOOL, WINAPI, PlaySoundW, (LPCWSTR,HMODULE,DWORD) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, PolyTextOutW, (HDC,const POLYTEXTW*,int) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, PostMessageW, (HWND,UINT,WPARAM,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, PostThreadMessageW, (DWORD,UINT,WPARAM,LPARAM) ) -DEFINE_UNICOWS_THUNK( comdlg32, BOOL, WINAPI, PrintDlgW, (LPPRINTDLGW) ) -DEFINE_UNICOWS_THUNK( comdlg32, DWORD, WINAPI, PrinterMessageBoxW, (HANDLE,DWORD,HWND,LPWSTR,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, QueryDosDeviceW, (LPCWSTR,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasConnectionNotificationW, (HANDLE, HANDLE, DWORD) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasCreatePhonebookEntryW, (HWND, LPCWSTR) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasDeleteEntryW, (LPCWSTR, LPCWSTR) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasDeleteSubEntryW, (LPCWSTR, LPCWSTR, DWORD) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasEditPhonebookEntryW, (HWND, LPCWSTR, LPCWSTR) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasEnumConnectionsW, (LPVOID, LPDWORD, LPDWORD) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasEnumDevicesW, (LPVOID, LPDWORD, LPDWORD) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasEnumEntriesW, (LPCWSTR, LPCWSTR, LPVOID, LPDWORD, LPDWORD) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasGetConnectStatusW, (HANDLE, LPVOID) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasGetEntryDialParamsW, (LPCWSTR, LPVOID, LPBOOL) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasGetEntryPropertiesW, (LPCWSTR, LPCWSTR, LPVOID, LPDWORD, LPBYTE, LPDWORD) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasGetErrorStringW, (UINT, LPWSTR, DWORD) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasHangUpW, (HANDLE) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasRenameEntryW, (LPCWSTR, LPCWSTR, LPCWSTR) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasSetEntryDialParamsW, (LPCWSTR, LPVOID, BOOL) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasSetEntryPropertiesW, (LPCWSTR, LPCWSTR, LPVOID, DWORD, LPBYTE, DWORD) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasSetSubEntryPropertiesW, (LPCWSTR, LPCWSTR, DWORD, LPVOID, DWORD, LPBYTE, DWORD) ) -DEFINE_UNICOWS_THUNK( rasapi32, DWORD, APIENTRY, RasValidateEntryNameW, (LPCWSTR, LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, ReadConsoleInputW, (HANDLE,PINPUT_RECORD,DWORD,PDWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, ReadConsoleOutputCharacterW, (HANDLE,LPWSTR,DWORD,COORD,PDWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, ReadConsoleOutputW, (HANDLE,PCHAR_INFO,COORD,COORD,PSMALL_RECT) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, ReadConsoleW, (HANDLE,PVOID,DWORD,PDWORD,PVOID) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegConnectRegistryW, (LPCWSTR,HKEY,PHKEY) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegCreateKeyExW, (HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPSECURITY_ATTRIBUTES,PHKEY,PDWORD) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegCreateKeyW, (HKEY,LPCWSTR,PHKEY) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegDeleteKeyW, (HKEY,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegDeleteValueW, (HKEY,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegEnumKeyExW, (HKEY,DWORD,LPWSTR,PDWORD,PDWORD,LPWSTR,PDWORD,PFILETIME) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegEnumKeyW, (HKEY,DWORD,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegEnumValueW, (HKEY,DWORD,LPWSTR,PDWORD,PDWORD,PDWORD,LPBYTE,PDWORD) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegLoadKeyW, (HKEY,LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegOpenKeyExW, (HKEY,LPCWSTR,DWORD,REGSAM,PHKEY) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegOpenKeyW, (HKEY,LPCWSTR,PHKEY) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegQueryInfoKeyW, (HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegQueryMultipleValuesW, (HKEY,PVALENTW,DWORD,LPWSTR,LPDWORD) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegQueryValueExW, (HKEY,LPCWSTR,LPDWORD,LPDWORD,LPBYTE,LPDWORD) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegQueryValueW, (HKEY,LPCWSTR,LPWSTR,PLONG) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegReplaceKeyW, (HKEY,LPCWSTR,LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegSaveKeyW, (HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegSetValueExW, (HKEY,LPCWSTR,DWORD,DWORD,const BYTE*,DWORD) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegSetValueW, (HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( advapi32, LONG, WINAPI, RegUnLoadKeyW, (HKEY,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, ATOM, WINAPI, RegisterClassExW, (CONST WNDCLASSEXW*) ) -DEFINE_UNICOWS_THUNK( user32, ATOM, WINAPI, RegisterClassW, (CONST WNDCLASSW*) ) -DEFINE_UNICOWS_THUNK( user32, UINT, WINAPI, RegisterClipboardFormatW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, HDEVNOTIFY, WINAPI, RegisterDeviceNotificationW, (HANDLE,LPVOID,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, UINT, WINAPI, RegisterWindowMessageW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, RemoveDirectoryW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, RemoveFontResourceW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, HANDLE, WINAPI, RemovePropA, (HWND,LPCSTR) ) -DEFINE_UNICOWS_THUNK( user32, HANDLE, WINAPI, RemovePropW, (HWND,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( comdlg32, HWND, WINAPI, ReplaceTextW, (LPFINDREPLACEW) ) -DEFINE_UNICOWS_THUNK( gdi32, HDC, WINAPI, ResetDCW, (HDC,const DEVMODEW*) ) -DEFINE_UNICOWS_THUNK( shell32, LPVOID, WINAPI, SHBrowseForFolderW, (LPVOID) ) -DEFINE_UNICOWS_THUNK( shell32, void, WINAPI, SHChangeNotify, (LONG,UINT,PCVOID,PCVOID) ) -DEFINE_UNICOWS_THUNK( shell32, INT, WINAPI, SHCreateDirectoryExW, (HWND,LPCWSTR,LPSECURITY_ATTRIBUTES) ) -DEFINE_UNICOWS_THUNK( shell32, int, WINAPI, SHFileOperationW, (LPSHFILEOPSTRUCTW) ) -DEFINE_UNICOWS_THUNK( shell32, DWORD, WINAPI, SHGetFileInfoW, (LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT) ) -DEFINE_UNICOWS_THUNK( shell32, BOOL, WINAPI, SHGetNewLinkInfoW, (LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT) ) -DEFINE_UNICOWS_THUNK( shell32, BOOL, WINAPI, SHGetPathFromIDListW, (LPVOID,LPWSTR) ) -DEFINE_UNICOWS_THUNK( shell32, int, __stdcall, SQLGetPrivateProfileStringW, (LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,int,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( shell32, BOOL, __stdcall, SQLWritePrivateProfileStringW, (LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, ScrollConsoleScreenBufferW, (HANDLE,const SMALL_RECT*,const SMALL_RECT*,COORD,const CHAR_INFO*) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, SearchPathW, (LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPWSTR,LPWSTR*) ) -DEFINE_UNICOWS_THUNK( user32, LONG, WINAPI, SendDlgItemMessageW, (HWND,int,UINT,WPARAM,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, SendMessageCallbackW, (HWND,UINT,WPARAM,LPARAM,SENDASYNCPROC,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, LRESULT, WINAPI, SendMessageTimeoutW, (HWND,UINT,WPARAM,LPARAM,UINT,UINT,PDWORD) ) -DEFINE_UNICOWS_THUNK( user32, LRESULT, WINAPI, SendMessageW, (HWND,UINT,WPARAM,LPARAM) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, SendNotifyMessageW, (HWND,UINT,WPARAM,LPARAM) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, SetCalendarInfoW, (LCID,CALID,CALTYPE,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, DWORD, WINAPI, SetClassLongW, (HWND,int,LONG) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, SetComputerNameW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, SetConsoleTitleW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, SetCurrentDirectoryW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, SetDefaultCommConfigW, (LPCWSTR,LPCOMMCONFIG,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, SetDlgItemTextW, (HWND,int,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, SetEnvironmentVariableW, (LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, SetFileAttributesW, (LPCWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, SetICMProfileW, (HDC,LPWSTR) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, SetJobW, (HANDLE,DWORD,DWORD,PBYTE,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, SetLocaleInfoW, (LCID,LCTYPE,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, SetMenuItemInfoW, ( HMENU,UINT,BOOL,LPCMENUITEMINFOW) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, SetPrinterDataW, (HANDLE,LPWSTR,DWORD,PBYTE,DWORD) ) -DEFINE_UNICOWS_THUNK( winspool, BOOL, WINAPI, SetPrinterW, (HANDLE,DWORD,PBYTE,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, SetPropA, (HWND,LPCSTR,HANDLE) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, SetPropW, (HWND,LPCWSTR,HANDLE) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, SetVolumeLabelW, (LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, LONG, WINAPI, SetWindowLongA, (HWND,int,LONG) ) -DEFINE_UNICOWS_THUNK( user32, LONG, WINAPI, SetWindowLongW, (HWND,int,LONG) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, SetWindowTextW, (HWND,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( user32, HHOOK, WINAPI, SetWindowsHookExW, (int,HOOKPROC,HINSTANCE,DWORD) ) -DEFINE_UNICOWS_THUNK( user32, HHOOK, WINAPI, SetWindowsHookW, (int,HOOKPROC) ) -DEFINE_UNICOWS_THUNK( shell32, int, WINAPI, ShellAboutW, (HWND,LPCWSTR,LPCWSTR,HICON) ) -DEFINE_UNICOWS_THUNK( shell32, BOOL, WINAPI, ShellExecuteExW, (LPSHELLEXECUTEINFOW) ) -DEFINE_UNICOWS_THUNK( shell32, HINSTANCE, WINAPI, ShellExecuteW, (HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT) ) -DEFINE_UNICOWS_THUNK( shell32, BOOL, WINAPI, Shell_NotifyIconW, (DWORD,PNOTIFYICONDATAW) ) -DEFINE_UNICOWS_THUNK( winspool, DWORD, WINAPI, StartDocPrinterW, (HANDLE,DWORD,PBYTE) ) -DEFINE_UNICOWS_THUNK( gdi32, int, WINAPI, StartDocW, (HDC,const DOCINFOW*) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, SystemParametersInfoW, (UINT,UINT,PVOID,UINT) ) -DEFINE_UNICOWS_THUNK( user32, LONG, WINAPI, TabbedTextOutW, (HDC,int,int,LPCWSTR,int,int,CONST INT*,int) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, TextOutW, (HDC,int,int,LPCWSTR,int) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, TranslateAcceleratorW, (HWND,HACCEL,LPMSG) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, UnregisterClassW, (LPCWSTR,HINSTANCE) ) -DEFINE_UNICOWS_THUNK( gdi32, BOOL, WINAPI, UpdateICMRegKeyW, (DWORD,LPWSTR,LPWSTR,UINT) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, UpdateResourceW, (HANDLE,LPCWSTR,LPCWSTR,WORD,PVOID,DWORD) ) -DEFINE_UNICOWS_THUNK( version, DWORD, WINAPI, VerFindFileW, (DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT) ) -DEFINE_UNICOWS_THUNK( version, DWORD, WINAPI, VerInstallFileW, (DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT) ) -DEFINE_UNICOWS_THUNK( kernel32, DWORD, WINAPI, VerLanguageNameW, (DWORD,LPWSTR,DWORD) ) -#if ( __W32API_MAJOR_VERSION > 3 ) || ( __W32API_MAJOR_VERSION == 3 && __W32API_MINOR_VERSION > 13 ) -DEFINE_UNICOWS_THUNK( version, BOOL, WINAPI, VerQueryValueW, (const LPVOID,LPCWSTR,LPVOID*,PUINT) ) -#else -DEFINE_UNICOWS_THUNK( version, BOOL, WINAPI, VerQueryValueW, (const LPVOID,LPWSTR,LPVOID*,PUINT) ) -#endif -DEFINE_UNICOWS_THUNK( user32, SHORT, WINAPI, VkKeyScanExW, (WCHAR,HKL) ) -DEFINE_UNICOWS_THUNK( user32, SHORT, WINAPI, VkKeyScanW, (WCHAR) ) -DEFINE_UNICOWS_THUNK( user32, DWORD, WINAPI, SetupDecompressOrCopyFileW, (PCWSTR,PCWSTR,PUINT) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetAddConnection2W, (LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetAddConnection3W, (HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetAddConnectionW, (LPCWSTR,LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetCancelConnection2W, (LPCWSTR,DWORD,BOOL) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetCancelConnectionW, (LPCWSTR,BOOL) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetConnectionDialog1W, (LPCONNECTDLGSTRUCTW) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetDisconnectDialog1W, (LPDISCDLGSTRUCTW) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetEnumResourceW, (HANDLE,PDWORD,PVOID,PDWORD) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetGetConnectionW, (LPCWSTR,LPWSTR,PDWORD) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetGetLastErrorW, (PDWORD,LPWSTR,DWORD,LPWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetGetNetworkInformationW, (LPCWSTR,LPNETINFOSTRUCT) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetGetProviderNameW, (DWORD,LPWSTR,PDWORD) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetGetResourceInformationW, (LPNETRESOURCEW,LPVOID,LPDWORD,LPWSTR*) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetGetResourceParentW, (LPNETRESOURCEW,LPVOID,LPDWORD) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetGetUniversalNameW, (LPCWSTR,DWORD,PVOID,PDWORD) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetGetUserW, (LPCWSTR,LPWSTR,PDWORD) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetOpenEnumW, (DWORD,DWORD,DWORD,LPNETRESOURCEW,LPHANDLE) ) -DEFINE_UNICOWS_THUNK( mpr, DWORD, APIENTRY, WNetUseConnectionW, (HWND,LPNETRESOURCEW,LPCWSTR,LPCWSTR,DWORD,LPWSTR,PDWORD,PDWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, WaitNamedPipeW, (LPCWSTR,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, WideCharToMultiByte, (UINT,DWORD,LPCWSTR,int,LPSTR,int,LPCSTR,LPBOOL) ) -DEFINE_UNICOWS_THUNK( user32, BOOL, WINAPI, WinHelpW, (HWND,LPCWSTR,UINT,DWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, WriteConsoleInputW, (HANDLE,const INPUT_RECORD*,DWORD,PDWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, WriteConsoleOutputCharacterW, (HANDLE,LPCWSTR,DWORD,COORD,PDWORD) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, WriteConsoleOutputW, (HANDLE,const CHAR_INFO*,COORD,COORD,PSMALL_RECT) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, WriteConsoleW, (HANDLE,PCVOID,DWORD,PDWORD,PVOID) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, WritePrivateProfileSectionW, (LPCWSTR,LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, WritePrivateProfileStringW, (LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, WritePrivateProfileStructW, (LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, WriteProfileSectionW, (LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, BOOL, WINAPI, WriteProfileStringW, (LPCWSTR,LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( avicap32, HWND, WINAPI, capCreateCaptureWindowW, (LPCWSTR, DWORD, int, int, int, int, HWND, int) ) -DEFINE_UNICOWS_THUNK( avicap32, BOOL, WINAPI, capGetDriverDescriptionW, (UINT, LPWSTR, int, LPWSTR, int) ) -DEFINE_UNICOWS_THUNK( kernel32, LPWSTR, WINAPI, lstrcatW, (LPWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, lstrcmpW, (LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, lstrcmpiW, ( LPCWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, LPWSTR, WINAPI, lstrcpyW, (LPWSTR,LPCWSTR) ) -DEFINE_UNICOWS_THUNK( kernel32, LPWSTR, WINAPI, lstrcpynW, (LPWSTR,LPCWSTR,int) ) -DEFINE_UNICOWS_THUNK( kernel32, int, WINAPI, lstrlenW, (LPCWSTR) ) -DEFINE_UNICOWS_THUNK( winmm, BOOL, WINAPI, sndPlaySoundW, (LPCWSTR,UINT) ) -DEFINE_UNICOWS_THUNK( winmm, PROC, WINAPI, wglGetProcAddress, (LPCSTR) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPIV, wsprintfW, (LPWSTR,LPCWSTR,...) ) -DEFINE_UNICOWS_THUNK( user32, int, WINAPI, wvsprintfW, (LPWSTR,LPCWSTR,va_list arglist) ) -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/SHCreateItemFromParsingName.cpp b/sal/systools/win32/uwinapi/SHCreateItemFromParsingName.cpp deleted file mode 100644 index 1ca6733a6..000000000 --- a/sal/systools/win32/uwinapi/SHCreateItemFromParsingName.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#if defined(_MSC_VER) && (_MSC_VER >= 1400) -#pragma warning(disable:4740) -#endif - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( shell32, TRYLOAD, HRESULT, WINAPI, SHCreateItemFromParsingName, (PCWSTR pszPath, IBindCtx *pbc, REFIID riid, void **ppv) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/SHILCreateFromPathW.cpp b/sal/systools/win32/uwinapi/SHILCreateFromPathW.cpp deleted file mode 100644 index 5441eb3b8..000000000 --- a/sal/systools/win32/uwinapi/SHILCreateFromPathW.cpp +++ /dev/null @@ -1,35 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#include "uwinapi.h" - -EXTERN_C LPITEMIDLIST WINAPI SHSimpleIDListFromPathW_Failure( LPCWSTR lpPathW ) -{ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); - return NULL; -} - -EXTERN_C LPITEMIDLIST WINAPI SHSimpleIDListFromPathW_WINDOWS( LPCWSTR lpPathW ) -{ - AUTO_WSTR2STR( lpPath ); - - return SHSimpleIDListFromPathA( lpPathA ); -} - - -EXTERN_C void WINAPI ResolveThunk_SHSimpleIDListFromPathW( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName ) -{ - if ( (LONG)GetVersion < 0 ) - *lppfn = (FARPROC)SHSimpleIDListFromPathW_WINDOWS; - else - { - FARPROC lpfnResult = GetProcAddress( LoadLibraryA( lpLibFileName ), MAKEINTRESOURCE(162) ); - if ( !lpfnResult ) - lpfnResult = (FARPROC)SHSimpleIDListFromPathW_Failure; - - *lppfn = lpfnResult; - } -} - - -DEFINE_CUSTOM_THUNK( kernel32, GetLongPathNameW, DWORD, WINAPI, GetLongPathNameW, ( LPCWSTR lpShortPathW, LPWSTR lpLongPathW, DWORD cchBuffer ) ); - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/SetVolumeMountPointA.cpp b/sal/systools/win32/uwinapi/SetVolumeMountPointA.cpp deleted file mode 100644 index efe640874..000000000 --- a/sal/systools/win32/uwinapi/SetVolumeMountPointA.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, SetVolumeMountPointA, (LPCSTR lpszVolumeMountPoint, LPCSTR lpszVolumeName) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/SetVolumeMountPointW.cpp b/sal/systools/win32/uwinapi/SetVolumeMountPointW.cpp deleted file mode 100644 index 5d2ff95e8..000000000 --- a/sal/systools/win32/uwinapi/SetVolumeMountPointW.cpp +++ /dev/null @@ -1,32 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#include "macros.h" - -DEFINE_DEFAULT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, SetVolumeMountPointW, (LPCWSTR lpszVolumeMountPoint, LPCWSTR lpszVolumeName) ) -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/Uwinapi.def b/sal/systools/win32/uwinapi/Uwinapi.def deleted file mode 100644 index 58893d5a5..000000000 --- a/sal/systools/win32/uwinapi/Uwinapi.def +++ /dev/null @@ -1,22 +0,0 @@ -EXPORTS
- CommandLineToArgvW
- CopyFileW
- CopyFileExW
- CopyFileExA
- DeleteFileW
- DrawStateW
- GetLogicalDriveStringsW
- GetLongPathNameA
- GetLongPathNameW
- LoadLibraryExW
- LoadLibraryW
- MoveFileExA
- MoveFileExW
- MoveFileW
- GetVersion
- DllGetVersion
- lstrrchrA
- lstrrchrW
- lstrchrA
- lstrchrW
-
diff --git a/sal/systools/win32/uwinapi/Uwinapi.h b/sal/systools/win32/uwinapi/Uwinapi.h deleted file mode 100644 index 5a1db0e87..000000000 --- a/sal/systools/win32/uwinapi/Uwinapi.h +++ /dev/null @@ -1,134 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#pragma once - -#ifdef _UWINAPI_ -#define _KERNEL32_ -#define _USER32_ -#define _SHELL32_ -#endif - -#include <windows.h> -#include <malloc.h> - -#ifndef _UWINAPI_ -EXTERN_C WINBASEAPI DWORD UWINAPI_dwFakedVersion; -#endif - -EXTERN_C WINBASEAPI DWORD SetVersion( DWORD dwVersion ); - -/* Version macros */ - -#define MAKE_VER_WIN32( major, minor, build, isWindows ) \ -((DWORD)MAKELONG( MAKEWORD( major, minor ), (build) | ( isWindows ? 0x8000 : 0 ) )) - -#define MAKE_VER_WIN32_NT( major, minor, build ) \ - MAKE_VER_WIN32( major, minor, build, FALSE ) - -#define MAKE_VER_WIN32_WINDOWS( major, minor, build ) \ - MAKE_VER_WIN32( major, minor, build, TRUE ) - -#define VER_WIN32_WINDOWS_95 MAKE_VER_WIN32_WINDOWS( 4, 0, 0 ) -#define VER_WIN32_WINDOWS_98 MAKE_VER_WIN32_WINDOWS( 4, 10, 0 ) -#define VER_WIN32_WINDOWS_ME MAKE_VER_WIN32_WINDOWS( 4, 90, 0 ) -#define VER_WIN32_NT_NT4 MAKE_VER_WIN32_NT( 4, 0, 0 ) -#define VER_WIN32_NT_2000 MAKE_VER_WIN32_NT( 5, 0, 0 ) -#define VER_WIN32_NT_XP MAKE_VER_WIN32_NT( 5, 1, 0 ) - - -EXTERN_C WINBASEAPI LPSTR WINAPI lstrchrA( LPCSTR lpString, CHAR c ); -EXTERN_C WINBASEAPI LPWSTR WINAPI lstrchrW( LPCWSTR lpString, WCHAR c ); -EXTERN_C WINBASEAPI LPSTR WINAPI lstrrchrA( LPCSTR lpString, CHAR c ); -EXTERN_C WINBASEAPI LPWSTR WINAPI lstrrchrW( LPCWSTR lpString, WCHAR c ); - -#ifdef UNICODE -#define lstrrchr lstrrchrW -#define lstrchr lstrchrW -#else -#define lstrrchr lstrrchrA -#define lstrchr lstrchrA -#endif - -#define IsValidHandle(Handle) ((DWORD)(Handle) + 1 > 1) - -#ifdef __cplusplus - -#define _AUTO_WSTR2STR( lpStrA, lpStrW ) \ -LPSTR lpStrA; \ -if ( lpStrW ) \ -{ \ - int cNeeded = WideCharToMultiByte( CP_ACP, 0, lpStrW, -1, NULL, 0, NULL, NULL ); \ - lpStrA = (LPSTR)_alloca( cNeeded * sizeof(CHAR) ); \ - WideCharToMultiByte( CP_ACP, 0, lpStrW, -1, lpStrA, cNeeded, NULL, NULL ); \ -} \ -else \ - lpStrA = NULL; - - -#define AUTO_WSTR2STR( lpStr ) \ - _AUTO_WSTR2STR( lpStr##A, lpStr##W ) - -#define AUTO_STR( lpStr, cchBuffer ) \ -LPSTR lpStr##A = lpStr##W ? (LPSTR)_alloca( (cchBuffer) * sizeof(CHAR) ) : NULL; - -#endif // __cplusplus - -#define STRBUF2WSTR( lpStr, cchSrcBuffer, cchDestBuffer ) \ - MultiByteToWideChar( CP_ACP, 0, lpStr##A, cchSrcBuffer, lpStr##W, cchDestBuffer ) - -#define STR2WSTR( lpStr, cchBuffer ) \ - STRBUF2WSTR( lpStr, -1, cchBuffer ) - -#define WSTR2STR( lpStr, cchBuffer ) \ - WideCharToMultiByte( CP_ACP, 0, lpStr##W, -1, lpStr##A, cchBuffer, NULL, NULL ) - -EXTERN_C void WINAPI ResolveThunk_WINDOWS( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName, FARPROC lpfnEmulate, FARPROC lpfnFailure ); -EXTERN_C void WINAPI ResolveThunk_TRYLOAD( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName, FARPROC lpfnEmulate, FARPROC lpfnFailure ); -EXTERN_C void WINAPI ResolveThunk_ALLWAYS( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName, FARPROC lpfnEmulate, FARPROC lpfnFailure ); - - - - -#define IMPLEMENT_THUNK( module, resolve, rettype, calltype, func, params ) \ -EXTERN_C _declspec( dllexport ) FARPROC module##_##func##_Ptr; \ -EXTERN_C rettype calltype func##_##resolve params; \ -static rettype calltype func##_##Failure params; \ -static _declspec ( naked ) func##_Thunk() \ -{ \ - ResolveThunk_##resolve( &module##_##func##_Ptr, #module ".dll", #func, (FARPROC)func##_##resolve, (FARPROC)func##_##Failure ); \ - _asm jmp [module##_##func##_Ptr] \ -} \ -EXTERN_C _declspec( naked ) rettype calltype func params \ -{ \ - _asm jmp [module##_##func##_Ptr] \ -} \ -EXTERN_C _declspec( dllexport ) FARPROC module##_##func##_Ptr = (FARPROC)func##_Thunk; \ -static rettype calltype func##_##Failure params \ -{ \ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); \ - return (rettype)0; \ -} \ -EXTERN_C rettype calltype func##_##resolve params - - - - - - - - - - - -#define DEFINE_CUSTOM_THUNK( module, resolve, rettype, calltype, func, params ) \ -EXTERN_C _declspec( dllexport ) FARPROC module##_##func##_Ptr; \ -static _declspec ( naked ) func##_Thunk() \ -{ \ - ResolveThunk_##resolve( &module##_##func##_Ptr, #module ".dll", #func ); \ - _asm jmp [module##_##func##_Ptr] \ -} \ -EXTERN_C _declspec( naked ) rettype calltype func params \ -{ \ - _asm jmp [module##_##func##_Ptr] \ -} \ -EXTERN_C _declspec( dllexport ) FARPROC module##_##func##_Ptr = (FARPROC)func##_Thunk; -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/macros.h b/sal/systools/win32/uwinapi/macros.h deleted file mode 100644 index c550c2439..000000000 --- a/sal/systools/win32/uwinapi/macros.h +++ /dev/null @@ -1,235 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -#define _UWINAPI_ -#include <systools/win32/uwinapi.h> - -#ifndef _INC_MALLOC -# include <malloc.h> -#endif - -#if defined(_MSC_VER) && (_MSC_VER >= 1400) -#pragma warning(disable:4740) -#endif - -#ifndef _INC_TCHAR -# ifdef UNICODE -# define _UNICODE -# endif -# include <tchar.h> -#endif - -// Globally disable "warning C4100: unreferenced formal parameter" caused by -// IMPLEMENT_THUNK: -#ifdef _MSC_VER -#pragma warning(disable:4100) -#endif - -/* Version macros */ - -#define MAKE_VER_WIN32( major, minor, build, isWindows ) \ -((DWORD)MAKELONG( MAKEWORD( major, minor ), (build) | ( isWindows ? 0x8000 : 0 ) )) - -#define MAKE_VER_WIN32_NT( major, minor, build ) \ - MAKE_VER_WIN32( major, minor, build, FALSE ) - -#define MAKE_VER_WIN32_WINDOWS( major, minor, build ) \ - MAKE_VER_WIN32( major, minor, build, TRUE ) - -#define VER_WIN32_WINDOWS_95 MAKE_VER_WIN32_WINDOWS( 4, 0, 0 ) -#define VER_WIN32_WINDOWS_98 MAKE_VER_WIN32_WINDOWS( 4, 10, 0 ) -#define VER_WIN32_WINDOWS_ME MAKE_VER_WIN32_WINDOWS( 4, 90, 0 ) -#define VER_WIN32_NT_NT4 MAKE_VER_WIN32_NT( 4, 0, 0 ) -#define VER_WIN32_NT_2000 MAKE_VER_WIN32_NT( 5, 0, 0 ) -#define VER_WIN32_NT_XP MAKE_VER_WIN32_NT( 5, 1, 0 ) - - -#ifdef __cplusplus - -#define _AUTO_WSTR2STR( lpStrA, lpStrW ) \ -LPSTR lpStrA; \ -if ( lpStrW ) \ -{ \ - int cNeeded = WideCharToMultiByte( CP_ACP, 0, lpStrW, -1, NULL, 0, NULL, NULL ); \ - lpStrA = (LPSTR)_alloca( cNeeded * sizeof(CHAR) ); \ - WideCharToMultiByte( CP_ACP, 0, lpStrW, -1, lpStrA, cNeeded, NULL, NULL ); \ -} \ -else \ - lpStrA = NULL; - - -#define AUTO_WSTR2STR( lpStr ) \ - _AUTO_WSTR2STR( lpStr##A, lpStr##W ) - -#define AUTO_STR( lpStr, cchBuffer ) \ -LPSTR lpStr##A = lpStr##W ? (LPSTR)_alloca( (cchBuffer) * sizeof(CHAR) ) : NULL; - -#endif /* __cplusplus */ - - -#define STRBUF2WSTR( lpStr, cchSrcBuffer, cchDestBuffer ) \ - MultiByteToWideChar( CP_ACP, 0, lpStr##A, cchSrcBuffer, lpStr##W, (int) cchDestBuffer ) - -#define STR2WSTR( lpStr, cchBuffer ) \ - STRBUF2WSTR( lpStr, -1, cchBuffer ) - -#define WSTR2STR( lpStr, cchBuffer ) \ - WideCharToMultiByte( CP_ACP, 0, lpStr##W, -1, lpStr##A, cchBuffer, NULL, NULL ) - -EXTERN_C void WINAPI ResolveThunk_WINDOWS( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName, FARPROC lpfnEmulate, FARPROC lpfnFailure ); -EXTERN_C void WINAPI ResolveThunk_TRYLOAD( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName, FARPROC lpfnEmulate, FARPROC lpfnFailure ); -EXTERN_C void WINAPI ResolveThunk_ALLWAYS( FARPROC *lppfn, LPCSTR lpLibFileName, LPCSTR lpFuncName, FARPROC lpfnEmulate, FARPROC lpfnFailure ); - - - - -#ifdef __MINGW32__ -#define IMPLEMENT_THUNK( module, resolve, rettype, calltype, func, params ) \ -static void func##_Thunk(); \ -EXTERN_C _declspec( dllexport ) FARPROC module##_##func##_Ptr = (FARPROC)func##_Thunk; \ -EXTERN_C rettype calltype func params \ -{ \ - asm(" popl %ebp"); \ - asm(" jmp *(%0)"::"m"(module##_##func##_Ptr)); \ -} \ -EXTERN_C rettype calltype func##_##resolve params; \ -static rettype calltype func##_##Failure params; \ -static void func##_Thunk() \ -{ \ - ResolveThunk_##resolve( &module##_##func##_Ptr, #module ".dll", #func, (FARPROC)func##_##resolve, (FARPROC)func##_##Failure ); \ - asm(" movl %ebp, %esp"); \ - asm(" popl %ebp"); \ - asm(" jmp *(%0)"::"m"(module##_##func##_Ptr)); \ -} \ -static rettype calltype func##_##Failure params \ -{ \ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); \ - return (rettype)0; \ -} \ -EXTERN_C rettype calltype func##_##resolve params -#else -#define IMPLEMENT_THUNK( module, resolve, rettype, calltype, func, params ) \ -EXTERN_C _declspec( dllexport ) FARPROC module##_##func##_Ptr; \ -EXTERN_C rettype calltype func##_##resolve params; \ -static rettype calltype func##_##Failure params; \ -static _declspec ( naked ) void func##_Thunk() \ -{ \ - ResolveThunk_##resolve( &module##_##func##_Ptr, #module ".dll", #func, (FARPROC)func##_##resolve, (FARPROC)func##_##Failure ); \ - _asm jmp [module##_##func##_Ptr] \ -} \ -EXTERN_C _declspec( naked ) rettype calltype func params \ -{ \ - _asm jmp [module##_##func##_Ptr] \ -} \ -EXTERN_C _declspec( dllexport ) FARPROC module##_##func##_Ptr = (FARPROC)func##_Thunk; \ -static rettype calltype func##_##Failure params \ -{ \ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); \ - return (rettype)0; \ -} \ -EXTERN_C rettype calltype func##_##resolve params -#endif - - - -#ifdef __MINGW32__ -#define DEFINE_CUSTOM_THUNK( module, resolve, rettype, calltype, func, params ) \ -static void func##_Thunk(); \ -EXTERN_C _declspec( dllexport ) FARPROC module##_##func##_Ptr = (FARPROC)func##_Thunk; \ -static void func##_Thunk() \ -{ \ - ResolveThunk_##resolve( &module##_##func##_Ptr, #module ".dll", #func ); \ - asm(" movl %ebp, %esp"); \ - asm(" popl %ebp"); \ - asm(" jmp *(%0)"::"m"(module##_##func##_Ptr)); \ -} \ -EXTERN_C rettype calltype func params \ -{ \ - asm(" popl %ebp"); \ - asm(" jmp *(%0)"::"m"(module##_##func##_Ptr)); \ -} -#else -#define DEFINE_CUSTOM_THUNK( module, resolve, rettype, calltype, func, params ) \ -EXTERN_C _declspec( dllexport ) FARPROC module##_##func##_Ptr; \ -static _declspec ( naked ) void func##_Thunk() \ -{ \ - ResolveThunk_##resolve( &module##_##func##_Ptr, #module ".dll", #func ); \ - _asm jmp [module##_##func##_Ptr] \ -} \ -EXTERN_C _declspec( naked ) rettype calltype func params \ -{ \ - _asm jmp [module##_##func##_Ptr] \ -} \ -EXTERN_C _declspec( dllexport ) FARPROC module##_##func##_Ptr = (FARPROC)func##_Thunk; -#endif - - -#ifdef __MINGW32__ -#define DEFINE_DEFAULT_THUNK( module, resolve, rettype, calltype, func, params ) \ -static void func##_Thunk(); \ -EXTERN_C _declspec( dllexport ) FARPROC module##_##func##_Ptr = (FARPROC)func##_Thunk; \ -static rettype calltype func##_##Failure params; \ -static _declspec ( naked ) void func##_Thunk() \ -{ \ - ResolveThunk_##resolve( &module##_##func##_Ptr, #module ".dll", #func, NULL, (FARPROC)func##_##Failure ); \ - asm(" movl %ebp, %esp"); \ - asm(" popl %ebp"); \ - asm(" jmp *(%0)"::"m"(module##_##func##_Ptr)); \ -} \ -EXTERN_C _declspec( naked ) rettype calltype func params \ -{ \ - asm(" popl %ebp"); \ - asm(" jmp *(%0)"::"m"(module##_##func##_Ptr)); \ -} \ -static rettype calltype func##_##Failure params \ -{ \ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); \ - return (rettype)0; \ -} -#else -#define DEFINE_DEFAULT_THUNK( module, resolve, rettype, calltype, func, params ) \ -EXTERN_C _declspec( dllexport ) FARPROC module##_##func##_Ptr; \ -static rettype calltype func##_##Failure params; \ -static _declspec ( naked ) void func##_Thunk() \ -{ \ - ResolveThunk_##resolve( &module##_##func##_Ptr, #module ".dll", #func, NULL, (FARPROC)func##_##Failure ); \ - _asm jmp [module##_##func##_Ptr] \ -} \ -EXTERN_C _declspec( naked ) rettype calltype func params \ -{ \ - _asm jmp [module##_##func##_Ptr] \ -} \ -EXTERN_C _declspec( dllexport ) FARPROC module##_##func##_Ptr = (FARPROC)func##_Thunk; \ -static rettype calltype func##_##Failure params \ -{ \ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); \ - return (rettype)0; \ -} -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/makefile.mk b/sal/systools/win32/uwinapi/makefile.mk index 1ec7706b8..0989b6121 100644 --- a/sal/systools/win32/uwinapi/makefile.mk +++ b/sal/systools/win32/uwinapi/makefile.mk @@ -47,69 +47,7 @@ CXXFLAGS+= $(LFS_CFLAGS) CFLAGSCXX+=-Wno-unused-parameter -Wno-return-type .ENDIF -SLOFILES= - -.IF "$(CPU)"=="I" && "$(CROSS_COMPILING)"!="YES" - -SLOFILES+=\ - $(SLO)$/CheckTokenMembership.obj\ - $(SLO)$/CommandLineToArgvW.obj\ - $(SLO)$/CopyFileExA.obj\ - $(SLO)$/CopyFileExW.obj\ - $(SLO)$/DrawStateW.obj\ - $(SLO)$/EnumProcesses.obj\ - $(SLO)$/GetLogicalDriveStringsW.obj\ - $(SLO)$/GetLongPathNameA.obj\ - $(SLO)$/GetLongPathNameW.obj\ - $(SLO)$/GetModuleFileNameExA.obj\ - $(SLO)$/GetModuleFileNameExW.obj\ - $(SLO)$/GetProcessId.obj\ - $(SLO)$/GetUserDefaultUILanguage.obj\ - $(SLO)$/GetUserDomainA.obj\ - $(SLO)$/GetUserDomainW.obj\ - $(SLO)$/GetDiskFreeSpaceExA.obj\ - $(SLO)$/GetDiskFreeSpaceExW.obj\ - $(SLO)$/MoveFileExA.obj\ - $(SLO)$/MoveFileExW.obj\ - $(SLO)$/toolhelp.obj\ - $(SLO)$/DllGetVersion.obj\ - $(SLO)$/DllMain.obj\ - $(SLO)$/ResolveThunk.obj\ - $(SLO)$/ResolveUnicows.obj\ - $(SLO)$/FindFirstVolumeA.obj\ - $(SLO)$/FindFirstVolumeW.obj\ - $(SLO)$/FindNextVolumeA.obj\ - $(SLO)$/FindNextVolumeW.obj\ - $(SLO)$/FindVolumeClose.obj\ - $(SLO)$/FindFirstVolumeMountPointA.obj\ - $(SLO)$/FindFirstVolumeMountPointW.obj\ - $(SLO)$/FindNextVolumeMountPointA.obj\ - $(SLO)$/FindNextVolumeMountPointW.obj\ - $(SLO)$/FindVolumeMountPointClose.obj\ - $(SLO)$/GetVolumeNameForVolumeMountPointA.obj\ - $(SLO)$/GetVolumeNameForVolumeMountPointW.obj\ - $(SLO)$/DeleteVolumeMountPointA.obj\ - $(SLO)$/DeleteVolumeMountPointW.obj\ - $(SLO)$/GetVolumePathNameA.obj\ - $(SLO)$/GetVolumePathNameW.obj\ - $(SLO)$/SetVolumeMountPointA.obj\ - $(SLO)$/SetVolumeMountPointW.obj\ - $(SLO)$/PathAddBackslashW.obj\ - $(SLO)$/PathCompactPathExW.obj\ - $(SLO)$/PathFileExistsW.obj\ - $(SLO)$/PathFindExtensionW.obj\ - $(SLO)$/PathFindFileNameW.obj\ - $(SLO)$/PathIsFileSpecW.obj\ - $(SLO)$/PathIsUNCW.obj\ - $(SLO)$/PathRemoveExtensionW.obj\ - $(SLO)$/PathRemoveFileSpecW.obj\ - $(SLO)$/PathSetDlgItemPathW.obj\ - $(SLO)$/PathStripToRootW.obj\ - $(SLO)$/SHCreateItemFromParsingName.obj - -.ENDIF - -SLOFILES+=\ +SLOFILES=\ $(SLO)$/snprintf.obj\ $(SLO)$/snwprintf.obj diff --git a/sal/systools/win32/uwinapi/toolhelp.cpp b/sal/systools/win32/uwinapi/toolhelp.cpp deleted file mode 100644 index 411b6a2b6..000000000 --- a/sal/systools/win32/uwinapi/toolhelp.cpp +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#include "macros.h" -#include <tlhelp32.h> - - -IMPLEMENT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, Module32First, (HANDLE hSnapshot, LPMODULEENTRY32 lpme ) ) -{ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); - return FALSE; -} - -IMPLEMENT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, Module32FirstW, (HANDLE hSnapshot, LPMODULEENTRY32W lpme ) ) -{ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); - return FALSE; -} - -IMPLEMENT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, Module32Next, (HANDLE hSnapshot, LPMODULEENTRY32 lpme ) ) -{ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); - return FALSE; -} - -IMPLEMENT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, Module32NextW, (HANDLE hSnapshot, LPMODULEENTRY32W lpme ) ) -{ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); - return FALSE; -} - -IMPLEMENT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, Process32First, (HANDLE hSnapshot, LPPROCESSENTRY32 lppe ) ) -{ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); - return FALSE; -} - -IMPLEMENT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, Process32FirstW, (HANDLE hSnapshot, LPPROCESSENTRY32W lppe ) ) -{ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); - return FALSE; -} - -IMPLEMENT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, Process32Next, (HANDLE hSnapshot, LPPROCESSENTRY32 lppe ) ) -{ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); - return FALSE; -} - -IMPLEMENT_THUNK( kernel32, TRYLOAD, BOOL, WINAPI, Process32NextW, (HANDLE hSnapshot, LPPROCESSENTRY32W lppe ) ) -{ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); - return FALSE; -} - -IMPLEMENT_THUNK( kernel32, TRYLOAD, HANDLE, WINAPI, CreateToolhelp32Snapshot, (DWORD dwFlags, DWORD th32ProcessID ) ) -{ - SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); - return NULL; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/systools/win32/uwinapi/unicows.dxp b/sal/systools/win32/uwinapi/unicows.dxp deleted file mode 100644 index 771782a76..000000000 --- a/sal/systools/win32/uwinapi/unicows.dxp +++ /dev/null @@ -1,546 +0,0 @@ -;************************************************************************* -; -; DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -; -; Copyright 2000, 2010 Oracle and/or its affiliates. -; -; OpenOffice.org - a multi-platform office productivity suite -; -; This file is part of OpenOffice.org. -; -; OpenOffice.org is free software: you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License version 3 -; only, as published by the Free Software Foundation. -; -; OpenOffice.org is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU Lesser General Public License version 3 for more details -; (a copy is included in the LICENSE file that accompanied this code). -; -; You should have received a copy of the GNU Lesser General Public License -; version 3 along with OpenOffice.org. If not, see -; <http://www.openoffice.org/license.html> -; for a copy of the LGPLv3 License. -; -;************************************************************************* -; -; Functions that are exported but not implemented by unicows.dll -; are only inserted as comment. -; -; In addition to MSDN Platform SDK documentation the following functions -; are not implemented too: -; AddMonitorW, FreeContextBufferW, GetPrinterDriverDirectoryW, -; MCIWndCreateW -; -; The following functions of unicows.dll are buggy: -; DrawStateW, GetLogicalDriveStringsW (both implemented in uwinapi.dll) -; -; The following functions of unicows.dll are wrapped but the ANSI versions -; do not exist on Win9x so the wrapper is useless: -; MoveFileExW, CopyFileExW (both implemented in uwinapi.dll along with the -; ANSI versions ) -; -; These functions do not exist on Win 95 and NT neither as Unicode -; nor as ANSI version, so the wrapper will fail on NT4 and Win 95 -; GetLongPathNameW ( implemented in uwinapi.dll along with the -; ANSI version ) -; -; These essential functions aren't implemented by unicows.dll because -; there's no ANSI version: -; CommandLineToArgvW (implemented by uwinapi.dll) -; -;************************************************************************* - -;AcquireCredentialsHandleW -AddAtomW -AddFontResourceW -AddJobW -;AddMonitorW -AddPortW -AddPrintProcessorW -AddPrintProvidorW -AddPrinterDriverW -AddPrinterW -AdvancedDocumentPropertiesW -AppendMenuW -BeginUpdateResourceW -BroadcastSystemMessageW -BuildCommDCBAndTimeoutsW -BuildCommDCBW -CallMsgFilterW -CallNamedPipeW -CallWindowProcA -CallWindowProcW -ChangeDisplaySettingsExW -ChangeDisplaySettingsW -ChangeMenuW -CharLowerBuffW -CharLowerW -CharNextW -CharPrevW -CharToOemBuffW -CharToOemW -CharUpperBuffW -CharUpperW -ChooseColorW -ChooseFontW -CommConfigDialogW -CompareStringW -ConfigurePortW -CopyAcceleratorTableW -CopyEnhMetaFileW -CopyFileExW -CopyFileW -CopyMetaFileW -CreateAcceleratorTableW -CreateColorSpaceW -CreateDCW -CreateDialogIndirectParamW -CreateDialogParamW -CreateDirectoryExW -CreateDirectoryW -CreateEnhMetaFileW -CreateEventW -CreateFileMappingW -CreateFileW -CreateFontIndirectW -CreateFontW -CreateICW -CreateMDIWindowW -CreateMailslotW -CreateMetaFileW -CreateMutexW -;CreateNamedPipeW -CreateProcessW -CreateScalableFontResourceW -CreateSemaphoreW -CreateStdAccessibleProxyW -CreateWaitableTimerW -CreateWindowExW -DdeConnect -DdeConnectList -DdeCreateStringHandleW -DdeInitializeW -DdeQueryConvInfo -DdeQueryStringW -DefDlgProcW -DefFrameProcW -DefMDIChildProcW -DefWindowProcW -DeleteFileW -DeleteMonitorW -DeletePortW -DeletePrintProcessorW -DeletePrintProvidorW -DeletePrinterDriverW -;DeviceCapabilitiesW -DialogBoxIndirectParamW -DialogBoxParamW -DispatchMessageW -DlgDirListComboBoxW -DlgDirListW -DlgDirSelectComboBoxExW -DlgDirSelectExW -;DocumentPropertiesW -DragQueryFileW -DrawStateW -DrawTextExW -DrawTextW -EnableWindow -EndUpdateResourceW -EnumCalendarInfoExW -EnumCalendarInfoW -EnumClipboardFormats -EnumDateFormatsExW -EnumDateFormatsW -EnumDisplayDevicesW -EnumDisplaySettingsExW -EnumDisplaySettingsW -EnumFontFamiliesExW -EnumFontFamiliesW -EnumFontsW -EnumICMProfilesW -;EnumMonitorsW -;EnumPortsW -;EnumPrintProcessorDatatypesW -;EnumPrintProcessorsW -;EnumPrinterDriversW -;EnumPrintersW -EnumPropsA -EnumPropsExA -EnumPropsExW -EnumPropsW -EnumSystemCodePagesW -EnumSystemLocalesW -EnumTimeFormatsW -;EnumerateSecurityPackagesW -ExpandEnvironmentStringsW -ExtTextOutW -ExtractIconExW -ExtractIconW -FatalAppExitW -FillConsoleOutputCharacterW -FindAtomW -;FindExecutableW -FindFirstChangeNotificationW -FindFirstFileW -FindNextFileW -FindResourceExW -FindResourceW -FindTextW -FindWindowExW -FindWindowW -FormatMessageW -;FreeContextBufferW -FreeEnvironmentStringsW -GetAltTabInfoW -GetAtomNameW -GetCPInfo -GetCPInfoExW -GetCalendarInfoW -;GetCharABCWidthsFloatW -GetCharABCWidthsW -GetCharWidthFloatW -GetCharWidthW -GetCharacterPlacementW -GetClassInfoExW -GetClassInfoW -GetClassLongW -GetClassNameW -GetClipboardData -GetClipboardFormatNameW -GetComputerNameW -GetConsoleTitleW -GetCurrencyFormatW -GetCurrentDirectoryW -GetCurrentHwProfileW -GetDateFormatW -GetDefaultCommConfigW -GetDiskFreeSpaceExW -GetDiskFreeSpaceW -GetDlgItemTextW -GetDriveTypeW -GetEnhMetaFileDescriptionW -GetEnhMetaFileW -GetEnvironmentStringsW -GetEnvironmentVariableW -GetFileAttributesExW -GetFileAttributesW -GetFileTitleW -GetFileVersionInfoSizeW -GetFileVersionInfoW -GetFullPathNameW -GetGlyphOutlineW -GetICMProfileW -;GetJobW -GetKerningPairsW -GetKeyNameTextW -GetKeyboardLayoutNameW -GetLocaleInfoW -GetLogColorSpaceW -GetLogicalDriveStringsW -GetLongPathNameW -GetMenuItemInfoW -GetMenuStringW -GetMessageW -GetMetaFileW -GetModuleFileNameW -GetModuleHandleW -GetMonitorInfoW -GetNamedPipeHandleStateW -GetNumberFormatW -GetObjectW -GetOpenFileNamePreviewW -GetOpenFileNameW -GetOutlineTextMetricsW -GetPrintProcessorDirectoryW -;GetPrinterDataW -;GetPrinterDriverDirectoryW -;GetPrinterDriverW -;GetPrinterW -GetPrivateProfileIntW -GetPrivateProfileSectionNamesW -GetPrivateProfileSectionW -GetPrivateProfileStringW -GetPrivateProfileStructW -;GetProcAddress -GetProfileIntW -GetProfileSectionW -GetProfileStringW -GetPropA -GetPropW -GetRoleTextW -GetSaveFileNamePreviewW -GetSaveFileNameW -GetShortPathNameW -GetStartupInfoW -GetStateTextW -GetStringTypeExW -GetStringTypeW -GetSystemDirectoryW -GetSystemWindowsDirectoryW -GetTabbedTextExtentW -GetTempFileNameW -GetTempPathW -GetTextExtentExPointW -GetTextExtentPoint32W -GetTextExtentPointW -GetTextFaceW -GetTextMetricsW -GetTimeFormatW -GetUserNameW -GetVersionExW -GetVolumeInformationW -GetWindowLongA -GetWindowLongW -GetWindowModuleFileNameW -GetWindowTextLengthW -GetWindowTextW -GetWindowsDirectoryW -GlobalAddAtomW -GlobalFindAtomW -GlobalGetAtomNameW -GrayStringW -;InitSecurityInterfaceW -;InitializeSecurityContextW -InsertMenuItemW -InsertMenuW -IsBadStringPtrW -IsCharAlphaNumericW -IsCharAlphaW -IsCharLowerW -IsCharUpperW -IsClipboardFormatAvailable -IsDestinationReachableW -IsDialogMessageW -IsTextUnicode -IsValidCodePage -IsWindowUnicode -LCMapStringW -LoadAcceleratorsW -LoadBitmapW -LoadCursorFromFileW -LoadCursorW -LoadIconW -LoadImageW -LoadKeyboardLayoutW -LoadLibraryExW -LoadLibraryW -LoadMenuIndirectW -LoadMenuW -LoadStringW -;MCIWndCreateW -MapVirtualKeyExW -MapVirtualKeyW -MessageBoxExW -MessageBoxIndirectW -MessageBoxW -ModifyMenuW -MoveFileW -MultiByteToWideChar -MultinetGetConnectionPerformanceW -OemToCharBuffW -OemToCharW -;OleUIAddVerbMenuW -;OleUIBusyW -;OleUIChangeIconW -;OleUIChangeSourceW -;OleUIConvertW -;OleUIEditLinksW -;OleUIInsertObjectW -;OleUIObjectPropertiesW -;OleUIPasteSpecialW -;OleUIPromptUserW -;OleUIUpdateLinksW -OpenEventW -OpenFileMappingW -OpenMutexW -OpenPrinterW -OpenSemaphoreW -OpenWaitableTimerW -OutputDebugStringW -PageSetupDlgW -PeekConsoleInputW -PeekMessageW -PlaySoundW -;PolyTextOutW -PostMessageW -PostThreadMessageW -PrintDlgW -;QueryContextAttributesW -;QueryCredentialsAttributesW -QueryDosDeviceW -;QuerySecurityPackageInfoW -RasConnectionNotificationW -RasCreatePhonebookEntryW -RasDeleteEntryW -RasDeleteSubEntryW -;RasDialW -RasEditPhonebookEntryW -RasEnumConnectionsW -RasEnumDevicesW -RasEnumEntriesW -RasGetConnectStatusW -RasGetEntryDialParamsW -RasGetEntryPropertiesW -RasGetErrorStringW -RasHangUpW -RasRenameEntryW -RasSetEntryDialParamsW -RasSetEntryPropertiesW -RasSetSubEntryPropertiesW -RasValidateEntryNameW -ReadConsoleInputW -ReadConsoleOutputCharacterW -ReadConsoleOutputW -ReadConsoleW -RegConnectRegistryW -RegCreateKeyExW -RegCreateKeyW -RegDeleteKeyW -RegDeleteValueW -RegEnumKeyExW -RegEnumKeyW -RegEnumValueW -RegLoadKeyW -RegOpenKeyExW -RegOpenKeyW -RegQueryInfoKeyW -RegQueryMultipleValuesW -RegQueryValueExW -RegQueryValueW -RegReplaceKeyW -RegSaveKeyW -RegSetValueExW -RegSetValueW -RegUnLoadKeyW -RegisterClassExW -RegisterClassW -RegisterClipboardFormatW -RegisterDeviceNotificationW -RegisterWindowMessageW -RemoveDirectoryW -RemoveFontResourceW -RemovePropA -RemovePropW -ReplaceTextW -ResetDCW -;ResetPrinterW -SHBrowseForFolderW -SHChangeNotify -SHFileOperationW -SHGetFileInfoW -SHGetNewLinkInfoW -SHGetPathFromIDListW -ScrollConsoleScreenBufferW -SearchPathW -SendDlgItemMessageW -SendMessageCallbackW -SendMessageTimeoutW -SendMessageW -SendNotifyMessageW -SetCalendarInfoW -SetClassLongW -SetComputerNameW -SetConsoleTitleW -SetCurrentDirectoryW -SetDefaultCommConfigW -SetDlgItemTextW -SetEnvironmentVariableW -SetFileAttributesW -SetICMProfileW -SetJobW -SetLocaleInfoW -SetMenuItemInfoW -SetPrinterDataW -SetPrinterW -SetPropA -SetPropW -SetVolumeLabelW -SetWindowLongA -SetWindowLongW -SetWindowTextW -SetWindowsHookExW -SetWindowsHookW -ShellAboutW -ShellExecuteExW -ShellExecuteW -Shell_NotifyIconW -StartDocPrinterW -StartDocW -SystemParametersInfoW -TabbedTextOutW -TextOutW -TranslateAcceleratorW -UnregisterClassW -UpdateResourceW -VerFindFileW -VerInstallFileW -VerLanguageNameW -VerQueryValueW -VkKeyScanExW -VkKeyScanW -WNetAddConnection2W -WNetAddConnection3W -WNetAddConnectionW -WNetCancelConnection2W -WNetCancelConnectionW -WNetConnectionDialog1W -WNetDisconnectDialog1W -WNetEnumResourceW -WNetGetConnectionW -WNetGetLastErrorW -WNetGetNetworkInformationW -WNetGetProviderNameW -WNetGetResourceInformationW -WNetGetResourceParentW -WNetGetUniversalNameW -WNetGetUserW -WNetOpenEnumW -WNetUseConnectionW -WaitNamedPipeW -WideCharToMultiByte -WinHelpW -WriteConsoleInputW -WriteConsoleOutputCharacterW -WriteConsoleOutputW -WriteConsoleW -WritePrivateProfileSectionW -WritePrivateProfileStringW -WritePrivateProfileStructW -WriteProfileSectionW -WriteProfileStringW -;auxGetDevCapsW -capCreateCaptureWindowW -capGetDriverDescriptionW -;joyGetDevCapsW -lstrcatW -lstrcmpW -lstrcmpiW -lstrcpyW -lstrcpynW -lstrlenW -;mciGetDeviceIDW -;mciGetErrorStringW -;mciSendCommandW -;mciSendStringW -;midiInGetDevCapsW -;midiInGetErrorTextW -;midiOutGetDevCapsW -;midiOutGetErrorTextW -;mixerGetControlDetailsW -;mixerGetDevCapsW -;mixerGetLineControlsW -;mixerGetLineInfoW -;mmioInstallIOProcW -;mmioOpenW -;mmioRenameW -;mmioStringToFOURCCW -sndPlaySoundW -;waveInGetDevCapsW -;waveInGetErrorTextW -;waveOutGetDevCapsW -;waveOutGetErrorTextW -wsprintfW -wvsprintfW
\ No newline at end of file diff --git a/sal/systools/win32/uwinapi/unicows_mingw.dxp b/sal/systools/win32/uwinapi/unicows_mingw.dxp deleted file mode 100644 index f898d4b2a..000000000 --- a/sal/systools/win32/uwinapi/unicows_mingw.dxp +++ /dev/null @@ -1,544 +0,0 @@ -;************************************************************************* -; -; DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -; -; Copyright 2000, 2010 Oracle and/or its affiliates. -; -; OpenOffice.org - a multi-platform office productivity suite -; -; This file is part of OpenOffice.org. -; -; OpenOffice.org is free software: you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License version 3 -; only, as published by the Free Software Foundation. -; -; OpenOffice.org is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU Lesser General Public License version 3 for more details -; (a copy is included in the LICENSE file that accompanied this code). -; -; You should have received a copy of the GNU Lesser General Public License -; version 3 along with OpenOffice.org. If not, see -; <http://www.openoffice.org/license.html> -; for a copy of the LGPLv3 License. -; -;************************************************************************* -; -; Functions that are exported but not implemented by unicows.dll -; are only inserted as comment. -; -; In addition to MSDN Platform SDK documentation the following functions -; are not implemented too: -; AddMonitorW, FreeContextBufferW, GetPrinterDriverDirectoryW, -; MCIWndCreateW -; -; The following functions of unicows.dll are buggy: -; DrawStateW, GetLogicalDriveStringsW (both implemented in uwinapi.dll) -; -; The following functions of unicows.dll are wrapped but the ANSI versions -; do not exist on Win9x so the wrapper is useless: -; MoveFileExW, CopyFileExW (both implemented in uwinapi.dll along with the -; ANSI versions ) -; -; These functions do not exist on Win 95 and NT neither as Unicode -; nor as ANSI version, so the wrapper will fail on NT4 and Win 95 -; GetLongPathNameW ( implemented in uwinapi.dll along with the -; ANSI version ) -; -; These essential functions aren't implemented by unicows.dll because -; there's no ANSI version: -; CommandLineToArgvW (implemented by uwinapi.dll) -; -;************************************************************************* - -;AcquireCredentialsHandleW@36 -AddAtomW@4 -AddFontResourceW@4 -AddJobW@20 -AddPortW@12 -AddPrintProcessorW@16 -AddPrintProvidorW@12 -AddPrinterDriverW@12 -AddPrinterW@12 -AdvancedDocumentPropertiesW@20 -AppendMenuW@16 -BeginUpdateResourceW@8 -BroadcastSystemMessageW@20 -BuildCommDCBAndTimeoutsW@12 -BuildCommDCBW@8 -CallMsgFilterW@8 -CallNamedPipeW@28 -CallWindowProcA@20 -CallWindowProcW@20 -ChangeDisplaySettingsExW@20 -ChangeDisplaySettingsW@8 -ChangeMenuW@20 -CharLowerBuffW@8 -CharLowerW@4 -CharNextW@4 -CharPrevW@8 -CharToOemBuffW@12 -CharToOemW@8 -CharUpperBuffW@8 -CharUpperW@4 -ChooseColorW@4 -ChooseFontW@4 -CommConfigDialogW@12 -CompareStringW@24 -ConfigurePortW@12 -CopyAcceleratorTableW@12 -CopyEnhMetaFileW@8 -CopyFileExW@24 -CopyFileW@12 -CopyMetaFileW@8 -CreateAcceleratorTableW@8 -CreateColorSpaceW@4 -CreateDCW@16 -CreateDialogIndirectParamW@20 -CreateDialogParamW@20 -CreateDirectoryExW@12 -CreateDirectoryW@8 -CreateEnhMetaFileW@16 -CreateEventW@16 -CreateFileMappingW@24 -CreateFileW@28 -CreateFontIndirectW@4 -CreateFontW@56 -CreateICW@16 -CreateMDIWindowW@40 -CreateMailslotW@16 -CreateMetaFileW@4 -CreateMutexW@12 -;CreateNamedPipeW@32 -CreateProcessW@40 -CreateScalableFontResourceW@16 -CreateSemaphoreW@16 -CreateStdAccessibleProxyW@20 -CreateWaitableTimerW@12 -CreateWindowExW@48 -DdeConnect@16 -DdeConnectList@20 -DdeCreateStringHandleW@12 -DdeInitializeW@16 -DdeQueryConvInfo@12 -DdeQueryStringW@20 -DefDlgProcW@16 -DefFrameProcW@20 -DefMDIChildProcW@16 -DefWindowProcW@16 -DeleteFileW@4 -DeleteMonitorW@12 -DeletePortW@12 -DeletePrintProcessorW@12 -DeletePrintProvidorW@12 -DeletePrinterDriverW@12 -;DeviceCapabilitiesW@20 -DialogBoxIndirectParamW@20 -DialogBoxParamW@20 -DispatchMessageW@4 -DlgDirListComboBoxW@20 -DlgDirListW@20 -DlgDirSelectComboBoxExW@16 -DlgDirSelectExW@16 -;DocumentPropertiesW@24 -DragQueryFileW@16 -DrawStateW@40 -DrawTextExW@24 -DrawTextW@20 -EnableWindow@8 -EndUpdateResourceW@8 -EnumCalendarInfoExW@16 -EnumCalendarInfoW@16 -EnumClipboardFormats@4 -EnumDateFormatsExW@12 -EnumDateFormatsW@12 -EnumDisplayDevicesW@16 -EnumDisplaySettingsExW@16 -EnumDisplaySettingsW@12 -EnumFontFamiliesExW@20 -EnumFontFamiliesW@16 -EnumFontsW@16 -EnumICMProfilesW@12 -;EnumMonitorsW@24 -;EnumPortsW@24 -;EnumPrintProcessorDatatypesW@28 -;EnumPrintProcessorsW@28 -;EnumPrinterDriversW@28 -;EnumPrintersW@28 -EnumPropsA@8 -EnumPropsExA@12 -EnumPropsExW@12 -EnumPropsW@8 -EnumSystemCodePagesW@8 -EnumSystemLocalesW@8 -EnumTimeFormatsW@12 -;EnumerateSecurityPackagesW@8 -ExpandEnvironmentStringsW@12 -ExtTextOutW@32 -ExtractIconExW@20 -ExtractIconW@12 -FatalAppExitW@8 -FillConsoleOutputCharacterW@20 -FindAtomW@4 -;FindExecutableW@12 -FindFirstChangeNotificationW@12 -FindFirstFileW@8 -FindNextFileW@8 -FindResourceExW@16 -FindResourceW@12 -FindTextW@4 -FindWindowExW@16 -FindWindowW@8 -FormatMessageW@28 -;FreeContextBuffer@4 -FreeEnvironmentStringsW@4 -GetAltTabInfoW@20 -GetAtomNameW@12 -GetCPInfo@8 -GetCPInfoExW@12 -GetCalendarInfoW@24 -;GetCharABCWidthsFloatW@16 -GetCharABCWidthsW@16 -GetCharWidthFloatW@16 -GetCharWidthW@16 -GetCharacterPlacementW@24 -GetClassInfoExW@12 -GetClassInfoW@12 -GetClassLongW@8 -GetClassNameW@12 -GetClipboardData@4 -GetClipboardFormatNameW@12 -GetComputerNameW@8 -GetConsoleTitleW@8 -GetCurrencyFormatW@24 -GetCurrentDirectoryW@8 -GetCurrentHwProfileW@4 -GetDateFormatW@24 -GetDefaultCommConfigW@12 -GetDiskFreeSpaceExW@16 -GetDiskFreeSpaceW@20 -GetDlgItemTextW@16 -GetDriveTypeW@4 -GetEnhMetaFileDescriptionW@12 -GetEnhMetaFileW@4 -GetEnvironmentStringsW@0 -GetEnvironmentVariableW@12 -GetFileAttributesExW@12 -GetFileAttributesW@4 -GetFileTitleW@12 -GetFileVersionInfoSizeW@8 -GetFileVersionInfoW@16 -GetFullPathNameW@16 -GetGlyphOutlineW@28 -GetICMProfileW@12 -;GetJobW@24 -GetKerningPairsW@12 -GetKeyNameTextW@12 -GetKeyboardLayoutNameW@4 -GetLocaleInfoW@16 -GetLogColorSpaceW@12 -GetLogicalDriveStringsW@8 -GetLongPathNameW@12 -GetMenuItemInfoW@16 -GetMenuStringW@20 -GetMessageW@16 -GetMetaFileW@4 -GetModuleFileNameW@12 -GetModuleHandleW@4 -GetMonitorInfoW@8 -GetNamedPipeHandleStateW@28 -GetNumberFormatW@24 -GetObjectW@12 -GetOpenFileNamePreviewW@4 -GetOpenFileNameW@4 -GetOutlineTextMetricsW@12 -GetPrintProcessorDirectoryW@24 -;GetPrinterDataW@24 -;GetPrinterDriverDirectoryW24 -;GetPrinterDriverW@24 -;GetPrinterW@20 -GetPrivateProfileIntW@16 -GetPrivateProfileSectionNamesW@12 -GetPrivateProfileSectionW@16 -GetPrivateProfileStringW@24 -GetPrivateProfileStructW@20 -GetProcAddress@8=Internal_GetProcAddress@8 -GetProfileIntW@12 -GetProfileSectionW@12 -GetProfileStringW@20 -GetPropA@8 -GetPropW@8 -GetRoleTextW@12 -GetSaveFileNamePreviewW@4 -GetSaveFileNameW@4 -GetShortPathNameW@12 -GetStartupInfoW@4 -GetStateTextW@12 -GetStringTypeExW@20 -GetStringTypeW@16 -GetSystemDirectoryW@8 -GetSystemWindowsDirectoryW@8 -GetTabbedTextExtentW@20 -GetTempFileNameW@16 -GetTempPathW@8 -GetTextExtentExPointW@28 -GetTextExtentPoint32W@16 -GetTextExtentPointW@16 -GetTextFaceW@12 -GetTextMetricsW@8 -GetTimeFormatW@24 -GetUserNameW@8 -GetVersionExW@4 -GetVolumeInformationW@32 -GetWindowLongA@8 -GetWindowLongW@8 -GetWindowModuleFileNameW@12 -GetWindowTextLengthW@4 -GetWindowTextW@12 -GetWindowsDirectoryW@8 -GlobalAddAtomW@4 -GlobalFindAtomW@4 -GlobalGetAtomNameW@12 -GrayStringW@36 -;InitSecurityInterfaceW@0 -;InitializeSecurityContextW@48 -InsertMenuItemW@16 -InsertMenuW@20 -IsBadStringPtrW@8 -IsCharAlphaNumericW@4 -IsCharAlphaW@4 -IsCharLowerW@4 -IsCharUpperW@4 -IsClipboardFormatAvailable@4 -IsDestinationReachableW@8 -IsDialogMessageW@8 -IsTextUnicode@12 -IsValidCodePage@4 -IsWindowUnicode@4 -LCMapStringW@24 -LoadAcceleratorsW@8 -LoadBitmapW@8 -LoadCursorFromFileW@4 -LoadCursorW@8 -LoadIconW@8 -LoadImageW@24 -LoadKeyboardLayoutW@8 -LoadLibraryExW@12 -LoadLibraryW@4 -LoadMenuIndirectW@4 -LoadMenuW@8 -LoadStringW@16 -;MCIWndCreateW@4 -MapVirtualKeyExW@12 -MapVirtualKeyW@8 -MessageBoxExW@20 -MessageBoxIndirectW@4 -MessageBoxW@16 -ModifyMenuW@20 -MoveFileW@8 -MultiByteToWideChar@24 -MultinetGetConnectionPerformanceW@8 -OemToCharBuffW@12 -OemToCharW@8 -;OleUIAddVerbMenuW@36 -;OleUIBusyW@4 -;OleUIChangeIconW@4 -;OleUIChangeSourceW@4 -;OleUIConvertW@4 -;OleUIEditLinksW@4 -;OleUIInsertObjectW@4 -;OleUIObjectPropertiesW@4 -;OleUIPasteSpecialW@4 -;OleUIPromptUserW@8 -;OleUIUpdateLinksW@16 -OpenEventW@12 -OpenFileMappingW@12 -OpenMutexW@12 -OpenPrinterW@12 -OpenSemaphoreW@12 -OpenWaitableTimerW@12 -OutputDebugStringW@4 -PageSetupDlgW@4 -PeekConsoleInputW@16 -PeekMessageW@20 -PlaySoundW@12 -;PolyTextOutW@12 -PostMessageW@16 -PostThreadMessageW@16 -PrintDlgW@4 -;QueryContextAttributesW@12 -;QueryCredentialsAttributesW@12 -QueryDosDeviceW@12 -;QuerySecurityPackageInfoW@8 -RasConnectionNotificationW@12 -RasCreatePhonebookEntryW@8 -RasDeleteEntryW@8 -RasDeleteSubEntryW@12 -;RasDialW@24 -RasEditPhonebookEntryW@12 -RasEnumConnectionsW@12 -RasEnumDevicesW@12 -RasEnumEntriesW@20 -RasGetConnectStatusW@8 -RasGetEntryDialParamsW@12 -RasGetEntryPropertiesW@24 -RasGetErrorStringW@12 -RasHangUpW@4 -RasRenameEntryW@12 -RasSetEntryDialParamsW@12 -RasSetEntryPropertiesW@24 -RasSetSubEntryPropertiesW@28 -RasValidateEntryNameW@8 -ReadConsoleInputW@16 -ReadConsoleOutputCharacterW@20 -ReadConsoleOutputW@20 -ReadConsoleW@20 -RegConnectRegistryW@12 -RegCreateKeyExW@36 -RegCreateKeyW@12 -RegDeleteKeyW@8 -RegDeleteValueW@8 -RegEnumKeyExW@32 -RegEnumKeyW@16 -RegEnumValueW@32 -RegLoadKeyW@12 -RegOpenKeyExW@20 -RegOpenKeyW@12 -RegQueryInfoKeyW@48 -RegQueryMultipleValuesW@20 -RegQueryValueExW@24 -RegQueryValueW@16 -RegReplaceKeyW@16 -RegSaveKeyW@12 -RegSetValueExW@24 -RegSetValueW@20 -RegUnLoadKeyW@8 -RegisterClassExW@4 -RegisterClassW@4 -RegisterClipboardFormatW@4 -RegisterDeviceNotificationW@12 -RegisterWindowMessageW@4 -RemoveDirectoryW@4 -RemoveFontResourceW@4 -RemovePropA@8 -RemovePropW@8 -ReplaceTextW@4 -ResetDCW@8 -;ResetPrinterW@8 -SHBrowseForFolderW@4 -SHChangeNotify@16 -SHFileOperationW@4 -SHGetFileInfoW@20 -SHGetNewLinkInfoW@20 -SHGetPathFromIDListW@8 -ScrollConsoleScreenBufferW@20 -SearchPathW@24 -SendDlgItemMessageW@20 -SendMessageCallbackW@24 -SendMessageTimeoutW@28 -SendMessageW@16 -SendNotifyMessageW@16 -SetCalendarInfoW@16 -SetClassLongW@12 -SetComputerNameW@4 -SetConsoleTitleW@4 -SetCurrentDirectoryW@4 -SetDefaultCommConfigW@12 -SetDlgItemTextW@12 -SetEnvironmentVariableW@8 -SetFileAttributesW@8 -SetICMProfileW@8 -SetJobW@20 -SetLocaleInfoW@12 -SetMenuItemInfoW@16 -SetPrinterDataW@20 -SetPrinterW@16 -SetPropA@12 -SetPropW@12 -SetVolumeLabelW@8 -SetWindowLongA@12 -SetWindowLongW@12 -SetWindowTextW@8 -SetWindowsHookExW@16 -SetWindowsHookW@8 -ShellAboutW@16 -ShellExecuteExW@4 -ShellExecuteW@24 -Shell_NotifyIconW@8 -StartDocPrinterW@12 -StartDocW@8 -SystemParametersInfoW@16 -TabbedTextOutW@32 -TextOutW@20 -TranslateAcceleratorW@12 -UnregisterClassW@8 -UpdateICMRegKeyW@16 -UpdateResourceW@24 -VerFindFileW@32 -VerInstallFileW@32 -VerLanguageNameW@12 -VerQueryValueW@16 -VkKeyScanExW@8 -VkKeyScanW@4 -WNetAddConnection2W@16 -WNetAddConnection3W@20 -WNetAddConnectionW@12 -WNetCancelConnection2W@12 -WNetCancelConnectionW@8 -WNetConnectionDialog1W@4 -WNetDisconnectDialog1W@4 -WNetEnumResourceW@16 -WNetGetConnectionW@12 -WNetGetLastErrorW@20 -WNetGetNetworkInformationW@8 -WNetGetProviderNameW@12 -WNetGetResourceInformationW@16 -WNetGetResourceParentW@12 -WNetGetUniversalNameW@16 -WNetGetUserW@12 -WNetOpenEnumW@20 -WNetUseConnectionW@32 -WaitNamedPipeW@8 -WideCharToMultiByte@32 -WinHelpW@16 -WriteConsoleInputW@16 -WriteConsoleOutputCharacterW@20 -WriteConsoleOutputW@20 -WriteConsoleW@20 -WritePrivateProfileSectionW@12 -WritePrivateProfileStringW@16 -WritePrivateProfileStructW@20 -WriteProfileSectionW@8 -WriteProfileStringW@12 -;auxGetDevCapsW@12 -capCreateCaptureWindowW@32 -capGetDriverDescriptionW@20 -;joyGetDevCapsW@12 -lstrcatW@8 -lstrcmpW@8 -lstrcmpiW@8 -lstrcpyW@8 -lstrcpynW@12 -lstrlenW@4 -;mciGetDeviceIDW@4 -;mciGetErrorStringW@12 -;mciSendCommandW@16 -;mciSendStringW@16 -;midiInGetDevCapsW@12 -;midiInGetErrorTextW@12 -;midiOutGetDevCapsW@12 -;mixerGetControlDetailsW@12 -;mixerGetDevCapsW@12 -;mixerGetLineControlsW@12 -;mixerGetLineInfoW@12 -;mmioInstallIOProcW@12 -;mmioOpenW@@12 -;mmioRenameW@16 -;sndPlaySoundW@8 -;waveInGetDevCapsW@12 -;waveInGetErrorTextW@12 -;waveOutGetDevCapsW@12 -;waveOutGetErrorTextW@12 -wsprintfW -wvsprintfW@12 diff --git a/sal/systools/win32/uwinapi/uwinapi.dxp b/sal/systools/win32/uwinapi/uwinapi.dxp deleted file mode 100644 index 551671853..000000000 --- a/sal/systools/win32/uwinapi/uwinapi.dxp +++ /dev/null @@ -1,86 +0,0 @@ -;************************************************************************* -; -; DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -; -; Copyright 2000, 2010 Oracle and/or its affiliates. -; -; OpenOffice.org - a multi-platform office productivity suite -; -; This file is part of OpenOffice.org. -; -; OpenOffice.org is free software: you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License version 3 -; only, as published by the Free Software Foundation. -; -; OpenOffice.org is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU Lesser General Public License version 3 for more details -; (a copy is included in the LICENSE file that accompanied this code). -; -; You should have received a copy of the GNU Lesser General Public License -; version 3 along with OpenOffice.org. If not, see -; <http://www.openoffice.org/license.html> -; for a copy of the LGPLv3 License. -; -;************************************************************************* - -DllGetVersion -;CheckTokenMembership -CommandLineToArgvW -CopyFileExA -CopyFileExW -CreateToolhelp32Snapshot -DrawStateW -EnumProcesses -GetDiskFreeSpaceExA -GetDiskFreeSpaceExW -GetLogicalDriveStringsW -GetLongPathNameA -GetLongPathNameW -GetModuleFileNameExA -GetModuleFileNameExW -GetProcessId -GetUserDefaultUILanguage -GetUserDomainA -GetUserDomainW -Module32First -Module32FirstW -Module32Next -Module32NextW -MoveFileExA -MoveFileExW -Process32First -Process32FirstW -Process32Next -Process32NextW -FindFirstVolumeA -FindFirstVolumeW -FindNextVolumeA -FindNextVolumeW -FindVolumeClose -FindFirstVolumeMountPointA -FindFirstVolumeMountPointW -FindNextVolumeMountPointA -FindNextVolumeMountPointW -FindVolumeMountPointClose -GetVolumeNameForVolumeMountPointA -GetVolumeNameForVolumeMountPointW -DeleteVolumeMountPointA -DeleteVolumeMountPointW -GetVolumePathNameA -GetVolumePathNameW -SetVolumeMountPointA -SetVolumeMountPointW -PathAddBackslashW -PathCompactPathExW -PathFileExistsW -PathFindExtensionW -PathFindFileNameW -PathIsFileSpecW -PathIsUNCW -PathRemoveExtensionW -PathRemoveFileSpecW -PathSetDlgItemPathW -PathStripToRootW -SHCreateItemFromParsingName diff --git a/sal/systools/win32/uwinapi/uwinapi_mingw.dxp b/sal/systools/win32/uwinapi/uwinapi_mingw.dxp deleted file mode 100644 index 81cc6faa0..000000000 --- a/sal/systools/win32/uwinapi/uwinapi_mingw.dxp +++ /dev/null @@ -1,90 +0,0 @@ -;************************************************************************* -; -; DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -; -; Copyright 2000, 2010 Oracle and/or its affiliates. -; -; OpenOffice.org - a multi-platform office productivity suite -; -; This file is part of OpenOffice.org. -; -; OpenOffice.org is free software: you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License version 3 -; only, as published by the Free Software Foundation. -; -; OpenOffice.org is distributed in the hope that it will be useful, -; but WITHOUT ANY WARRANTY; without even the implied warranty of -; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -; GNU Lesser General Public License version 3 for more details -; (a copy is included in the LICENSE file that accompanied this code). -; -; You should have received a copy of the GNU Lesser General Public License -; version 3 along with OpenOffice.org. If not, see -; <http://www.openoffice.org/license.html> -; for a copy of the LGPLv3 License. -; -;************************************************************************* - -DllGetVersion@4 -CommandLineToArgvW@8 -CopyFileExA@24 -CopyFileExW@24 -CreateToolhelp32Snapshot@8 -DrawStateW@40 -EnumProcesses@12 -GetDiskFreeSpaceExA@16 -GetDiskFreeSpaceExW@16 -GetLogicalDriveStringsW@8 -GetLongPathNameA@12 -GetLongPathNameW@12 -GetModuleFileNameExA@16 -GetModuleFileNameExW@16 -GetProcessId@4 -GetUserDefaultUILanguage@0 -GetUserDomainA@8 -GetUserDomainW@8 -Module32First@8 -Module32FirstW@8 -Module32Next@8 -Module32NextW@8 -MoveFileExA@12 -MoveFileExW@12 -Process32First@8 -Process32FirstW@8 -Process32Next@8 -Process32NextW@8 -FindFirstVolumeA@8 -FindFirstVolumeW@8 -FindNextVolumeA@12 -FindNextVolumeW@12 -FindVolumeClose@4 -FindFirstVolumeMountPointA@12 -FindFirstVolumeMountPointW@12 -FindNextVolumeMountPointA@12 -FindNextVolumeMountPointW@12 -FindVolumeMountPointClose@4 -GetVolumeNameForVolumeMountPointA@12 -GetVolumeNameForVolumeMountPointW@12 -DeleteVolumeMountPointA@4 -DeleteVolumeMountPointW@4 -GetVolumePathNameA@12 -GetVolumePathNameW@12 -SetVolumeMountPointA@8 -SetVolumeMountPointW@8 -PathAddBackslashW@4 -PathCompactPathExW@16 -PathFileExistsW@4 -PathFindExtensionW@4 -PathFindFileNameW@4 -PathIsFileSpecW@4 -PathIsUNCW@4 -PathRemoveExtensionW@4 -PathRemoveFileSpecW@4 -PathSetDlgItemPathW@12 -PathStripToRootW@4 -SHCreateItemFromParsingName@16 -snprintf -snwprintf -vsnprintf -vsnwprintf - diff --git a/sal/systools/win32/uwinapi/win95sys.h b/sal/systools/win32/uwinapi/win95sys.h deleted file mode 100644 index a02789ece..000000000 --- a/sal/systools/win32/uwinapi/win95sys.h +++ /dev/null @@ -1,350 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -#pragma once - -//Kernel32 objects - -#define K32OBJ_SEMAPHORE 0x1 -#define K32OBJ_EVENT 0x2 -#define K32OBJ_MUTEX 0x3 -#define K32OBJ_CRITICAL_SECTION 0x4 -#define K32OBJ_PROCESS 0x5 -#define K32OBJ_THREAD 0x6 -#define K32OBJ_FILE 0x7 -#define K32OBJ_CHANGE 0x8 -#define K32OBJ_CONSOLE 0x9 -#define K32OBJ_SCREEN_BUFFER 0xA -#define K32OBJ_MEM_MAPPED_FILE 0xB -#define K32OBJ_SERIAL 0xC -#define K32OBJ_DEVICE_IOCTL 0xD -#define K32OBJ_PIPE 0xE -#define K32OBJ_MAILSLOT 0xF -#define K32OBJ_TOOLHELP_SNAPSHOT 0x10 -#define K32OBJ_SOCKET 0x11 - - -//Process Database flags - -#define fDebugSingle 0x00000001 -#define fCreateProcessEvent 0x00000002 -#define fExitProcessEvent 0x00000004 -#define fWin16Process 0x00000008 -#define fDosProcess 0x00000010 -#define fConsoleProcess 0x00000020 -#define fFileApisAreOem 0x00000040 -#define fNukeProcess 0x00000080 -#define fServiceProcess 0x00000100 -#define fLoginScriptHack 0x00000800 - - -//Thread Database flags - -#define fCreateThreadEvent 0x00000001 -#define fCancelExceptionAbort 0x00000002 -#define fOnTempStack 0x00000004 -#define fGrowableStack 0x00000008 -#define fDelaySingleStep 0x00000010 -#define fOpenExeAsImmovableFile 0x00000020 -#define fCreateSuspended 0x00000040 -#define fStackOverflow 0x00000080 -#define fNestedCleanAPCs 0x00000100 -#define fWasOemNowAnsi 0x00000200 -#define fOKToSetThreadOem 0x00000400 - -#ifdef _MSC_VER -#pragma warning(disable:4103) -#endif -#pragma pack(1) - - -//MODREF and IMTE structures - -typedef struct _MODREF { - struct _MODREF *pNextModRef; // 00h - DWORD un1; // 04h - DWORD un2; // 08h - DWORD un3; // 0Ch - WORD mteIndex; // 10h - WORD un4; // 12h - DWORD un5; // 14h - PVOID ppdb; // 18h Pointer to process database - DWORD un6; // 1Ch - DWORD un7; // 20h - DWORD un8; // 24h -} MODREF, *PMODREF; - -typedef struct _IMTE { - DWORD un1; // 00h - PIMAGE_NT_HEADERS pNTHdr; // 04h - DWORD un2; // 08h - PSTR pszFileName; // 0Ch - PSTR pszModName; // 10h - WORD cbFileName; // 14h - WORD cbModName; // 16h - DWORD un3; // 18h - DWORD cSections; // 1Ch - DWORD un5; // 20h - DWORD baseAddress; // 24h - WORD hModule16; // 28h - WORD cUsage; // 2Ah - DWORD un7; // 2Ch - PSTR pszFileName2; // 30h - WORD cbFileName2; // 34h - DWORD pszModName2; // 36h - WORD cbModName2; // 3Ah -} IMTE, *PIMTE; - - -//Process Database structure - -typedef struct _ENVIRONMENT_DATABASE { -PSTR pszEnvironment; // 00h Pointer to Environment -DWORD un1; // 04h -PSTR pszCmdLine; // 08h Pointer to command line -PSTR pszCurrDirectory; // 0Ch Pointer to current directory -LPSTARTUPINFOA pStartupInfo;// 10h Pointer to STARTUPINFOA struct -HANDLE hStdIn; // 14h Standard Input -HANDLE hStdOut; // 18h Standard Output -HANDLE hStdErr; // 1Ch Standard Error -DWORD un2; // 20h -DWORD InheritConsole; // 24h -DWORD BreakType; // 28h -DWORD BreakSem; // 2Ch -DWORD BreakEvent; // 30h -DWORD BreakThreadID; // 34h -DWORD BreakHandlers; // 38h -} ENVIRONMENT_DATABASE, *PENVIRONMENT_DATABASE; - -typedef struct _KERNEL_OBJECT { -DWORD Type; // 00h KERNEL32 object type (5) -DWORD cReference; // 04h Number of references to process -} KERNEL_OBJECT, *PKERNEL_OBJECT; - -typedef struct _HANDLE_TABLE_ENTRY { - DWORD flags; // Valid flags depend on what type of object this is - PKERNEL_OBJECT pObject; // Pointer to the object that the handle refers to -} HANDLE_TABLE_ENTRY, *PHANDLE_TABLE_ENTRY; - -typedef struct _HANDLE_TABLE { - DWORD cEntries; // Max number of handles in table - HANDLE_TABLE_ENTRY array[1]; // An array (number is given by cEntries) -} HANDLE_TABLE, *PHANDLE_TABLE; - - -typedef struct _PROCESS_DATABASE { -DWORD Type; // 00h KERNEL32 object type (5) -DWORD cReference; // 04h Number of references to process -DWORD un1; // 08h -DWORD someEvent; // 0Ch An event object (What's it used for???) -DWORD TerminationStatus; // 10h Returned by GetExitCodeProcess -DWORD un2; // 14h -DWORD DefaultHeap; // 18h Address of the process heap -DWORD MemoryContext; // 1Ch pointer to the process's context -DWORD flags; // 20h - // 0x00000001 - fDebugSingle - // 0x00000002 - fCreateProcessEvent - // 0x00000004 - fExitProcessEvent - // 0x00000008 - fWin16Process - // 0x00000010 - fDosProcess - // 0x00000020 - fConsoleProcess - // 0x00000040 - fFileApisAreOem - // 0x00000080 - fNukeProcess - // 0x00000100 - fServiceProcess - // 0x00000800 - fLoginScriptHack -DWORD pPSP; // 24h Linear address of PSP? -WORD PSPSelector; // 28h -WORD MTEIndex; // 2Ah -WORD cThreads; // 2Ch -WORD cNotTermThreads; // 2Eh -WORD un3; // 30h -WORD cRing0Threads; // 32h number of ring 0 threads -HANDLE HeapHandle; // 34h Heap to allocate handle tables out of - // This seems to always be the KERNEL32 heap -HTASK W16TDB; // 38h Win16 Task Database selector -DWORD MemMapFiles; // 3Ch memory mapped file list (?) -PENVIRONMENT_DATABASE pEDB; // 40h Pointer to Environment Database -PHANDLE_TABLE pHandleTable; // 44h Pointer to process handle table -struct _PROCESS_DATABASE *ParentPDB; // 48h Parent process database -PMODREF MODREFlist; // 4Ch Module reference list -DWORD ThreadList; // 50h Threads in this process -DWORD DebuggeeCB; // 54h Debuggee Context block? -DWORD LocalHeapFreeHead; // 58h Head of free list in process heap -DWORD InitialRing0ID; // 5Ch -CRITICAL_SECTION crst; // 60h -DWORD un4[3]; // 78h -DWORD pConsole; // 84h Pointer to console for process -DWORD tlsInUseBits1; // 88h // Represents TLS indices 0 - 31 -DWORD tlsInUseBits2; // 8Ch // Represents TLS indices 32 - 63 -DWORD ProcessDWORD; // 90h -struct _PROCESS_DATABASE *ProcessGroup; // 94h -DWORD pExeMODREF; // 98h pointer to EXE's MODREF -DWORD TopExcFilter; // 9Ch Top Exception Filter? -DWORD BasePriority; // A0h Base scheduling priority for process -DWORD HeapOwnList; // A4h Head of the list of process heaps -DWORD HeapHandleBlockList;// A8h Pointer to head of heap handle block list -DWORD pSomeHeapPtr; // ACh normally zero, but can a pointer to a - // moveable handle block in the heap -DWORD pConsoleProvider; // B0h Process that owns the console we're using? -WORD EnvironSelector; // B4h Selector containing process environment -WORD ErrorMode; // B6H SetErrorMode value (also thunks to Win16) -DWORD pevtLoadFinished; // B8h Pointer to event LoadFinished? -WORD UTState; // BCh -} PROCESS_DATABASE, *PPROCESS_DATABASE; - - -//TIB (Thread Information Block) structure - -typedef struct _SEH_record { - struct _SEH_record *pNext; - FARPROC pfnHandler; -} SEH_record, *PSEH_record; - -// This is semi-documented in the NTDDK.H file from the NT DDK -typedef struct _TIB { -PSEH_record pvExcept; // 00h Head of exception record list -PVOID pvStackUserTop; // 04h Top of user stack -PVOID pvStackUserBase; // 08h Base of user stack -WORD pvTDB; // 0Ch TDB -WORD pvThunksSS; // 0Eh SS selector used for thunking to 16 bits -DWORD SelmanList; // 10h -PVOID pvArbitrary; // 14h Available for application use -struct _tib *ptibSelf; // 18h Linear address of TIB structure -WORD TIBFlags; // 1Ch -WORD Win16MutexCount; // 1Eh -DWORD DebugContext; // 20h -DWORD pCurrentPriority; // 24h -DWORD pvQueue; // 28h Message Queue selector -PVOID *pvTLSArray; // 2Ch Thread Local Storage array -} TIB, *PTIB; - - -//TDBX structure - -typedef struct _TDBX { - DWORD ptdb; // 00h // PTHREAD_DATABASE - DWORD ppdb; // 04h // PPROCESDS_DATABASE - DWORD ContextHandle; // 08h - DWORD un1; // 0Ch - DWORD TimeOutHandle; // 10h - DWORD WakeParam; // 14h - DWORD BlockHandle; // 18h - DWORD BlockState; // 1Ch - DWORD SuspendCount; // 20h - DWORD SuspendHandle; // 24h - DWORD MustCompleteCount; // 28h - DWORD WaitExFlags; // 2Ch - // 0x00000001 - WAITEXBIT - // 0x00000002 - WAITACKBIT - // 0x00000004 - SUSPEND_APC_PENDING - // 0x00000008 - SUSPEND_TERMINATED - // 0x00000010 - BLOCKED_FOR_TERMINATION - // 0x00000020 - EMULATE_NPX - // 0x00000040 - WIN32_NPX - // 0x00000080 - EXTENDED_HANDLES - // 0x00000100 - FROZEN - // 0x00000200 - DONT_FREEZE - // 0x00000400 - DONT_UNFREEZE - // 0x00000800 - DONT_TRACE - // 0x00001000 - STOP_TRACING - // 0x00002000 - WAITING_FOR_CRST_SAFE - // 0x00004000 - CRST_SAFE - // 0x00040000 - BLOCK_TERMINATE_APC - DWORD SyncWaitCount; // 30h - DWORD QueuedSyncFuncs; // 34h - DWORD UserAPCList; // 38h - DWORD KernAPCList; // 3Ch - DWORD pPMPSPSelector; // 40h - DWORD BlockedOnID; // 44h - DWORD un2[7]; // 48h - DWORD TraceRefData; // 64h - DWORD TraceCallBack; // 68h - DWORD TraceEventHandle; // 6Ch - WORD TraceOutLastCS; // 70h - WORD K16TDB; // 72h - WORD K16PDB; // 74h - WORD DosPDBSeg; // 76h - WORD ExceptionCount; // 78h -} TDBX, *PTDBX; - - -//Thread Database structure - -typedef struct _THREAD_DATABASE { -DWORD Type; // 00h -DWORD cReference; // 04h -PPROCESS_DATABASE pProcess; // 08h -DWORD someEvent; // 0Ch An event object (What's it used for???) -DWORD pvExcept; // 10h This field through field 3CH is a TIB - // structure (see TIB.H) -DWORD TopOfStack; // 14h -DWORD StackLow; // 18h -WORD W16TDB; // 1Ch -WORD StackSelector16; // 1Eh Used when thunking down to 16 bits -DWORD SelmanList; // 20h -DWORD UserPointer; // 24h -PTIB pTIB; // 28h -WORD TIBFlags; // 2Ch TIBF_WIN32 = 1, TIBF_TRAP = 2 -WORD Win16MutexCount; // 2Eh -DWORD DebugContext; // 30h -PDWORD pCurrentPriority; // 34h -DWORD MessageQueue; // 38h -DWORD pTLSArray; // 3Ch -PPROCESS_DATABASE pProcess2;// 40h Another copy of the thread's process??? -DWORD Flags; // 44h - // 0x00000001 - fCreateThreadEvent - // 0x00000002 - fCancelExceptionAbort - // 0x00000004 - fOnTempStack - // 0x00000008 - fGrowableStack - // 0x00000010 - fDelaySingleStep - // 0x00000020 - fOpenExeAsImmovableFile - // 0x00000040 - fCreateSuspended - // 0x00000080 - fStackOverflow - // 0x00000100 - fNestedCleanAPCs - // 0x00000200 - fWasOemNowAnsi - // 0x00000400 - fOKToSetThreadOem -DWORD TerminationStatus; // 48h Returned by GetExitCodeThread -WORD TIBSelector; // 4Ch -WORD EmulatorSelector; // 4Eh -DWORD cHandles; // 50h -DWORD WaitNodeList; // 54h -DWORD un4; // 58h -DWORD Ring0Thread; // 5Ch -PTDBX pTDBX; // 60 -DWORD StackBase; // 64h -DWORD TerminationStack; // 68h -DWORD EmulatorData; // 6Ch -DWORD GetLastErrorCode; // 70h -DWORD DebuggerCB; // 74h -DWORD DebuggerThread; // 78h -PCONTEXT ThreadContext; // 7Ch // register context defined in WINNT.H -DWORD Except16List; // 80h -DWORD ThunkConnect; // 84h -DWORD NegStackBase; // 88h -DWORD CurrentSS; // 8Ch -DWORD SSTable; // 90h -DWORD ThunkSS16; // 94h -DWORD TLSArray[64]; // 98h -DWORD DeltaPriority; // 198h - -// The retail version breaks off somewhere around here. -// All the remaining fields are most likely only in the debug version - -DWORD un5[7]; // 19Ch -DWORD pCreateData16; // 1B8h -DWORD APISuspendCount; // 1BCh # of times SuspendThread has been called -DWORD un6; // 1C0h -DWORD WOWChain; // 1C4h -WORD wSSBig; // 1C8h -WORD un7; // 1CAh -DWORD lp16SwitchRec; // 1CCh -DWORD un8[6]; // 1D0h -DWORD pSomeCritSect1; // 1E8h -DWORD pWin16Mutex; // 1ECh -DWORD pWin32Mutex; // 1F0h -DWORD pSomeCritSect2; // 1F4h -DWORD un9; // 1F8h -DWORD ripString; // 1FCh -DWORD LastTlsSetValueEIP[64]; // 200h (parallel to TlsArray, contains EIP - // where TLS value was last set from) -} THREAD_DATABASE, *PTHREAD_DATABASE; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sal/test/unloading/exports.dxp b/sal/test/unloading/exports.dxp index 82adf8e8b..9990690a9 100644 --- a/sal/test/unloading/exports.dxp +++ b/sal/test/unloading/exports.dxp @@ -1,4 +1,3 @@ -component_getImplementationEnvironment component_writeInfo component_getFactory component_canUnload diff --git a/sal/test/unloading/samplelib1.cxx b/sal/test/unloading/samplelib1.cxx index 5d6e1a9e5..a7b81a538 100644 --- a/sal/test/unloading/samplelib1.cxx +++ b/sal/test/unloading/samplelib1.cxx @@ -136,10 +136,6 @@ static Reference<XInterface> SAL_CALL test4_createInstance(const Reference<XMult // Standard UNO library interface ------------------------------------------------- extern "C" { - SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(const sal_Char ** ppEnvTypeName, uno_Environment ** ppEnv){ - *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; - } - sal_Bool SAL_CALL component_writeInfo(void * pServiceManager, void * pRegistryKey) throw() { if (pRegistryKey) diff --git a/sal/test/unloading/samplelib2.cxx b/sal/test/unloading/samplelib2.cxx index 40d37681d..c7a20f7d2 100644 --- a/sal/test/unloading/samplelib2.cxx +++ b/sal/test/unloading/samplelib2.cxx @@ -126,10 +126,6 @@ static Reference<XInterface> SAL_CALL test23_createInstance(const Reference<XMul // Standard UNO library interface ------------------------------------------------- extern "C" { - SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(const sal_Char ** ppEnvTypeName, uno_Environment ** ppEnv){ - *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; - } - sal_Bool SAL_CALL component_writeInfo(void * pServiceManager, void * pRegistryKey) throw() { if (pRegistryKey) diff --git a/sal/util/makefile.mk b/sal/util/makefile.mk index 22f85949d..3a3a16448 100644 --- a/sal/util/makefile.mk +++ b/sal/util/makefile.mk @@ -71,7 +71,7 @@ SHL1TARGET= $(TARGET) SHL1IMPLIB= i$(TARGET) .ELSE SHL1TARGET= uno_$(TARGET) -SHL1IMPLIB= $(SHL1TARGET) +SHL1IMPLIB= uno_$(TARGET) .ENDIF SHL1VERSIONMAP= $(TARGET).map SHL1RPATH=URELIB diff --git a/sal/util/sal.map b/sal/util/sal.map index 020e11fbc..152b02349 100755 --- a/sal/util/sal.map +++ b/sal/util/sal.map @@ -598,14 +598,19 @@ UDK_3.10 { # OOo 3.2 rtl_math_acosh; } UDK_3.9; - -UDK_3.11 { # OOo 3.4 +UDK_3.11 { # symbols available in >= OOo/LibO 3.4 global: osl_setEnvironment; osl_clearEnvironment; osl_setThreadName; } UDK_3.10; +LIBO_UDK_3.5 { # symbols available in >= LibO 3.5 + global: + rtl_stringbuffer_remove; + rtl_uStringbuffer_remove; +} UDK_3.10; + PRIVATE_1.0 { global: osl_detail_ObjectRegistry_storeAddresses; diff --git a/sal/workben/makefile.mk b/sal/workben/makefile.mk index 79b18ac4f..8c0e7c4ed 100644 --- a/sal/workben/makefile.mk +++ b/sal/workben/makefile.mk @@ -100,20 +100,6 @@ APP4STDLIBS=$(SALLIB) APP4DEPN=$(SLB)$/sal.lib # -# tgetpwnam -# -.IF "$(OS)"=="NETBSD" || "$(OS)"=="FREEBSD" || "$(OS)"=="OPENBSD" || \ - "$(OS)"=="DRAGONFLY" -OBJFILES+=\ - $(OBJ)$/tgetpwnam.obj - -APP5TARGET=tgetpwnam -APP5OBJS=$(OBJ)$/tgetpwnam.obj -APP5STDLIBS=$(SALLIB) -APP5DEPN=$(SLB)$/sal.lib -.ENDIF # (netbsd | freebsd) - -# # measure_oustrings # OBJFILES+=\ diff --git a/sal/workben/tgetpwnam.cxx b/sal/workben/tgetpwnam.cxx deleted file mode 100644 index 844aedee3..000000000 --- a/sal/workben/tgetpwnam.cxx +++ /dev/null @@ -1,250 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_sal.hxx" - -#include <pwd.h> -#include <stdio.h> -#include <stdlib.h> -#include <time.h> -#include <pthread.h> -#include <netdb.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#ifndef NETBSD -#include <shadow.h> -#endif - -/* exercises some reentrant libc-fucntions */ - -extern "C" -{ - struct tm *localtime_r(const time_t *timep, struct tm *buffer); - struct passwd* getpwnam_r(char*, struct passwd*, char *, int); - struct spwd* getspnam_r(char*, struct spwd*, char *, int); - struct hostent *gethostbyname_r(const char *name, struct hostent *result, - char *buffer, int buflen, int *h_errnop); -} - -static int go; - - - -extern "C" void *workfunc1(void*) -{ - char buffer[256]; - struct tm sttm; - time_t nepoch; - struct passwd stpwd; - struct hostent sthostent; - int nerr; - - printf("starting thread 1 ...\n"); - while (go) { - getpwnam_r("hr", &stpwd, buffer, sizeof(buffer)); - gethostbyname_r("blauwal", &sthostent, buffer, sizeof(buffer), &nerr); - time(&nepoch); - localtime_r(&nepoch, &sttm); - } - return 0; -} - -extern "C" void *workfunc2(void*) -{ - char buffer[256]; - struct tm sttm; - time_t nepoch; - struct passwd stpwd; - struct hostent sthostent; - int nerr; - - printf("starting thread 2 ...\n"); - while(go) { - getpwnam_r("mh", &stpwd, buffer, sizeof(buffer)); - gethostbyname_r("hr-1242", &sthostent, buffer, sizeof(buffer), &nerr); - time(&nepoch); - localtime_r(&nepoch, &sttm); - } - return 0; -} - - -extern int h_errno; - -int main(int argc, char *argv[]) -{ - char buffer[256]; - struct tm *ptm; - time_t nepoch; - struct passwd *pwd, *pres1; -#ifndef NETBSD - struct spwd *spwd, *pres2; -#endif - struct hostent *phostent, *pres3; - char **p; - - pthread_t tid1,tid2; - int res1,res2; - - go = 1; - - pthread_create(&tid1, NULL, workfunc1, &res1); - pthread_create(&tid2, NULL, workfunc2, &res2); - - pwd = (struct passwd*)malloc(sizeof(struct passwd)); - - pres1 = getpwnam_r("hr", pwd, buffer, sizeof(buffer)); - - sleep(3); - - if (pres1) { - printf("Name: %s\n", pwd->pw_name); - printf("Passwd: %s\n", pwd->pw_passwd); - printf("Uid: %d\n", pwd->pw_uid); - printf("Gid: %d\n", pwd->pw_gid); -#ifdef NETBSD - printf("Change: %s", ctime(&pwd->pw_change)); - printf("Class: %s\n", pwd->pw_class); -#else - printf("Age: %s\n", pwd->pw_age); - printf("Comment: %s\n", pwd->pw_comment); -#endif - printf("Gecos: %s\n", pwd->pw_gecos); - printf("Dir: %s\n", pwd->pw_dir); - printf("Shell: %s\n", pwd->pw_shell); - } - else - printf("getpwnam_r() failed!\n"); - - free(pwd); - -#ifndef NETBSD - spwd = (struct spwd*)malloc(sizeof(struct spwd)); - - pres2 = getspnam_r("hr", spwd, buffer, sizeof(buffer)); - - if (pres2) { - printf("Name: %s\n", spwd->sp_namp); - printf("Passwd: %s\n", spwd->sp_pwdp); - printf("Last Change: %ld\n", spwd->sp_lstchg); - printf("Min: %ld\n", spwd->sp_min); - printf("Max: %ld\n", spwd->sp_max); - } - else - printf("getspnam_r() failed!\n"); - - free(spwd); -#endif - - ptm = (struct tm*)malloc(sizeof(struct tm)); - - time(&nepoch); - localtime_r(&nepoch, ptm); - - printf("Seconds: %d\n", ptm->tm_sec); - printf("Minutes: %d\n", ptm->tm_min); - printf("Hour: %d\n", ptm->tm_hour); - printf("Day of Month: %d\n", ptm->tm_mday); - printf("Month: %d\n", ptm->tm_mon); - printf("Year: %d\n", ptm->tm_year); - printf("Day of week: %d\n", ptm->tm_wday); - printf("Day in the year: %d\n", ptm->tm_yday); - printf("Daylight saving time: %d\n", ptm->tm_isdst); -#ifdef NETBSD - printf("Timezone: %s\n", ptm->tm_zone); -#else - printf("Timezone: %s\n", ptm->tm_name); -#endif - - free(ptm); - - phostent = (struct hostent*)malloc(sizeof(struct hostent)); - - pres3 = gethostbyname_r("blauwal", phostent, buffer, sizeof(buffer), h_errno); - - if (pres3) { - printf("Official Hostname: %s\n", phostent->h_name); - for ( p = phostent->h_aliases; *p != NULL; p++ ) - printf("Alias: %s\n", *p); - printf("Addresstype: %d\n", phostent->h_addrtype); - printf("Address length: %d\n", phostent->h_length); - if ( phostent->h_addrtype == AF_INET ) { - for ( p = phostent->h_addr_list; *p != NULL; *p++ ) - printf("Address: %s\n", inet_ntoa(**((in_addr**)p))); - } - } - - - /* test boundary conditions */ - char smallbuf[23]; /* buffer to small */ - pres3 = gethostbyname_r("blauwal", phostent, smallbuf, sizeof(smallbuf), h_errno); - if (!pres3) { - perror("Expect ERANGE"); - } - else - { - printf("ERROR: Check for buffersize went wrong\n"); - } - -#ifdef NETBSD - char exactbuf[35]; -#else - char exactbuf[24]; /* should be exact the necessary size */ -#endif - pres3 = gethostbyname_r("blauwal", phostent, exactbuf, sizeof(exactbuf), &h_errno); - if (!pres3) { - perror("Check with exact buffersize"); - } - else - { - printf("Boundary check ok\n"); - } - - /* test error conditions */ - pres3 = gethostbyname_r("nohost", phostent, buffer, sizeof(buffer), &h_errno); - if (!pres3) { - herror("Expect HOST_NOT_FOUND"); - } - else - { - printf("failed to detect non existant host\n"); - } - - free(phostent); - go = 0; /* atomic enough for our purposes */ - - pthread_join(tid1, NULL); - pthread_join(tid2, NULL); - - exit(0); -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |