module Termisu::FFI

Overview

C ABI bridge for non-Crystal integrations.

Exposes stable C symbols, opaque handles, flat structs, and explicit status/error handling for FFI callers.

Defined in:

termisu/ffi.cr
termisu/ffi/abi.cr
termisu/ffi/core.cr
termisu/ffi/version.cr

Constant Summary

ABI_VERSION = 1_u32

Class Method Summary

Class Method Detail

def self.clear(handle : UInt64) : Status #

[View source]
def self.clear_error_message : Nil #

[View source]
def self.close(handle : UInt64) : Status #

[View source]
def self.copy_last_error(buffer : Pointer(UInt8), buffer_len : UInt64) : UInt64 #

[View source]
def self.create(sync_updates : Bool) : UInt64 #

[View source]
def self.destroy(handle : UInt64) : Status #

[View source]
def self.disable_enhanced_keyboard(handle : UInt64) : Status #

[View source]
def self.disable_mouse(handle : UInt64) : Status #

[View source]
def self.disable_timer(handle : UInt64) : Status #

[View source]
def self.enable_enhanced_keyboard(handle : UInt64) : Status #

[View source]
def self.enable_mouse(handle : UInt64) : Status #

[View source]
def self.enable_system_timer_ms(handle : UInt64, interval_ms : Int32) : Status #

[View source]
def self.enable_timer_ms(handle : UInt64, interval_ms : Int32) : Status #

[View source]
def self.hide_cursor(handle : UInt64) : Status #

[View source]
def self.last_error_length : UInt64 #

[View source]
def self.poll_event(handle : UInt64, timeout_ms : Int32, out_event : Pointer(ABI::Event)) : Status #

[View source]
def self.render(handle : UInt64) : Status #

[View source]
def self.set_cell(handle : UInt64, x : Int32, y : Int32, codepoint : UInt32, style : Pointer(ABI::CellStyle)) : Status #

[View source]
def self.set_cursor(handle : UInt64, x : Int32, y : Int32) : Status #

[View source]
def self.set_sync_updates(handle : UInt64, enabled : Bool) : Status #

[View source]
def self.show_cursor(handle : UInt64) : Status #

[View source]
def self.size(handle : UInt64, out_size : Pointer(ABI::Size)) : Status #

[View source]
def self.sync(handle : UInt64) : Status #

[View source]
def self.sync_updates?(handle : UInt64) : UInt8 #

[View source]