mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-24 11:30:29 +00:00
Make more fixes and improvements
- Remove PAGESIZE constant - Fix realloc() documentation - Fix ttyname_r() error reporting - Make forking more reliable on Windows - Make execvp() a few microseconds faster - Make system() a few microseconds faster - Tighten up the socket-related magic numbers - Loosen restrictions on mmap() offset alignment - Improve GetProgramExecutableName() with getenv("_") - Use mkstemp() as basis for mktemp(), tmpfile(), tmpfd() - Fix flakes in pthread_cancel_test, unix_test, fork_test - Fix recently introduced futex stack overflow regression - Let sockets be passed as stdio to subprocesses on Windows - Improve security of bind() on Windows w/ SO_EXCLUSIVEADDRUSE
This commit is contained in:
parent
140a8a52e5
commit
18bb5888e1
311 changed files with 1239 additions and 2622 deletions
|
@ -85,6 +85,11 @@ bool32 TransactNamedPipe(int64_t hNamedPipe, void *lpInBuffer,
|
|||
uint32_t nOutBufferSize, uint32_t *lpBytesRead,
|
||||
struct NtOverlapped *lpOverlapped);
|
||||
|
||||
bool32 GetNamedPipeInfo(int64_t hNamedPipe, uint32_t *opt_out_lpFlags,
|
||||
uint32_t *opt_out_lpOutBufferSize,
|
||||
uint32_t *opt_out_lpInBufferSize,
|
||||
uint32_t *opt_out_lpMaxInstances);
|
||||
|
||||
COSMOPOLITAN_C_END_
|
||||
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
||||
#endif /* COSMOPOLITAN_LIBC_NT_IPC_H_ */
|
||||
|
|
18
libc/nt/kernel32/GetNamedPipeInfo.S
Normal file
18
libc/nt/kernel32/GetNamedPipeInfo.S
Normal file
|
@ -0,0 +1,18 @@
|
|||
#include "libc/nt/codegen.h"
|
||||
.imp kernel32,__imp_GetNamedPipeInfo,GetNamedPipeInfo
|
||||
|
||||
.text.windows
|
||||
.ftrace1
|
||||
GetNamedPipeInfo:
|
||||
.ftrace2
|
||||
#ifdef __x86_64__
|
||||
push %rbp
|
||||
mov %rsp,%rbp
|
||||
mov __imp_GetNamedPipeInfo(%rip),%rax
|
||||
jmp __sysv2nt6
|
||||
#elif defined(__aarch64__)
|
||||
mov x0,#0
|
||||
ret
|
||||
#endif
|
||||
.endfn GetNamedPipeInfo,globl
|
||||
.previous
|
|
@ -93,6 +93,7 @@ imp 'GetModuleFileName' GetModuleFileNameW kernel32 3
|
|||
imp 'GetModuleHandle' GetModuleHandleA kernel32 1
|
||||
imp 'GetModuleHandleEx' GetModuleHandleExW kernel32 3
|
||||
imp 'GetModuleHandleW' GetModuleHandleW kernel32 1
|
||||
imp 'GetNamedPipeInfo' GetNamedPipeInfo kernel32 5
|
||||
imp 'GetNumberOfConsoleInputEvents' GetNumberOfConsoleInputEvents kernel32 2
|
||||
imp 'GetNumberOfConsoleMouseButtons' GetNumberOfConsoleMouseButtons kernel32 1
|
||||
imp 'GetOverlappedResult' GetOverlappedResult kernel32 4
|
||||
|
@ -246,8 +247,8 @@ imp 'VirtualAlloc' VirtualAlloc kernel32 4
|
|||
imp 'VirtualAllocEx' VirtualAllocEx kernel32 5
|
||||
imp 'VirtualFree' VirtualFree kernel32 3
|
||||
imp 'VirtualLock' VirtualLock kernel32 2
|
||||
imp 'VirtualUnlock' VirtualUnlock kernel32 2
|
||||
imp 'VirtualQuery' VirtualQuery kernel32 3
|
||||
imp 'VirtualUnlock' VirtualUnlock kernel32 2
|
||||
imp 'WaitForMultipleObjectsEx' WaitForMultipleObjectsEx kernel32 5
|
||||
imp 'WaitForSingleObjectEx' WaitForSingleObjectEx kernel32 3
|
||||
imp 'WideCharToMultiByte' WideCharToMultiByte kernel32 8
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue