Improve isystem includes and magic numbers

This commit is contained in:
Justine Tunney 2021-08-14 17:16:33 -07:00
parent 1e5bd4d23e
commit 228fb7428b
143 changed files with 1183 additions and 266 deletions

View file

@ -0,0 +1,12 @@
.include "o/libc/nt/codegen.inc"
.imp PowerProf,__imp_SetSuspendState,SetSuspendState,0
.text.windows
SetSuspendState:
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_SetSuspendState(%rip),%rax
jmp __sysv2nt
.endfn SetSuspendState,globl
.previous

View file

@ -1,2 +1,12 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_InitiateShutdownA,InitiateShutdownA,1402
.text.windows
InitiateShutdownA:
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_InitiateShutdownA(%rip),%rax
jmp __sysv2nt6
.endfn InitiateShutdownA,globl
.previous

View file

@ -1,2 +1,12 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_InitiateShutdownW,InitiateShutdownW,1403
.text.windows
InitiateShutdown:
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_InitiateShutdownW(%rip),%rax
jmp __sysv2nt6
.endfn InitiateShutdown,globl
.previous

View file

@ -2897,8 +2897,8 @@ imp 'InitializeSecurityDescriptor' InitializeSecurityDescriptor advapi32 0
imp 'InitializeSid' InitializeSid advapi32 0 # KernelBase
imp 'InitializeSynchronizationBarrier' InitializeSynchronizationBarrier kernel32 0 # KernelBase
imp 'InitializeTouchInjection' InitializeTouchInjection user32 2034
imp 'InitiateShutdownA' InitiateShutdownA advapi32 1402
imp 'InitiateShutdown' InitiateShutdownW advapi32 1403
imp 'InitiateShutdownA' InitiateShutdownA advapi32 1402 5
imp 'InitiateShutdown' InitiateShutdownW advapi32 1403 5
imp 'InitiateSystemShutdownA' InitiateSystemShutdownA advapi32 1404
imp 'InitiateSystemShutdownExA' InitiateSystemShutdownExA advapi32 1405
imp 'InitiateSystemShutdownEx' InitiateSystemShutdownExW advapi32 1406
@ -6358,6 +6358,7 @@ imp 'SetStateVersion' SetStateVersion KernelBase 1549
imp 'SetStdHandle' SetStdHandle kernel32 0 2 # KernelBase
imp 'SetStdHandleEx' SetStdHandleEx KernelBase 1551
imp 'SetStretchBltMode' SetStretchBltMode gdi32 1908
imp 'SetSuspendState' SetSuspendState PowerProf 0 3
imp 'SetSysColors' SetSysColors user32 2375
imp 'SetSysColorsTemp' SetSysColorsTemp user32 2376
imp 'SetSystemCursor' SetSystemCursor user32 2377

View file

@ -332,6 +332,25 @@ $(LIBC_NT_IPHLPAPI_A).pkg: \
#───────────────────────────────────────────────────────────────────────────────
LIBC_NT_ARTIFACTS += LIBC_NT_POWERPROF_A
LIBC_NT_POWERPROF = $(LIBC_NT_POWERPROF_A_DEPS) $(LIBC_NT_POWERPROF_A)
LIBC_NT_POWERPROF_A = o/$(MODE)/libc/nt/powerprof.a
LIBC_NT_POWERPROF_A_SRCS := $(wildcard libc/nt/PowerProf/*.s)
LIBC_NT_POWERPROF_A_OBJS = $(LIBC_NT_POWERPROF_A_SRCS:%.s=o/$(MODE)/%.o)
LIBC_NT_POWERPROF_A_CHECKS = $(LIBC_NT_POWERPROF_A).pkg
LIBC_NT_POWERPROF_A_DIRECTDEPS = LIBC_NT_KERNEL32
LIBC_NT_POWERPROF_A_DEPS := \
$(call uniq,$(foreach x,$(LIBC_NT_POWERPROF_A_DIRECTDEPS),$($(x))))
$(LIBC_NT_POWERPROF_A): \
libc/nt/PowerProf/ \
$(LIBC_NT_POWERPROF_A).pkg \
$(LIBC_NT_POWERPROF_A_OBJS)
$(LIBC_NT_POWERPROF_A).pkg: \
$(LIBC_NT_POWERPROF_A_OBJS) \
$(foreach x,$(LIBC_NT_POWERPROF_A_DIRECTDEPS),$($(x)_A).pkg)
#───────────────────────────────────────────────────────────────────────────────
$(LIBC_NT_OBJS): o/libc/nt/codegen.inc
o/libc/nt/codegen.inc: \

39
libc/nt/system.h Normal file
View file

@ -0,0 +1,39 @@
#ifndef COSMOPOLITAN_LIBC_NT_SYSTEM_H_
#define COSMOPOLITAN_LIBC_NT_SYSTEM_H_
/* ░░░░
cosmopolitan § new technology » system control
*/
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
bool32 SetSuspendState(bool32 bHibernate, bool32 bForce,
bool32 bWakeupEventsDisabled);
uint32_t InitiateShutdown(const char16_t *lpMachineName,
const char16_t *lpMessage, uint32_t dwGracePeriod,
uint32_t dwShutdownFlags, uint32_t dwReason);
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
#endif /* COSMOPOLITAN_LIBC_NT_SYSTEM_H_ */