nvfbc_sys/
lib.rs

1#![allow(non_upper_case_globals)]
2#![allow(non_camel_case_types)]
3#![allow(non_snake_case)]
4
5mod generated;
6pub use generated::*;
7
8pub const NVFBC_VERSION: u32 = NVFBC_VERSION_MINOR | (NVFBC_VERSION_MAJOR << 8);
9
10pub const NVFBC_CREATE_HANDLE_PARAMS_VER: u32 = nvfbc_struct_version::<NVFBC_CREATE_HANDLE_PARAMS>(2);
11pub const NVFBC_DESTROY_HANDLE_PARAMS_VER: u32 = nvfbc_struct_version::<NVFBC_DESTROY_HANDLE_PARAMS>(1);
12pub const NVFBC_GET_STATUS_PARAMS_VER: u32 = nvfbc_struct_version::<NVFBC_GET_STATUS_PARAMS>(2);
13pub const NVFBC_CREATE_CAPTURE_SESSION_PARAMS_VER: u32 = nvfbc_struct_version::<NVFBC_CREATE_CAPTURE_SESSION_PARAMS>(6);
14pub const NVFBC_DESTROY_CAPTURE_SESSION_PARAMS_VER: u32 = nvfbc_struct_version::<NVFBC_DESTROY_CAPTURE_SESSION_PARAMS>(1);
15pub const NVFBC_TOGL_SETUP_PARAMS_VER: u32 = nvfbc_struct_version::<NVFBC_TOGL_SETUP_PARAMS>(2);
16pub const NVFBC_TOGL_GRAB_FRAME_PARAMS_VER: u32 = nvfbc_struct_version::<NVFBC_TOGL_GRAB_FRAME_PARAMS>(2);
17pub const NVFBC_TOCUDA_SETUP_PARAMS_VER: u32 = nvfbc_struct_version::<NVFBC_TOCUDA_SETUP_PARAMS>(1);
18pub const NVFBC_TOCUDA_GRAB_FRAME_PARAMS_VER: u32 = nvfbc_struct_version::<NVFBC_TOCUDA_GRAB_FRAME_PARAMS>(2);
19pub const NVFBC_TOSYS_SETUP_PARAMS_VER: u32 = nvfbc_struct_version::<NVFBC_TOSYS_SETUP_PARAMS>(3);
20pub const NVFBC_TOSYS_GRAB_FRAME_PARAMS_VER: u32 = nvfbc_struct_version::<NVFBC_TOSYS_GRAB_FRAME_PARAMS>(2);
21pub const NVFBC_RELEASE_CONTEXT_PARAMS_VER: u32 = nvfbc_struct_version::<NVFBC_RELEASE_CONTEXT_PARAMS>(1);
22pub const NVFBC_BIND_CONTEXT_PARAMS_VER: u32 = nvfbc_struct_version::<NVFBC_BIND_CONTEXT_PARAMS>(1);
23
24pub const fn nvfbc_struct_version<T>(version: u32) -> u32 {
25	std::mem::size_of::<T>() as u32 | ((version) << 16 | NVFBC_VERSION << 24)
26}