sig
  external selection : Gtk.selection_data -> Gdk.atom
    = "ml_gtk_selection_data_selection"
  external target : Gtk.selection_data -> Gdk.atom
    = "ml_gtk_selection_data_target"
  external seltype : Gtk.selection_data -> Gdk.atom
    = "ml_gtk_selection_data_type"
  external format : Gtk.selection_data -> int
    = "ml_gtk_selection_data_format"
  external get_data : Gtk.selection_data -> string
    = "ml_gtk_selection_data_get_data"
  external set :
    Gtk.selection_data ->
    typ:Gdk.atom -> format:int -> data:string option -> unit
    = "ml_gtk_selection_data_set"
  external copy : Gtk.selection_data -> Gtk.selection_data
    = "ml_gtk_selection_data_copy"
  external owner_set :
    [> `widget ] Gtk.obj -> sel:Gdk.atom -> time:int32 -> bool
    = "ml_gtk_selection_owner_set"
  external add_target :
    [> `widget ] Gtk.obj ->
    sel:Gdk.atom -> target:Gdk.atom -> info:int -> unit
    = "ml_gtk_selection_add_target"
  external convert :
    [> `widget ] Gtk.obj ->
    sel:Gdk.atom -> target:Gdk.atom -> time:int32 -> bool
    = "ml_gtk_selection_convert"
  external clear_targets : [> `widget ] Gtk.obj -> sel:Gdk.atom -> unit
    = "ml_gtk_selection_clear_targets"
end