vulkanalia_sys/
functions.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::needless_lifetimes,
16    clippy::too_many_arguments,
17    clippy::type_complexity,
18    clippy::unnecessary_cast,
19    clippy::upper_case_acronyms,
20    clippy::useless_transmute
21)]
22
23use core::ffi::{c_char, c_void};
24
25use crate::*;
26
27/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/PFN_vkAllocationFunction.html>
28pub type PFN_vkAllocationFunction = Option<
29    unsafe extern "system" fn(*mut c_void, usize, usize, SystemAllocationScope) -> *mut c_void,
30>;
31
32/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/PFN_vkDebugReportCallbackEXT.html>
33pub type PFN_vkDebugReportCallbackEXT = Option<
34    unsafe extern "system" fn(
35        DebugReportFlagsEXT,
36        DebugReportObjectTypeEXT,
37        u64,
38        usize,
39        i32,
40        *const c_char,
41        *const c_char,
42        *mut c_void,
43    ) -> Bool32,
44>;
45
46/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/PFN_vkDebugUtilsMessengerCallbackEXT.html>
47pub type PFN_vkDebugUtilsMessengerCallbackEXT = Option<
48    unsafe extern "system" fn(
49        DebugUtilsMessageSeverityFlagsEXT,
50        DebugUtilsMessageTypeFlagsEXT,
51        *const DebugUtilsMessengerCallbackDataEXT,
52        *mut c_void,
53    ) -> Bool32,
54>;
55
56/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/PFN_vkDeviceMemoryReportCallbackEXT.html>
57pub type PFN_vkDeviceMemoryReportCallbackEXT =
58    Option<unsafe extern "system" fn(*const DeviceMemoryReportCallbackDataEXT, *mut c_void)>;
59
60/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/PFN_vkFreeFunction.html>
61pub type PFN_vkFreeFunction = Option<unsafe extern "system" fn(*mut c_void, *mut c_void)>;
62
63/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/PFN_vkGetInstanceProcAddrLUNARG.html>
64pub type PFN_vkGetInstanceProcAddrLUNARG =
65    Option<unsafe extern "system" fn(Instance, *const c_char) -> PFN_vkVoidFunction>;
66
67/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/PFN_vkInternalAllocationNotification.html>
68pub type PFN_vkInternalAllocationNotification = Option<
69    unsafe extern "system" fn(*mut c_void, usize, InternalAllocationType, SystemAllocationScope),
70>;
71
72/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/PFN_vkInternalFreeNotification.html>
73pub type PFN_vkInternalFreeNotification = Option<
74    unsafe extern "system" fn(*mut c_void, usize, InternalAllocationType, SystemAllocationScope),
75>;
76
77/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/PFN_vkReallocationFunction.html>
78pub type PFN_vkReallocationFunction = Option<
79    unsafe extern "system" fn(
80        *mut c_void,
81        *mut c_void,
82        usize,
83        usize,
84        SystemAllocationScope,
85    ) -> *mut c_void,
86>;
87
88/// <https://www.khronos.org/registry/vulkan/specs/latest/man/html/PFN_vkVoidFunction.html>
89pub type PFN_vkVoidFunction = Option<unsafe extern "system" fn()>;