diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2000-09-18 14:18:43 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2000-09-18 14:18:43 +0000 |
commit | 9399c662f36c385b0c705eb34e636a9aec450282 (patch) | |
tree | f502e9d9258960ff214ab90e98e31d0075e60196 /sal/inc/systools |
initial import
Diffstat (limited to 'sal/inc/systools')
-rw-r--r-- | sal/inc/systools/win32/StrConvert.h | 80 | ||||
-rw-r--r-- | sal/inc/systools/win32/advapi9x.h | 198 | ||||
-rw-r--r-- | sal/inc/systools/win32/comdlg9x.h | 102 | ||||
-rw-r--r-- | sal/inc/systools/win32/kernel9x.h | 205 | ||||
-rw-r--r-- | sal/inc/systools/win32/shell9x.h | 122 | ||||
-rw-r--r-- | sal/inc/systools/win32/user9x.h | 132 |
6 files changed, 839 insertions, 0 deletions
diff --git a/sal/inc/systools/win32/StrConvert.h b/sal/inc/systools/win32/StrConvert.h new file mode 100644 index 000000000000..1922928433bb --- /dev/null +++ b/sal/inc/systools/win32/StrConvert.h @@ -0,0 +1,80 @@ +/************************************************************************* + * + * $RCSfile: StrConvert.h,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 15:17:15 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef _STRCONVERT_H_ +#define _STRCONVERT_H_ + +#include <windows.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 ); + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/sal/inc/systools/win32/advapi9x.h b/sal/inc/systools/win32/advapi9x.h new file mode 100644 index 000000000000..427ff7136fa8 --- /dev/null +++ b/sal/inc/systools/win32/advapi9x.h @@ -0,0 +1,198 @@ +/************************************************************************* + * + * $RCSfile: advapi9x.h,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 15:17:15 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#pragma once + +#ifndef _WINDOWS_ +#include <windows.h> +#endif + +#ifdef __cplusplus +extern "C"{ +#endif + +/* obsolete Win32 API Functions */ +#ifdef RegOpenKey +#undef RegOpenKey +#endif +#ifdef RegEnumKey +#undef RegEnumKey +#endif +#ifdef RegCreateKey +#undef RegCreateKey +#endif +#ifdef RegQueryValue +#undef RegQueryValue +#endif +#ifdef RegSetValue +#undef RegSetValue +#endif + +/* undefine if already defined as macros */ +#ifdef RegOpenKeyExW +#undef RegOpenKeyExW +#endif +#ifdef RegEnumKeyExW +#undef RegEnumKeyExW +#endif +#ifdef RegCreateKeyExW +#undef RegCreateKeyExW +#endif +#ifdef RegDeleteKeyW +#undef RegDeleteKeyW +#endif +#ifdef RegEnumValueW +#undef RegEnumValueW +#endif +#ifdef RegQueryValueExW +#undef RegQueryValueExW +#endif +#ifdef RegSetValueExW +#undef RegSetValueExW +#endif +#ifdef RegDeleteValueW +#undef RegDeleteValueW +#endif + +extern LONG (WINAPI * lpfnRegOpenKeyExW) ( + HKEY hKey, // handle to open key + LPCWSTR lpSubKey, // subkey name + DWORD ulOptions, // reserved + REGSAM samDesired, // security access mask + PHKEY phkResult // handle to open key +); + +extern LONG (WINAPI *lpfnRegEnumKeyExW) ( + HKEY hKey, // handle to key to enumerate + DWORD dwIndex, // subkey index + LPWSTR lpName, // subkey name + LPDWORD lpcName, // size of subkey buffer + LPDWORD lpReserved, // reserved + LPWSTR lpClass, // class string buffer + LPDWORD lpcClass, // size of class string buffer + PFILETIME lpftLastWriteTime // last write time +); + +extern LONG (WINAPI *lpfnRegCreateKeyExW)( + HKEY hKey, // handle to open key + LPCWSTR lpSubKey, // subkey name + DWORD Reserved, // reserved + LPWSTR lpClass, // class string + DWORD dwOptions, // special options + REGSAM samDesired, // desired security access + LPSECURITY_ATTRIBUTES lpSecurityAttributes, // inheritance + PHKEY phkResult, // key handle + LPDWORD lpdwDisposition // disposition value buffer +); + +extern LONG (WINAPI *lpfnRegDeleteKeyW) ( + HKEY hKey, // handle to open key + LPCWSTR lpSubKey // subkey name +); + +extern LONG (WINAPI *lpfnRegEnumValueW) ( + HKEY hKey, // handle to key to query + DWORD dwIndex, // index of value to query + LPWSTR lpValueName, // value buffer + LPDWORD lpcValueName, // size of value buffer + LPDWORD lpReserved, // reserved + LPDWORD lpType, // type buffer + LPBYTE lpData, // data buffer + LPDWORD lpcbData // size of data buffer +); + +extern LONG (WINAPI *lpfnRegQueryValueExW) ( + HKEY hKey, // handle to key + LPCWSTR lpValueName, // value name + LPDWORD lpReserved, // reserved + LPDWORD lpType, // type buffer + LPBYTE lpData, // data buffer + LPDWORD lpcbData // size of data buffer +); + +extern LONG (WINAPI *lpfnRegSetValueExW)( + HKEY hKey, // handle to key + LPCWSTR lpValueName, // value name + DWORD Reserved, // reserved + DWORD dwType, // value type + CONST BYTE *lpData, // value data + DWORD cbData // size of value data +); + +extern LONG (WINAPI *lpfnRegDeleteValueW) ( + HKEY hKey, // handle to key + LPCWSTR lpValueName // value name +); + +#define RegOpenKeyExW lpfnRegOpenKeyExW +#define RegEnumKeyExW lpfnRegEnumKeyExW +#define RegCreateKeyExW lpfnRegCreateKeyExW +#define RegDeleteKeyW lpfnRegDeleteKeyW +#define RegEnumValueW lpfnRegEnumValueW +#define RegQueryValueExW lpfnRegQueryValueExW +#define RegSetValueExW lpfnRegSetValueExW +#define RegDeleteValueW lpfnRegDeleteValueW + +extern void Advapi9xInit(LPOSVERSIONINFO lpVersionInfo); +extern void Advapi9xDeInit(); + +#ifdef __cplusplus +} +#endif diff --git a/sal/inc/systools/win32/comdlg9x.h b/sal/inc/systools/win32/comdlg9x.h new file mode 100644 index 000000000000..2b96286de242 --- /dev/null +++ b/sal/inc/systools/win32/comdlg9x.h @@ -0,0 +1,102 @@ +/************************************************************************* + * + * $RCSfile: comdlg9x.h,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 15:17:15 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#pragma once + +#ifndef _WINDOWS_ +#include <windows.h> +#endif + +#ifndef _COMMDLG_H_ +#include <commdlg.h> +#endif + +#ifdef __cplusplus +extern "C"{ +#endif + +/* undefine if already a macro */ + +#ifdef GetOpenFileNameW +#undef GetOpenFileNameW +#endif + +#ifdef GetSaveFileNameW +#undef GetSaveFileNameW +#endif + +extern BOOL ( WINAPI * lpfnGetOpenFileNameW) ( + LPOPENFILENAMEW lpofn +); + +extern BOOL ( WINAPI * lpfnGetSaveFileNameW) ( + LPOPENFILENAMEW lpofn +); + +/* define as macro */ +#define GetOpenFileNameW lpfnGetOpenFileNameW +#define GetSaveFileNameW lpfnGetSaveFileNameW + +void Comdlg9xInit(LPOSVERSIONINFO lpVersionInfo); +void Comdlg9xDeInit(); + +#ifdef __cplusplus +} +#endif diff --git a/sal/inc/systools/win32/kernel9x.h b/sal/inc/systools/win32/kernel9x.h new file mode 100644 index 000000000000..a2acefae7ebd --- /dev/null +++ b/sal/inc/systools/win32/kernel9x.h @@ -0,0 +1,205 @@ +/************************************************************************* + * + * $RCSfile: kernel9x.h,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 15:17:15 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#pragma once + +#ifndef _WINDOWS_ +#include <windows.h> +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +/* undefine if already defined as macros */ +#ifdef LoadLibraryW +# undef LoadLibraryW +#endif + +#ifdef LoadLibraryExW +# undef LoadLibraryExW +#endif + +#ifdef GetModuleFileNameW +# undef GetModuleFileNameW +#endif + +#ifdef GetLogicalDriveStringsW +# undef GetLogicalDriveStringsW +#endif + +#ifdef DeleteFileW +# undef DeleteFileW +#endif + +#ifdef CopyFileW +# undef CopyFileW +#endif + +#ifdef MoveFileW +# undef MoveFileW +#endif + +#ifdef MoveFileExW +# undef MoveFileExW +#endif + +#ifdef CreateFileW +# undef CreateFileW +#endif + +//BOOL WINAPI RegisterServiceProcess( DWORD dwProcessID, BOOL fRegister ); + +extern HMODULE (WINAPI *lpfnLoadLibraryExW) ( + LPCWSTR lpLibFileName, // file name of module + HANDLE hFile, // reserved, must be NULL + DWORD dwFlags // entry-point execution option +); + +extern DWORD (WINAPI *lpfnGetModuleFileNameW) ( + HMODULE hModule, // handle to module + LPWSTR lpFilename, // file name of module + DWORD nSize // size of buffer +); + +extern DWORD (WINAPI *lpfnGetLogicalDriveStringsW) ( + DWORD nBufferLength, // size of buffer + LPWSTR lpBuffer // drive strings buffer +); + +extern HANDLE ( WINAPI *lpfnCreateFileW )( + LPCWSTR lpFileName, + DWORD dwDesiredAccess, + DWORD dwShareMode, + LPSECURITY_ATTRIBUTES lpSecurityAttributes, + DWORD dwCreationDisposition, + DWORD dwFlagsAndAttributes, + HANDLE hTemplateFile +); + +extern DWORD WINAPI GetCanonicalPathNameA( + LPCSTR lpszPath, // file name + LPSTR lpszCanonicalPath, // path buffer + DWORD cchBuffer // size of path buffer +); + +extern DWORD WINAPI GetCanonicalPathNameW( + LPCWSTR lpszPath, // file name + LPWSTR lpszCanonicalPath, // path buffer + DWORD cchBuffer // size of path buffer +); + + +extern BOOL (WINAPI *lpfnDeleteFileW) ( + LPCWSTR lpFileName // file name +); + +extern BOOL (WINAPI *lpfnCopyFileW) ( + LPCWSTR lpExistingFileName, // file name + LPCWSTR lpNewFileName, // new file name + BOOL bFailIfExist // operation if file exists +); + +extern BOOL (WINAPI *lpfnMoveFileW) ( + LPCWSTR lpExistingFileName, // file name + LPCWSTR lpNewFileName // new file name +); + +extern BOOL (WINAPI *lpfnMoveFileExW) ( + LPCWSTR lpExistingFileName, // file name + LPCWSTR lpNewFileName, // new file name + DWORD dwFlags // move options +); + +extern HANDLE (WINAPI *lpfnCreateFileW) ( + LPCWSTR lpFileName, + DWORD dwDesiredAccess, + DWORD dwShareMode, + LPSECURITY_ATTRIBUTES lpSecurityAttributes, + DWORD dwCreationDisposition, + DWORD dwFlagsAndAttributes, + HANDLE hTemplateFile +); + +#ifdef UNICODE +#define GetCanonicalPath GetCanonicalPathW +#else +#define GetCanonicalPath GetCanonicalPathA +#endif + +/* replace API calls */ +#define LoadLibraryExW lpfnLoadLibraryExW +#define LoadLibraryW(c) LoadLibraryExW(c, NULL, 0) +#define GetModuleFileNameW lpfnGetModuleFileNameW +#define GetLogicalDriveStringsW lpfnGetLogicalDriveStringsW +#define DeleteFileW lpfnDeleteFileW +#define CopyFileW lpfnCopyFileW +#define MoveFileW lpfnMoveFileW +#define MoveFileExW lpfnMoveFileExW +#define CreateFileW lpfnCreateFileW + +extern void Kernel9xInit(LPOSVERSIONINFO lpVersionInfo); +extern void Kernel9xDeInit(); + +#ifdef __cplusplus +} +#endif + + diff --git a/sal/inc/systools/win32/shell9x.h b/sal/inc/systools/win32/shell9x.h new file mode 100644 index 000000000000..0ef45873476f --- /dev/null +++ b/sal/inc/systools/win32/shell9x.h @@ -0,0 +1,122 @@ +/************************************************************************* + * + * $RCSfile: shell9x.h,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 15:17:15 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#pragma once + +#ifndef _WINDOWS_ +#include <windows.h> +#endif + +#ifndef _SHLOBJ_H_ +#include <shlobj.h> +#endif + +#ifdef __cplusplus +extern "C"{ +#endif + +/* undefine if already a macro */ +#ifdef CommandLineToArgvW +#undef CommandLineToArgvW +#endif + +#ifdef SHBrowseForFolderW +#undef SHBrowseForFolderW +#endif + +#ifdef SHGetPathFromIDListW +#undef SHGetPathFromIDListW +#endif + +#ifdef SetWindowTextW +#undef SetWindowTextW +#endif + +extern LPWSTR * (WINAPI *lpfnCommandLineToArgvW) ( + LPCWSTR lpCmdLine, // pointer to a command-line string + int *pNumArgs // receives the argument count +); + +extern LPITEMIDLIST ( WINAPI * lpfnSHBrowseForFolderW) ( + LPBROWSEINFOW lpbi +); + +extern BOOL ( WINAPI * lpfnSHGetPathFromIDListW ) ( + LPCITEMIDLIST pidl, + LPWSTR pszPath +); + +extern BOOL ( WINAPI * lpfnSetWindowTextW ) ( + HWND hWnd, + LPCWSTR lpString +); + +/* define as macro */ +#define CommandLineToArgvW lpfnCommandLineToArgvW +#define SHBrowseForFolderW lpfnSHBrowseForFolderW +#define SHGetPathFromIDListW lpfnSHGetPathFromIDListW +#define SetWindowTextW lpfnSetWindowTextW + +void Shell9xInit(LPOSVERSIONINFO lpVersionInfo); +void Shell9xDeInit(); + +#ifdef __cplusplus +} +#endif diff --git a/sal/inc/systools/win32/user9x.h b/sal/inc/systools/win32/user9x.h new file mode 100644 index 000000000000..052b51401bcf --- /dev/null +++ b/sal/inc/systools/win32/user9x.h @@ -0,0 +1,132 @@ +/************************************************************************* + * + * $RCSfile: user9x.h,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-18 15:17:15 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library 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 for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#pragma once + +#ifndef _WINDOWS_ +#include <windows.h> +#endif + +#ifdef __cplusplus +extern "C"{ +#endif + +/* undefine if already a macro */ + +#ifdef SendMessageW +#undef SendMessageW +#endif + +#ifdef CreateWindowExW +#undef CreateWindowExW +#endif + +#ifdef RegisterClassExW +#undef RegisterClassExW +#endif + +#ifdef UnregisterClassW +#undef UnregisterClassW +#endif + +extern LRESULT ( WINAPI * lpfnSendMessageW) ( + HWND hWnd, // handle to the destination window + UINT Msg, // message + WPARAM wParam, // first message parameter + LPARAM lParam // second message parameter +); + +extern HWND ( WINAPI * lpfnCreateWindowExW ) ( + DWORD dwExStyle, // extended window style + LPCWSTR lpClassName, // registered class name + LPCWSTR lpWindowName, // window name + DWORD dwStyle, // window style + int x, // horizontal position of window + int y, // vertical position of window + int nWidth, // window width + int nHeight, // window height + HWND hWndParent, // handle to parent or owner window + HMENU hMenu, // menu handle or child identifier + HINSTANCE hInstance, // handle to application instance + LPVOID lpParam // window-creation data +); + +extern ATOM ( WINAPI * lpfnRegisterClassExW ) ( + CONST WNDCLASSEXW* lpwcx // class data +); + +extern BOOL ( WINAPI * lpfnUnregisterClassW ) ( + LPCWSTR lpClassName, // class name + HINSTANCE hInstance // handle to application instance +); + + +/* define as macro */ +#define SendMessageW lpfnSendMessageW +#define CreateWindowExW lpfnCreateWindowExW +#define RegisterClassExW lpfnRegisterClassExW +#define UnregisterClassW lpfnUnregisterClassExW + +void User9xInit(LPOSVERSIONINFO lpVersionInfo); +void User9xDeInit(); + +#ifdef __cplusplus +} +#endif |