// Generated by core/sys/android/_gen/generate.py from the Android NDK headers. DO NOT EDIT. // Source: , (NDK r30, 30.0.16248370) #+build linux package android import "core:c" foreign import libandroid "system:android" foreign import libnativewindow "system:nativewindow" AHardwareBuffer_Format :: enum c.int { R8G8B8A8_UNORM = 1, R8G8B8X8_UNORM = 2, R8G8B8_UNORM = 3, R5G6B5_UNORM = 4, R16G16B16A16_FLOAT = 0x16, R10G10B10A2_UNORM = 0x2b, BLOB = 0x21, D16_UNORM = 0x30, D24_UNORM = 0x31, D24_UNORM_S8_UINT = 0x32, D32_FLOAT = 0x33, D32_FLOAT_S8_UINT = 0x34, S8_UINT = 0x35, Y8Cb8Cr8_420 = 0x23, YCbCr_P010 = 0x36, YCbCr_P210 = 0x3c, R8_UNORM = 0x38, R16_UINT = 0x39, R16G16_UINT = 0x3a, R10G10B10A10_UNORM = 0x3b, R12_UINT = 0x3d, R14_UINT = 0x3e, R12G12_UINT = 0x3f, R14G14_UINT = 0x40, R12G12B12A12_UINT = 0x41, R14G14B14A14_UINT = 0x42, B10G10R10A2_UNORM = 0x43, B10G10R10X2_UNORM = 0x44, } AHardwareBuffer_CpuUsage :: enum u64 { NEVER = 0, RARELY = 2, OFTEN = 3, } AHardwareBuffer_UsageFlags :: bit_field u64 { cpu_read: AHardwareBuffer_CpuUsage | 4, cpu_write: AHardwareBuffer_CpuUsage | 4, gpu_sampled_image: bool | 1, gpu_framebuffer: bool | 1, _: u8 | 1, composer_overlay: bool | 1, _: u8 | 2, protected_content: bool | 1, _: u8 | 1, video_encode: bool | 1, _: u8 | 6, sensor_direct_data: bool | 1, gpu_data_buffer: bool | 1, gpu_cube_map: bool | 1, gpu_mipmap_complete: bool | 1, _: u8 | 1, vendor_0_3: u8 | 4, front_buffer: bool | 1, _: u16 | 15, vendor_4_19: u16 | 16, } AHARDWAREBUFFER_USAGE_CPU_READ_NEVER :: AHardwareBuffer_UsageFlags{} AHARDWAREBUFFER_USAGE_CPU_READ_RARELY :: AHardwareBuffer_UsageFlags{cpu_read = .RARELY} AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN :: AHardwareBuffer_UsageFlags{cpu_read = .OFTEN} AHARDWAREBUFFER_USAGE_CPU_READ_MASK :: AHardwareBuffer_UsageFlags{cpu_read = AHardwareBuffer_CpuUsage(0xf)} AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER :: AHardwareBuffer_UsageFlags{} AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY :: AHardwareBuffer_UsageFlags{cpu_write = .RARELY} AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN :: AHardwareBuffer_UsageFlags{cpu_write = .OFTEN} AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK :: AHardwareBuffer_UsageFlags{cpu_write = AHardwareBuffer_CpuUsage(0xf)} AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE :: AHardwareBuffer_UsageFlags{gpu_sampled_image = true} AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER :: AHardwareBuffer_UsageFlags{gpu_framebuffer = true} AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT :: AHardwareBuffer_UsageFlags{gpu_framebuffer = true} AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY :: AHardwareBuffer_UsageFlags{composer_overlay = true} AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT :: AHardwareBuffer_UsageFlags{protected_content = true} AHARDWAREBUFFER_USAGE_VIDEO_ENCODE :: AHardwareBuffer_UsageFlags{video_encode = true} AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA :: AHardwareBuffer_UsageFlags{sensor_direct_data = true} AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER :: AHardwareBuffer_UsageFlags{gpu_data_buffer = true} AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP :: AHardwareBuffer_UsageFlags{gpu_cube_map = true} AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE :: AHardwareBuffer_UsageFlags{gpu_mipmap_complete = true} AHARDWAREBUFFER_USAGE_FRONT_BUFFER :: AHardwareBuffer_UsageFlags{front_buffer = true} AHARDWAREBUFFER_USAGE_VENDOR_0 :: AHardwareBuffer_UsageFlags{vendor_0_3 = 0x1} AHARDWAREBUFFER_USAGE_VENDOR_1 :: AHardwareBuffer_UsageFlags{vendor_0_3 = 0x2} AHARDWAREBUFFER_USAGE_VENDOR_2 :: AHardwareBuffer_UsageFlags{vendor_0_3 = 0x4} AHARDWAREBUFFER_USAGE_VENDOR_3 :: AHardwareBuffer_UsageFlags{vendor_0_3 = 0x8} AHARDWAREBUFFER_USAGE_VENDOR_4 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x1} AHARDWAREBUFFER_USAGE_VENDOR_5 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x2} AHARDWAREBUFFER_USAGE_VENDOR_6 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x4} AHARDWAREBUFFER_USAGE_VENDOR_7 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x8} AHARDWAREBUFFER_USAGE_VENDOR_8 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x10} AHARDWAREBUFFER_USAGE_VENDOR_9 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x20} AHARDWAREBUFFER_USAGE_VENDOR_10 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x40} AHARDWAREBUFFER_USAGE_VENDOR_11 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x80} AHARDWAREBUFFER_USAGE_VENDOR_12 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x100} AHARDWAREBUFFER_USAGE_VENDOR_13 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x200} AHARDWAREBUFFER_USAGE_VENDOR_14 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x400} AHARDWAREBUFFER_USAGE_VENDOR_15 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x800} AHARDWAREBUFFER_USAGE_VENDOR_16 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x1000} AHARDWAREBUFFER_USAGE_VENDOR_17 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x2000} AHARDWAREBUFFER_USAGE_VENDOR_18 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x4000} AHARDWAREBUFFER_USAGE_VENDOR_19 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x8000} AHardwareBuffer_Desc :: struct { width: u32, height: u32, layers: u32, format: AHardwareBuffer_Format, usage: AHardwareBuffer_UsageFlags, stride: u32, rfu0: u32, rfu1: u64, } AHardwareBuffer_Plane :: struct { data: rawptr, pixelStride: u32, rowStride: u32, } AHardwareBuffer_Planes :: struct { planeCount: u32, planes: [4]AHardwareBuffer_Plane, } AHardwareBuffer :: struct {} @(default_calling_convention="c") foreign libandroid { AHardwareBuffer_fromHardwareBuffer :: proc(env: ^JNIEnv, hardwareBufferObj: jobject) -> ^AHardwareBuffer --- AHardwareBuffer_toHardwareBuffer :: proc(env: ^JNIEnv, hardwareBuffer: ^AHardwareBuffer) -> jobject --- } @(default_calling_convention="c") foreign libnativewindow { AHardwareBuffer_allocate :: proc(desc: ^AHardwareBuffer_Desc, outBuffer: ^^AHardwareBuffer) -> c.int --- AHardwareBuffer_acquire :: proc(buffer: ^AHardwareBuffer) --- AHardwareBuffer_release :: proc(buffer: ^AHardwareBuffer) --- AHardwareBuffer_describe :: proc(buffer: ^AHardwareBuffer, outDesc: ^AHardwareBuffer_Desc) --- AHardwareBuffer_lock :: proc(buffer: ^AHardwareBuffer, usage: AHardwareBuffer_UsageFlags, fence: i32, rect: ^ARect, outVirtualAddress: ^rawptr) -> c.int --- AHardwareBuffer_unlock :: proc(buffer: ^AHardwareBuffer, fence: ^i32) -> c.int --- AHardwareBuffer_sendHandleToUnixSocket :: proc(buffer: ^AHardwareBuffer, socketFd: c.int) -> c.int --- AHardwareBuffer_recvHandleFromUnixSocket :: proc(socketFd: c.int, outBuffer: ^^AHardwareBuffer) -> c.int --- AHardwareBuffer_lockPlanes :: proc(buffer: ^AHardwareBuffer, usage: AHardwareBuffer_UsageFlags, fence: i32, rect: ^ARect, outPlanes: ^AHardwareBuffer_Planes) -> c.int --- AHardwareBuffer_isSupported :: proc(desc: ^AHardwareBuffer_Desc) -> c.int --- AHardwareBuffer_lockAndGetInfo :: proc(buffer: ^AHardwareBuffer, usage: AHardwareBuffer_UsageFlags, fence: i32, rect: ^ARect, outVirtualAddress: ^rawptr, outBytesPerPixel: ^i32, outBytesPerStride: ^i32) -> c.int --- AHardwareBuffer_getId :: proc(buffer: ^AHardwareBuffer, outId: ^u64) -> c.int --- // API level 31 }