dxcdef_unix.odin 864 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #+build linux, darwin, freebsd, openbsd, netbsd
  2. package directx_dxc
  3. import "core:c"
  4. FILETIME :: struct {
  5. dwLowDateTime: DWORD,
  6. dwHighDateTime: DWORD,
  7. }
  8. GUID :: struct {
  9. Data1: DWORD,
  10. Data2: WORD,
  11. Data3: WORD,
  12. Data4: [8]BYTE,
  13. }
  14. BYTE :: distinct u8
  15. WORD :: u16
  16. DWORD :: u32
  17. BOOL :: distinct b32
  18. SIZE_T :: uint
  19. ULONG :: c.ulong
  20. CLSID :: GUID
  21. IID :: GUID
  22. LONG :: distinct c.long
  23. HRESULT :: distinct LONG
  24. wstring :: [^]c.wchar_t
  25. BSTR :: wstring
  26. IUnknown :: struct {
  27. using _iunknown_vtable: ^IUnknown_VTable,
  28. }
  29. IUnknown_VTable :: struct {
  30. QueryInterface: proc "c" (this: ^IUnknown, riid: ^IID, ppvObject: ^rawptr) -> HRESULT,
  31. AddRef: proc "c" (this: ^IUnknown) -> ULONG,
  32. Release: proc "c" (this: ^IUnknown) -> ULONG,
  33. }