mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-02 04:38:16 +00:00
add get core count
This commit is contained in:
@@ -370,6 +370,8 @@ foreign kernel32 {
|
||||
lpTotalNumberOfBytes: PULARGE_INTEGER,
|
||||
lpTotalNumberOfFreeBytes: PULARGE_INTEGER,
|
||||
) -> BOOL ---
|
||||
|
||||
GetLogicalProcessorInformation :: proc(buffer: ^LOGICAL_PROCESSOR_INFORMATION, returnedLength: PDWORD) -> BOOL ---
|
||||
}
|
||||
|
||||
|
||||
@@ -999,3 +1001,45 @@ foreign kernel32 {
|
||||
ConvertThreadToFiber :: proc(lpParameter: LPVOID) -> LPVOID ---
|
||||
SwitchToFiber :: proc(lpFiber: LPVOID) ---
|
||||
}
|
||||
|
||||
LOGICAL_PROCESSOR_RELATIONSHIP :: enum c_int {
|
||||
RelationProcessorCore,
|
||||
RelationNumaNode,
|
||||
RelationCache,
|
||||
RelationProcessorPackage,
|
||||
RelationGroup,
|
||||
RelationProcessorDie,
|
||||
RelationNumaNodeEx,
|
||||
RelationProcessorModule,
|
||||
RelationAll = 0xffff,
|
||||
}
|
||||
|
||||
PROCESSOR_CACHE_TYPE :: enum c_int {
|
||||
CacheUnified,
|
||||
CacheInstruction,
|
||||
CacheData,
|
||||
CacheTrace,
|
||||
}
|
||||
|
||||
CACHE_DESCRIPTOR :: struct {
|
||||
Level: BYTE,
|
||||
Associativity: BYTE,
|
||||
LineSize: WORD,
|
||||
Size: DWORD,
|
||||
Type: PROCESSOR_CACHE_TYPE,
|
||||
}
|
||||
|
||||
SYSTEM_LOGICAL_PROCESSOR_INFORMATION :: struct {
|
||||
ProcessorMask: ULONGPTR,
|
||||
Relationship: LOGICAL_PROCESSOR_RELATIONSHIP,
|
||||
DUMMYUNIONNAME :: union {
|
||||
ProcessorCore :: struct {
|
||||
Flags: BYTE,
|
||||
},
|
||||
NumaNode :: struct {
|
||||
NodeNumber: DWORD,
|
||||
},
|
||||
Cache: CACHE_DESCRIPTOR,
|
||||
Reserved: [2]ULONGLONG,
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user