This MR introduces an initial implementation for `ReadPackageFromStream` in order to be able to decompress/read OPC packages, and enumerate their parts.
This is required for supporting AppX packages, which themselves are OPC packages as well. As such, the code does not implement support for reading relationships or interleaved archives, as AppX does not support either (`APPX_E_RELATIONSHIPS_NOT_ALLOWED`, `APPX_E_INTERLEAVING_NOT_ALLOWED`).
--
v4: opcservices: Implement IOpcPart::GetContentType for opened packages.
opcservices: Implement IOpcPart::GetContentStream for opened packages.
opcservices: Create IOpcPart objects for ZIP entries in an opened package.
opcservices: Write the correct compression-related fields while adding files to a ZIP archive.
opcservices: Add stubs for ReadPackageFromStream.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8837
This removes the need for manual struct definitions in the drivers, and allows us to load and use the function pointers loaded by winevulkan on instance / device creation.
This will also be useful in the future as we will want to have structures an function pointers for host-specific external memory, to export/import images for compositing and shared resources.
--
v4: winevulkan: Simplify struct generation ordering.
winevulkan: Simplify function pointer generation.
winevulkan: Generate structs and pointers for xlib platform.
winevulkan: Generate structs and pointers for macos platform.
winevulkan: Generate structs and pointers for wayland platform.
winevulkan: Simplify VkDefine and typedefs generation.
win32u: Pass struct vulkan_physical_device pointer to drivers.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8867
These changes fix two TYPE issues:
- TYPE output should terminate at a Ctrl-Z EOF character, if output is not redirected.
- TYPE redirection should function as a rudimentary file copy (bug #56381).
Tests run:
TYPE text_file_containing_embedded_ctrl_z.txt
(Output terminates at Ctrl-Z character.)
TYPE c:\windows\winhelp.exe >foo
(Issue raised in bug #56381. Foo is identical copy of winhelp.exe and not truncated at first NUL character. Test for this case was added to the automated tests.)
CHCP 65001
TYPE text_file_containing_unicode_characters.txt
(Unicode characters were output to the console.)
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8874
This removes the need for manual struct definitions in the drivers, and allows us to load and use the function pointers loaded by winevulkan on instance / device creation.
This will also be useful in the future as we will want to have structures an function pointers for host-specific external memory, to export/import images for compositing and shared resources.
--
v3: winevulkan: Simplify struct generation ordering.
winevulkan: Simplify function pointer generation.
winevulkan: Generate structs and pointers for xlib platform.
winevulkan: Generate structs and pointers for macos platform.
winevulkan: Generate structs and pointers for wayland platform.
winevulkan: Simplify VkDefine and typedefs generation.
win32u: Pass struct vulkan_physical_device pointer to drivers.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8867