blob: fd4e9b892a6762bc025ddc44b9eae1f7ff5c7368 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
module FFI
type pointer = Pointer::_ToPtr? | Integer
class Pointer < AbstractMemory
interface _ToPtr
def to_ptr: () -> Pointer
end
include _ToPtr
SIZE: Integer
NULL: Pointer
def self.size: () -> Integer
def initialize: (?AbstractMemory::type_size type, (Pointer | Integer) address) -> void
def +: (Integer offset) -> Pointer
def ==: (Pointer? other) -> bool
def address: () -> Integer
alias to_i address
def autorelease?: () -> bool
def autorelease=: (boolish autorelease) -> boolish
def free: () -> self
def inspect: ...
def null?: () -> bool
def order: () -> AbstractMemory::order_out
| (AbstractMemory::order_in) -> Pointer
def read: (ffi_type type) -> top
def read_array_of_type: (ffi_auto_type type, Symbol reader, Integer length) -> Array[top]
def read_string: (?Integer? len) -> String
def read_string_length: (Integer len) -> String
def read_string_to_null: () -> String
def slice: (Integer offset, Integer length) -> Pointer
def type_size: () -> Integer
def write: (ffi_type type, top value) -> nil
def write_array_of_type: (ffi_auto_type type, Symbol writer, Array[top]) -> self
def write_string: (String str, ?Integer? len) -> self
def write_string_length: (String str, Integer len) -> self
end
class MemoryPointer < Pointer
def initialize: (AbstractMemory::type_size size, ?Integer count, ?boolish clear) -> self
def self.from_string: (String s) -> instance
end
end
|