#+build linux, darwin, freebsd, openbsd, netbsd package directx_dxc import "core:c" FILETIME :: struct { dwLowDateTime: DWORD, dwHighDateTime: DWORD, } GUID :: struct { Data1: DWORD, Data2: WORD, Data3: WORD, Data4: [8]BYTE, } BYTE :: distinct u8 WORD :: u16 DWORD :: u32 BOOL :: distinct b32 SIZE_T :: uint ULONG :: c.ulong CLSID :: GUID IID :: GUID LONG :: distinct c.long HRESULT :: distinct LONG wstring :: [^]c.wchar_t BSTR :: wstring IUnknown :: struct { using _iunknown_vtable: ^IUnknown_VTable, } IUnknown_VTable :: struct { QueryInterface: proc "c" (this: ^IUnknown, riid: ^IID, ppvObject: ^rawptr) -> HRESULT, AddRef: proc "c" (this: ^IUnknown) -> ULONG, Release: proc "c" (this: ^IUnknown) -> ULONG, }