Skip to content

Commit

Permalink
[KERNELBASE] build path.c
Browse files Browse the repository at this point in the history
  • Loading branch information
DarkFire01 committed Nov 1, 2024
1 parent 74de034 commit a02bf20
Show file tree
Hide file tree
Showing 4 changed files with 69 additions and 2 deletions.
10 changes: 10 additions & 0 deletions dll/win32/KernelBase/wine/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,18 @@ include_directories(BEFORE ${REACTOS_SOURCE_DIR}/sdk/include/reactos/wine)

list(APPEND SOURCE_STATIC
#console.c #looks like ReactOS console.c is nothing like wine.
#debug.c
#file.c
loader.c
locale.c
#main.c
#memory.c
path.c
#process.c
#registry.c
#security.c
#string.c
#sync.c
version.c
volume.c)

Expand Down
9 changes: 9 additions & 0 deletions dll/win32/KernelBase/wine/hacks.h
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
#pragma once

//TODO: everything here belongs somewhere, to save time put them here.
#define CRITICAL_SECTION RTL_CRITICAL_SECTION
#define CRITICAL_SECTION_DEBUG RTL_CRITICAL_SECTION_DEBUG

#define RESOURCE_ENUM_LN 0x0001
#define RESOURCE_ENUM_MUI 0x0002
Expand Down Expand Up @@ -43,3 +45,10 @@ NTSYSAPI NTSTATUS WINAPI LdrRemoveDllDirectory(void*);
BOOL WINAPI GetVolumeInformationByHandleW( HANDLE handle, WCHAR *label, DWORD label_len,
DWORD *serial, DWORD *filename_len, DWORD *flags,
WCHAR *fsname, DWORD fsname_len );


HRESULT WINAPI PathMatchSpecExW(const WCHAR *path, const WCHAR *mask, DWORD flags);
INT WINAPI DECLSPEC_HOTPATCH CompareStringOrdinal( const WCHAR *str1, INT len1,
const WCHAR *str2, INT len2, BOOL ignore_case );

#define URL_UNESCAPE_AS_UTF8 URL_ESCAPE_AS_UTF8
2 changes: 0 additions & 2 deletions dll/win32/KernelBase/wine/locale.c
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(nls);
#ifdef __REACTOS__
//#define RtlEnterCriticalSection EnterCriticalSection
//#define RtlLeaveCriticalSection LeaveCriticalSection
#define CRITICAL_SECTION RTL_CRITICAL_SECTION
#define CRITICAL_SECTION_DEBUG RTL_CRITICAL_SECTION_DEBUG
#define swprintf snwprintf
#endif

Expand Down
50 changes: 50 additions & 0 deletions sdk/include/psdk/pathcch.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
/*
* Copyright 2017 Michael Müller
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/

#define PATHCCH_NONE 0x00
#define PATHCCH_ALLOW_LONG_PATHS 0x01
#define PATHCCH_FORCE_ENABLE_LONG_NAME_PROCESS 0x02
#define PATHCCH_FORCE_DISABLE_LONG_NAME_PROCESS 0x04
#define PATHCCH_DO_NOT_NORMALIZE_SEGMENTS 0x08
#define PATHCCH_ENSURE_IS_EXTENDED_LENGTH_PATH 0x10
#define PATHCCH_ENSURE_TRAILING_SLASH 0x20

#define PATHCCH_MAX_CCH 0x8000

WINBASEAPI HRESULT WINAPI PathAllocCanonicalize(const WCHAR *path_in, DWORD flags, WCHAR **path_out);
WINBASEAPI HRESULT WINAPI PathAllocCombine(const WCHAR *path1, const WCHAR *path2, DWORD flags, WCHAR **out);
WINBASEAPI HRESULT WINAPI PathCchAddBackslash(WCHAR *path, SIZE_T size);
WINBASEAPI HRESULT WINAPI PathCchAddBackslashEx(WCHAR *path, SIZE_T size, WCHAR **end, SIZE_T *remaining);
WINBASEAPI HRESULT WINAPI PathCchAddExtension(WCHAR *path, SIZE_T size, const WCHAR *extension);
WINBASEAPI HRESULT WINAPI PathCchAppend(WCHAR *path1, SIZE_T size, const WCHAR *path2);
WINBASEAPI HRESULT WINAPI PathCchAppendEx(WCHAR *path1, SIZE_T size, const WCHAR *path2, DWORD flags);
WINBASEAPI HRESULT WINAPI PathCchCanonicalize(WCHAR *out, SIZE_T size, const WCHAR *in);
WINBASEAPI HRESULT WINAPI PathCchCanonicalizeEx(WCHAR *out, SIZE_T size, const WCHAR *in, DWORD flags);
WINBASEAPI HRESULT WINAPI PathCchCombine(WCHAR *out, SIZE_T size, const WCHAR *path1, const WCHAR *path2);
WINBASEAPI HRESULT WINAPI PathCchCombineEx(WCHAR *out, SIZE_T size, const WCHAR *path1, const WCHAR *path2, DWORD flags);
WINBASEAPI HRESULT WINAPI PathCchFindExtension(const WCHAR *path, SIZE_T size, const WCHAR **extension);
WINBASEAPI BOOL WINAPI PathCchIsRoot(const WCHAR *path);
WINBASEAPI HRESULT WINAPI PathCchRemoveBackslash(WCHAR *path, SIZE_T path_size);
WINBASEAPI HRESULT WINAPI PathCchRemoveBackslashEx(WCHAR *path, SIZE_T path_size, WCHAR **path_end, SIZE_T *free_size);
WINBASEAPI HRESULT WINAPI PathCchRemoveExtension(WCHAR *path, SIZE_T size);
WINBASEAPI HRESULT WINAPI PathCchRemoveFileSpec(WCHAR *path, SIZE_T size);
WINBASEAPI HRESULT WINAPI PathCchRenameExtension(WCHAR *path, SIZE_T size, const WCHAR *extension);
WINBASEAPI HRESULT WINAPI PathCchSkipRoot(const WCHAR *path, const WCHAR **root_end);
WINBASEAPI HRESULT WINAPI PathCchStripPrefix(WCHAR *path, SIZE_T size);
WINBASEAPI HRESULT WINAPI PathCchStripToRoot(WCHAR *path, SIZE_T size);
WINBASEAPI BOOL WINAPI PathIsUNCEx(const WCHAR *path, const WCHAR **server);

0 comments on commit a02bf20

Please sign in to comment.