Sha256: bbd142a5c726af6a3d4a491a42fb70db7fd03d9bf92f8cd7a3750b08d3df42f3

Contents?: true

Size: 1.12 KB

Versions: 1136

Compression:

Stored size: 1.12 KB

Contents

module FFI
  interface _Function
    # TODO: leads to a endless recursion when used with -rrbs/test/setup
    # def attach: (Module mod, String name) -> self
    def call: (*untyped args) -> untyped
    def param_types: () -> Array[Type]
    def return_type: () -> Type
  end

  class Function < Pointer
    include _Function
    # ?blocking: boolish?, ?convention: Library::convention?, ?enums: Enums?
    def initialize:
      (
        ffi_type return_type, Array[ffi_type] param_types,
        ?Hash[Symbol, untyped] options
      ) { (*untyped) -> untyped } -> self
    | (
        ffi_type return_type, Array[ffi_type] param_types, Proc | Pointer proc,
        ?Hash[Symbol, untyped] options
      ) -> self

    def autorelease?: ...
    alias autorelease autorelease?
    def autorelease=: ...
    def free: () -> self
  end

  class VariadicInvoker
    include _Function
    def initialize:
      (
        Pointer function, Array[ffi_type] parameter_types, ffi_type return_type,
        Hash[Symbol, untyped] options #TODO
      ) -> void

    def invoke: (Array[Type] parameter_types, Array[untyped] parameter_values) -> untyped
  end
end

Version data entries

1,136 entries across 1,136 versions & 14 rubygems

Version Path
cybrid_api_bank_ruby-0.123.12 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_organization_ruby-0.123.12 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_id_ruby-0.123.12 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_bank_ruby-0.123.11 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_organization_ruby-0.123.11 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_id_ruby-0.123.11 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_id_ruby-0.123.10 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_bank_ruby-0.123.10 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_organization_ruby-0.123.10 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_organization_ruby-0.123.7 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_id_ruby-0.123.7 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_bank_ruby-0.123.7 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
ory-client-1.15.12 vendor/bundle/ruby/3.1.0/gems/ffi-1.17.0/sig/ffi/function.rbs
cybrid_api_bank_ruby-0.123.4 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_id_ruby-0.123.4 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_organization_ruby-0.123.4 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_bank_ruby-0.123.3 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_organization_ruby-0.123.3 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_id_ruby-0.123.3 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs
cybrid_api_id_ruby-0.123.2 vendor/bundle/ruby/3.3.0/gems/ffi-1.17.0-x86_64-linux-gnu/sig/ffi/function.rbs