Runtime.Objc
val get_class :
string ->
Runtime__.Type_description.Types.objc_object Ctypes.structure
Ctypes_static.ptr
Returns the class definition of a specified class.
val get_meta_class :
string ->
Runtime__.Type_description.Types.objc_object Ctypes.structure
Ctypes_static.ptr
Returns the metaclass definition of a specified class.
val register_class :
Runtime__.Type_description.Types.objc_object Ctypes.structure
Ctypes_static.ptr ->
unit
Registers a class that was allocated using allocate_class
.
val get_class_list :
Runtime__.Type_description.Types.objc_class Ctypes.structure
Ctypes_static.ptr
Ctypes_static.ptr ->
int ->
int
Obtains the list of registered class definitions. get_class_list buffer buffer_count
buffer An array of Class values. On output, each Class value points to one class definition, up to either bufferCount or the total number of registered classes, whichever is less. You can pass NULL to obtain the total number of registered class definitions without actually retrieving any class definitions.
val get_protocol_list :
Unsigned.uint Ctypes_static.ptr ->
Runtime__.Type_description.Types.objc_object Ctypes.structure
Ctypes_static.ptr
Ctypes_static.ptr
Returns an array of all the protocols known to the runtime.
val allocate_class :
?extra_bytes:Unsigned.size_t ->
superclass:
Runtime__.Type_description.Types.objc_object Ctypes.structure
Ctypes_static.ptr ->
string ->
Runtime__.Type_description.Types.objc_object Ctypes.structure
Ctypes_static.ptr
Creates a new class and metaclass. extra_bytes: the number of bytes to allocate for indexed ivars at the end of the class and metaclass objects.
val objc_class : objc_class Ctypes.structure Ctypes.typ
val objc_object : objc_object Ctypes.structure Ctypes.typ
val objc_method : objc_method Ctypes.structure Ctypes.typ
val objc_selector : objc_selector Ctypes.structure Ctypes.typ
val objc_ivar : objc_ivar Ctypes.structure Ctypes.typ
val objc_protocol : objc_protocol Ctypes.structure Ctypes.typ
type class_t = objc_object Ctypes.structure Ctypes.ptr
type object_t = objc_object Ctypes.structure Ctypes.ptr
type selector_t = objc_selector Ctypes.structure Ctypes.ptr
type protocol_t = objc_object Ctypes.structure Ctypes.ptr
type ivar_t = objc_ivar Ctypes.structure Ctypes.ptr
module Method_description : sig ... end
module Property_attribute : sig ... end
val id : objc_object Ctypes.structure Ctypes_static.ptr Ctypes.typ
val _Class : objc_object Ctypes.structure Ctypes_static.ptr Ctypes.typ
val _SEL : objc_selector Ctypes.structure Ctypes_static.ptr Ctypes.typ
val _Protocol : objc_object Ctypes.structure Ctypes_static.ptr Ctypes.typ
val _Ivar : objc_ivar Ctypes.structure Ctypes_static.ptr Ctypes.typ
val _Method : objc_method Ctypes.structure Ctypes_static.ptr Ctypes.typ
include module type of struct include Ctypes end
type !'a ptr = ('a, [ `C ]) pointer
val genarray :
< ba_repr : 'b
; bigarray : ('a, 'b, 'l) Bigarray_compat.Genarray.t
; carray : 'a carray
; dims : int array
; element : 'a
; layout : 'l >
bigarray_class
val array1 :
< ba_repr : 'b
; bigarray : ('a, 'b, 'l) Bigarray_compat.Array1.t
; carray : 'a carray
; dims : int
; element : 'a
; layout : 'l >
bigarray_class
val array2 :
< ba_repr : 'b
; bigarray : ('a, 'b, 'l) Bigarray_compat.Array2.t
; carray : 'a carray carray
; dims : int * int
; element : 'a
; layout : 'l >
bigarray_class
val array3 :
< ba_repr : 'b
; bigarray : ('a, 'b, 'l) Bigarray_compat.Array3.t
; carray : 'a carray carray carray
; dims : int * int * int
; element : 'a
; layout : 'l >
bigarray_class
type !'a structure = ('a, [ `Struct ]) structured
type !'a union = ('a, [ `Union ]) structured
val void : unit typ
val char : char typ
val schar : int typ
val short : int typ
val int : int typ
val long : Signed.long typ
val llong : Signed.llong typ
val nativeint : nativeint typ
val int8_t : int typ
val int16_t : int typ
val int32_t : int32 typ
val int64_t : int64 typ
val intptr_t : Intptr.t typ
val ptrdiff_t : Ptrdiff.t typ
val camlint : int typ
val uchar : Unsigned.uchar typ
val bool : bool typ
val uint8_t : Unsigned.uint8 typ
val uint16_t : Unsigned.uint16 typ
val uint32_t : Unsigned.uint32 typ
val uint64_t : Unsigned.uint64 typ
val size_t : Unsigned.size_t typ
val ushort : Unsigned.ushort typ
val sint : Signed.sint typ
val uint : Unsigned.uint typ
val ulong : Unsigned.ulong typ
val ullong : Unsigned.ullong typ
val uintptr_t : Uintptr.t typ
val float : float typ
val double : float typ
val ldouble : LDouble.t typ
val complex32 : Stdlib.Complex.t typ
val complex64 : Stdlib.Complex.t typ
val complexld : ComplexL.t typ
val string : string typ
val string_opt : string option typ
val ocaml_string : string Ctypes_static.ocaml typ
val ocaml_bytes : bytes Ctypes_static.ocaml typ
val bigarray :
< ba_repr : 'b
; bigarray : 'bigarray
; carray : 'c
; dims : 'dims
; element : 'a
; layout : Bigarray_compat.c_layout >
Ctypes_static.bigarray_class ->
'dims ->
('a, 'b) Bigarray_compat.kind ->
'bigarray typ
val fortran_bigarray :
< ba_repr : 'b
; bigarray : 'bigarray
; carray : 'c
; dims : 'dims
; element : 'a
; layout : Bigarray_compat.fortran_layout >
Ctypes_static.bigarray_class ->
'dims ->
('a, 'b) Bigarray_compat.kind ->
'bigarray typ
val typ_of_bigarray_kind : ('a, 'b) Bigarray_compat.kind -> 'a typ
val structure : string -> 's Ctypes_static.structure typ
val union : string -> 's Ctypes_static.union typ
val seal : ('a, [< `Struct | `Union ]) Ctypes_static.structured typ -> unit
val abstract :
name:string ->
size:int ->
alignment:int ->
'a Ctypes_static.abstract typ
val lift_typ : 'a Ctypes_static.typ -> 'a typ
val sizeof : 'a typ -> int
val alignment : 'a typ -> int
val format_typ : ?name:string -> Stdlib.Format.formatter -> 'a typ -> unit
val format_fn : ?name:string -> Stdlib.Format.formatter -> 'a fn -> unit
val string_of_typ : ?name:string -> 'a typ -> string
val string_of_fn : ?name:string -> 'a fn -> string
val format : 'a typ -> Stdlib.Format.formatter -> 'a -> unit
val string_of : 'a typ -> 'a -> string
val null : unit ptr
val (!@) : 'a ptr -> 'a
val (<-@) : 'a ptr -> 'a -> unit
val is_null : 'a ptr -> bool
val ptr_of_raw_address : nativeint -> unit ptr
val raw_address_of_ptr : unit ptr -> nativeint
val string_from_ptr : char ptr -> length:int -> string
val ocaml_string_start : string -> string ocaml
val ocaml_bytes_start : bytes -> bytes ocaml
val bigarray_start :
< ba_repr : 'c
; bigarray : 'b
; carray : 'd
; dims : 'e
; element : 'a
; layout : 'l >
bigarray_class ->
'b ->
'a ptr
val bigarray_of_ptr :
< ba_repr : 'f
; bigarray : 'b
; carray : 'c
; dims : 'i
; element : 'a
; layout : Bigarray_compat.c_layout >
bigarray_class ->
'i ->
('a, 'f) Bigarray_compat.kind ->
'a ptr ->
'b
val fortran_bigarray_of_ptr :
< ba_repr : 'f
; bigarray : 'b
; carray : 'c
; dims : 'i
; element : 'a
; layout : Bigarray_compat.fortran_layout >
bigarray_class ->
'i ->
('a, 'f) Bigarray_compat.kind ->
'a ptr ->
'b
val array_of_bigarray :
< ba_repr : 'a
; bigarray : 'b
; carray : 'c
; dims : 'd
; element : 'e
; layout : Bigarray_compat.c_layout >
bigarray_class ->
'b ->
'c
val bigarray_of_array :
< ba_repr : 'f
; bigarray : 'b
; carray : 'c carray
; dims : 'i
; element : 'a
; layout : Bigarray_compat.c_layout >
bigarray_class ->
('a, 'f) Bigarray_compat.kind ->
'c carray ->
'b
val make :
?finalise:(('a, 'b) structured -> unit) ->
('a, 'b) structured typ ->
('a, 'b) structured
val setf : ('b, 'c) structured -> ('a, ('b, 'c) structured) field -> 'a -> unit
val getf : ('b, 'c) structured -> ('a, ('b, 'c) structured) field -> 'a
val (@.) : ('b, 'c) structured -> ('a, ('b, 'c) structured) field -> 'a ptr
val (|->) :
('b, 'c) structured ptr ->
('a, ('b, 'c) structured) field ->
'a ptr
val field_name : ('a, 'b) field -> string
val addr : ('a, 'b) structured -> ('a, 'b) structured ptr
exception Uncoercible of uncoercible_info
include module type of struct include Unsigned end
include module type of struct include Signed end
val of_byte_size : int -> (module S)
This module extends Ctypes with types and functions specific to Objective-C.
module Objc_super : sig ... end
val msg_send :
self:objc_object Ctypes.structure Ctypes_static.ptr ->
cmd:objc_selector Ctypes.structure Ctypes_static.ptr ->
typ:'a fn ->
'a
Sends a message with a simple return value to an instance of a class.
val msg_send_suspended :
self:objc_object Ctypes.structure Ctypes_static.ptr ->
cmd:objc_selector Ctypes.structure Ctypes_static.ptr ->
typ:'a fn ->
'a
Sends a message with a simple return value to an instance of a class, releasing the runtime lock to avoid blocking other threads.
val msg_send_super :
self:
Runtime__.Type_description.Types.objc_object Ctypes.structure
Ctypes_static.ptr ->
cmd:objc_selector Ctypes.structure Ctypes_static.ptr ->
typ:'a fn ->
'a
Sends a message with a simple return value to the superclass of an instance of a class.
val msg_send_vo :
self:objc_object Ctypes.structure Ctypes_static.ptr ->
cmd:objc_selector Ctypes.structure Ctypes_static.ptr ->
objc_object Ctypes.structure Ctypes_static.ptr
Shortcut for type void @-> id
val msg_send_ov :
self:objc_object Ctypes.structure Ctypes_static.ptr ->
cmd:objc_selector Ctypes.structure Ctypes_static.ptr ->
objc_object Ctypes.structure Ctypes_static.ptr ->
unit
Shortcut for type id @-> void
val msg_send_stret :
self:objc_object Ctypes.structure Ctypes_static.ptr ->
cmd:objc_selector Ctypes.structure Ctypes_static.ptr ->
typ:'a fn ->
return_type:'b typ ->
'a
Sends a message with a data-structure return value to an instance of a class.