variable {M : Type} namespace Wayland.Native structure Message where name : String signature : String types : Array (Option String) structure Interface where name : String version : UInt32 requests : Array Message events : Array Message private opaque DisplayP : NonemptyType private opaque EventLoopP (M : Type) : NonemptyType private opaque EventSourceP : NonemptyType private opaque TypeMapP : NonemptyType def Display : Type := DisplayP.type def EventLoop (M : Type) : Type := (EventLoopP M).type def EventSource : Type := EventSourceP.type def TypeMap : Type := TypeMapP.type instance : Nonempty Display := DisplayP.property instance : Nonempty (EventLoop M) := (EventLoopP M).property instance : Nonempty EventSource := EventSourceP.property instance : Nonempty TypeMap := TypeMapP.property @[extern "waylean_SIGINT"] opaque SIGINT (u : Unit) : UInt32 @[extern "waylean_SIGUSR1"] opaque SIGUSR1 (u : Unit) : UInt32 @[extern "waylean_SIGUSR2"] opaque SIGUSR2 (u : Unit) : UInt32 @[extern "waylean_display_new"] opaque Display.new : (name : @& Option String) → IO Display @[extern "waylean_display_roundtrip"] opaque Display.roundtrip : (display : @& Display) → IO Unit @[extern "waylean_event_loop_new"] opaque EventLoop.new : IO (EventLoop M) @[extern "waylean_event_loop_add_display"] opaque EventLoop.addDisplay : (eventLoop : @& (EventLoop M)) → (display : @& Display) → IO EventSource @[extern "waylean_event_loop_add_timer"] opaque EventLoop.addTimer : (eventLoop : @& (EventLoop M)) → (delayMs : UInt32) → (msg : @& M) → IO EventSource @[extern "waylean_event_loop_add_signal"] opaque EventLoop.addSignal : (eventLoop : @& (EventLoop M)) → (signum : UInt32) → (msg : @& M) → IO EventSource @[extern "waylean_event_loop_remove"] opaque EventLoop.remove : (eventLoop : @& (EventLoop M)) → (source : @& EventSource) → IO Unit @[extern "waylean_event_loop_quit"] opaque EventLoop.quit : (eventLoop : @& (EventLoop M)) → IO Unit @[extern "waylean_event_loop_poll"] opaque EventLoop.poll : (eventLoop : @& (EventLoop M)) → IO (Option M) @[extern "waylean_type_map_new"] opaque TypeMap.new : IO TypeMap @[extern "waylean_type_map_contains"] opaque TypeMap.contains : (typeMap : @& TypeMap) → (ifaceName : @& String) → IO Bool @[extern "waylean_type_map_register"] opaque TypeMap.register : (typeMap : @& TypeMap) → (ifaceDesc : @& Interface) → IO Unit end Wayland.Native