vulkanalia_sys/
typedefs.rs

1// SPDX-License-Identifier: Apache-2.0
2
3// DO NOT EDIT.
4//
5// This file has been generated by the Kotlin project in the `generator`
6// directory from a Vulkan API registry.
7
8#![allow(
9    non_camel_case_types,
10    non_snake_case,
11    clippy::bad_bit_mask,
12    clippy::let_unit_value,
13    clippy::missing_safety_doc,
14    clippy::missing_transmute_annotations,
15    clippy::too_many_arguments,
16    clippy::type_complexity,
17    clippy::unnecessary_cast,
18    clippy::upper_case_acronyms,
19    clippy::useless_transmute
20)]
21
22use core::ffi::{c_ulong, c_void};
23
24/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkBool32.html>
25pub type Bool32 = u32;
26/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceAddress.html>
27pub type DeviceAddress = u64;
28/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkDeviceSize.html>
29pub type DeviceSize = u64;
30/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFlags.html>
31pub type Flags = u32;
32/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkFlags64.html>
33pub type Flags64 = u64;
34/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkRemoteAddressNV.html>
35pub type RemoteAddressNV = c_void;
36/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/VkSampleMask.html>
37pub type SampleMask = u32;
38
39// Android
40
41pub type ANativeWindow = c_void;
42pub type AHardwareBuffer = c_void;
43
44// DirectFB
45
46pub type IDirectFB = c_void;
47pub type IDirectFBSurface = c_void;
48
49// iOS / macOS
50
51pub type CAMetalLayer = c_void;
52pub type GgpFrameToken = u32;
53pub type GgpStreamDescriptor = u32;
54pub type IOSurfaceRef = *mut c_void;
55pub type MTLBuffer_id = *mut c_void;
56pub type MTLCommandQueue_id = *mut c_void;
57pub type MTLDevice_id = *mut c_void;
58pub type MTLSharedEvent_id = *mut c_void;
59pub type MTLTexture_id = *mut c_void;
60
61// QNX
62
63pub type _screen_buffer = c_void;
64pub type _screen_context = c_void;
65pub type _screen_window = c_void;
66
67// Wayland
68
69pub type wl_display = c_void;
70pub type wl_surface = c_void;
71
72// Windows
73
74pub type DWORD = c_ulong;
75pub type HANDLE = *mut c_void;
76pub type HINSTANCE = *mut c_void;
77pub type HMONITOR = *mut c_void;
78pub type HWND = *mut c_void;
79pub type LPCWSTR = *const u16;
80pub type SECURITY_ATTRIBUTES = c_void;
81
82// X11
83
84pub type Display = *const c_void;
85pub type RROutput = c_ulong;
86pub type VisualID = c_ulong;
87pub type Window = c_ulong;
88pub type xcb_connection_t = c_void;
89pub type xcb_visualid_t = u32;
90pub type xcb_window_t = u32;
91pub type zx_handle_t = u32;
92
93// NvSciBuf / NvSciSync
94
95pub type NvSciBufAttrList = *mut c_void;
96pub type NvSciBufObj = *mut c_void;
97pub type NvSciSyncAttrList = *mut c_void;
98pub type NvSciSyncObj = *mut c_void;
99
100#[repr(C)]
101#[derive(Copy, Clone, Default, Debug, PartialEq)]
102pub struct NvSciSyncFence {
103    pub payload: [u64; 6],
104}
105
106// Open Harmony OS
107
108pub type OHNativeWindow = c_void;