24 Commits
Author SHA1 Message Date
mirkobrombin a1216bf282 fix: treat decimal atom names as integer atoms 2026-11-02 23:15:20 +00:00
Raymond Bennett 1c9886696e feat: add ntdll's NtQueryInformationToken and NtAdjustPrivilegesToken
The Cygwin runtime reads and adjusts its token through ntdll. Both take the
arguments of their advapi32 forms (GetTokenInformation,
AdjustTokenPrivileges), run those, and answer the NTSTATUS of the error:
STATUS_BUFFER_TOO_SMALL for a short buffer, STATUS_NOT_ALL_ASSIGNED when the
token lacks some of the privileges.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: the two token functions
(cherry picked from commit 86b1f72ba9f5c52363664969d7cb5e019b4c35a0)
2026-10-29 02:02:51 -07:00
Ray Bennett 4699a741c1 feat: give console programs the terminal as their console (#31)
* feat: give console programs the terminal as their console

A standard handle that is a terminal, and CONIN$, CONOUT$ and CON, now act as a console: modes map to terminal settings,
reads and writes convert between UTF-16 and the terminal's UTF-8, terminal input becomes key events, and Ctrl+C runs the
control handlers. Files and pipes still fail the console functions, as on Windows.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the console functions over the terminal, their pty test and the guest test program from the public console API documentation.

* test: let the console client run by hand, saying which step failed

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Made the exact size and cursor checks optional and gave each step an instruction and a failure number.

* feat: follow the console cursor through the output instead of asking the terminal

Programs that redraw their command line read and move the cursor on every key; asking the terminal each time was slow, and
wrong on terminals that never answer. The terminal is now asked only when the position may be stale.

Assisted-by: Claude Code:claude-opus-5-5
AI-Scope: Wrote the cursor tracker, WriteConsoleOutputCharacter, ScrollConsoleScreenBuffer, the resize events and their tests.
2026-10-28 17:11:25 +01:00
mirkobrombin 0a0fe4be89 feat: add shared Windows process state and parallel guest execution 2026-10-24 16:24:23 +00:00
mirkobrombin f9f3a67f1c fix: serve the Windows calls that Inno Setup, 7-Zip and VLC make 2026-10-23 21:27:15 +00:00
Mirko Brombin 85af42cba5 feat: end a process through its own handle, detach libraries as a load and add the C runtime calls Paint.NET reaches 2026-09-23 16:34:21 +00:00
Mirko Brombin f4509d0c1f feat: implement the Windows APIs that .NET programs and their installers call 2026-09-23 00:12:56 +00:00
Mirko Brombin a7372ea452 feat: add print debugger output and component traces when asked, with the arguments of failing reads 2026-09-22 02:53:35 +00:00
Mirko Brombin c674832de7 feat: let threads impersonate and open their own token 2026-09-21 14:17:07 +00:00
Mirko Brombin bb9cf43cf1 feat: create and activate side-by-side contexts from manifests and give programs the common controls 6 classes their manifests ask for 2026-09-21 10:33:51 +00:00
Mirko Brombin 7e8050e8a2 feat: add enumerate resource names through the program's callback 2026-09-21 07:15:16 +00:00
Mirko Brombin c0946f8c44 feat: add RtlGetVersion, DOS and local file times, the SysWOW64 directory, UrlIs and PathStripToRoot, and answer the user's own account by its Windows name 2026-09-21 04:26:15 +00:00
Mirko Brombin bd7fe3c8bd feat: add keyed events, inherited working directory, msvcrt locks and process exit that ends other threads first 2026-09-04 05:41:39 +02:00
Mirko Brombin 5a6297633c feat: show Steam's sign-in window with cross-process window surfaces, web fonts, elevation and service configuration 2026-09-03 18:36:13 +02:00
Mirko Brombin 26fbeabc78 feat: run Steam's web UI with cross-process handles, per-thread message queues, socket events and process identity 2026-09-03 16:48:12 +02:00
Mirko Brombin 66087052d8 feat: run Chromium's helper processes with DirectWrite, named pipes, jobs, inherited handles and shared sections 2026-09-03 06:06:54 +02:00
Mirko Brombin 7b3461c003 feat: run Chromium's web helper further with reserved address space, native registry, tokens and process lists 2026-09-03 03:46:34 +02:00
Mirko Brombin 966069f911 feat: run Steam to its web helper with real sockets, TLS chains, child environments and image protection 2026-09-03 02:50:56 +02:00
Mirko Brombin a7256dafac feat: run the Steam installer to Finish with child processes, shell links and sockets 2026-09-03 01:15:07 +02:00
Mirko Brombin f5cd92f4c8 feat: give 32-bit programs the registry, shell folder, INI write, token and file services an installer needs 2026-09-02 23:23:20 +02:00
Mirko Brombin 82a160f157 feat: create a Direct3D 12 device through vkd3d-proton and release threads left at exit 2026-08-01 20:57:35 +02:00
Mirko Brombin 7daa9891f0 feat: answer GetSystemDirectory and add a hardware variant of the D3D11 present test 2026-08-01 19:53:10 +02:00
Mirko Brombin aa5cbc8f90 feat: add standard input reads, byte range locks, file size query and offset transfers for synchronous handles 2026-08-01 03:28:17 +02:00
Mirko Brombin 4a973d4dce feat: add GDI rasterizer, text, image loading, guest user32 component and pinned libpng 2026-08-01 00:12:57 +02:00