`sig
type ty = Session | System | Starter
type flags = Replace_existing
type grab_flag = AllowReplacement | ReplaceExisting | DoNotQueue
type request_reply =
PrimaryOwner
| InQueue
| Exists
| AlreadyOwner
| ReqUnknown of int
type release_reply = Released | NonExistent | NotOwner | RelUnknown of int
val get : DBus.Bus.ty -> DBus.bus
val get_private : DBus.Bus.ty -> DBus.bus
val register : DBus.bus -> unit
val set_unique_name : DBus.bus -> string -> bool
val get_unique_name : DBus.bus -> string
val request_name :
DBus.bus -> string -> DBus.Bus.grab_flag list -> DBus.Bus.request_reply
val release_name : DBus.bus -> string -> DBus.Bus.release_reply
val has_owner : DBus.bus -> string -> bool
val add_match : DBus.bus -> string -> bool -> unit
val remove_match : DBus.bus -> string -> bool -> unit
end`