Fix some win32 definitions

You can now use psapi.dll and pdh.dll. Some TODOs for Windows have been
cleared out. We might have a working load average for the platform that
should help GNU Make work well.
This commit is contained in:
Justine Tunney 2022-03-22 19:51:27 -07:00
parent e2e0b042c1
commit c23b6ecc31
162 changed files with 847 additions and 153 deletions

48
libc/nt/pdh.h Normal file
View file

@ -0,0 +1,48 @@
#ifndef COSMOPOLITAN_LIBC_NT_PDH_H_
#define COSMOPOLITAN_LIBC_NT_PDH_H_
#include "libc/nt/struct/pdhfmtcountervalue.h"
/* ░░░░
cosmopolitan § new technology » performance counters
*/
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
int PdhOpenQuery(const char16_t *opt_szDataSource, uint32_t *dwUserData,
int64_t *out_phQuery);
int PdhAddEnglishCounter(int64_t hQuery, const char16_t *szFullCounterPath,
uint32_t *dwUserData, int64_t *out_phCounter);
int PdhCollectQueryDataEx(int64_t hQuery, uint32_t dwIntervalTime,
int64_t hNewDataEvent);
int PdhGetFormattedCounterValue(int64_t hCounter, uint32_t dwFormat,
uint32_t *out_opt_lpdwType,
struct NtPdhFmtCountervalue *out_pValue);
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
#endif /* COSMOPOLITAN_LIBC_NT_PDH_H_ */