sig
  module Org_freedesktop_UDisks :
    sig
      val interface : OBus_name.interface
      val m_DriveInhibitAllPolling :
        (string list, string) OBus_member.Method.t
      val m_DriveSetAllSpindownTimeouts :
        (int32 * string list, string) OBus_member.Method.t
      val m_DriveUninhibitAllPolling : (string, unit) OBus_member.Method.t
      val m_DriveUnsetAllSpindownTimeouts :
        (string, unit) OBus_member.Method.t
      val m_EnumerateAdapters : (unit, OBus_path.t list) OBus_member.Method.t
      val m_EnumerateDeviceFiles : (unit, string list) OBus_member.Method.t
      val m_EnumerateDevices : (unit, OBus_path.t list) OBus_member.Method.t
      val m_EnumerateExpanders :
        (unit, OBus_path.t list) OBus_member.Method.t
      val m_EnumeratePorts : (unit, OBus_path.t list) OBus_member.Method.t
      val m_FindDeviceByDeviceFile :
        (string, OBus_path.t) OBus_member.Method.t
      val m_FindDeviceByMajorMinor :
        (int64 * int64, OBus_path.t) OBus_member.Method.t
      val m_Inhibit : (unit, string) OBus_member.Method.t
      val m_LinuxLvm2LVCreate :
        (string * string * int64 * int32 * int64 * int32 * string list *
         string * string list, OBus_path.t)
        OBus_member.Method.t
      val m_LinuxLvm2LVRemove :
        (string * string * string list, unit) OBus_member.Method.t
      val m_LinuxLvm2LVSetName :
        (string * string * string, unit) OBus_member.Method.t
      val m_LinuxLvm2LVStart :
        (string * string * string list, unit) OBus_member.Method.t
      val m_LinuxLvm2VGAddPV :
        (string * OBus_path.t * string list, unit) OBus_member.Method.t
      val m_LinuxLvm2VGRemovePV :
        (string * string * string list, unit) OBus_member.Method.t
      val m_LinuxLvm2VGSetName : (string * string, unit) OBus_member.Method.t
      val m_LinuxLvm2VGStart :
        (string * string list, unit) OBus_member.Method.t
      val m_LinuxLvm2VGStop :
        (string * string list, unit) OBus_member.Method.t
      val m_LinuxMdCreate :
        (OBus_path.t list * string * int64 * string * string list,
         OBus_path.t)
        OBus_member.Method.t
      val m_LinuxMdStart :
        (OBus_path.t list * string list, OBus_path.t) OBus_member.Method.t
      val m_Uninhibit : (string, unit) OBus_member.Method.t
      val s_AdapterAdded : OBus_path.t OBus_member.Signal.t
      val s_AdapterChanged : OBus_path.t OBus_member.Signal.t
      val s_AdapterRemoved : OBus_path.t OBus_member.Signal.t
      val s_DeviceAdded : OBus_path.t OBus_member.Signal.t
      val s_DeviceChanged : OBus_path.t OBus_member.Signal.t
      val s_DeviceJobChanged :
        (OBus_path.t * bool * bool * string * int32 * int32 * string * float)
        OBus_member.Signal.t
      val s_DeviceRemoved : OBus_path.t OBus_member.Signal.t
      val s_ExpanderAdded : OBus_path.t OBus_member.Signal.t
      val s_ExpanderChanged : OBus_path.t OBus_member.Signal.t
      val s_ExpanderRemoved : OBus_path.t OBus_member.Signal.t
      val s_PortAdded : OBus_path.t OBus_member.Signal.t
      val s_PortChanged : OBus_path.t OBus_member.Signal.t
      val s_PortRemoved : OBus_path.t OBus_member.Signal.t
      val p_DaemonIsInhibited : (bool, [ `readable ]) OBus_member.Property.t
      val p_DaemonVersion : (string, [ `readable ]) OBus_member.Property.t
      val p_KnownFilesystems :
        ((string * string * bool * bool * bool * int32 * bool * bool * 
          bool * bool * bool * bool * bool * bool)
         list, [ `readable ])
        OBus_member.Property.t
      val p_SupportsLuksDevices :
        (bool, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        m_DriveInhibitAllPolling :
          'OBus_object.t -> string list -> string Lwt.t;
        m_DriveSetAllSpindownTimeouts :
          'OBus_object.t -> int32 * string list -> string Lwt.t;
        m_DriveUninhibitAllPolling : 'OBus_object.t -> string -> unit Lwt.t;
        m_DriveUnsetAllSpindownTimeouts :
          'OBus_object.t -> string -> unit Lwt.t;
        m_EnumerateAdapters :
          'OBus_object.t -> unit -> OBus_path.t list Lwt.t;
        m_EnumerateDeviceFiles :
          'OBus_object.t -> unit -> string list Lwt.t;
        m_EnumerateDevices :
          'OBus_object.t -> unit -> OBus_path.t list Lwt.t;
        m_EnumerateExpanders :
          'OBus_object.t -> unit -> OBus_path.t list Lwt.t;
        m_EnumeratePorts : 'OBus_object.t -> unit -> OBus_path.t list Lwt.t;
        m_FindDeviceByDeviceFile :
          'OBus_object.t -> string -> OBus_path.t Lwt.t;
        m_FindDeviceByMajorMinor :
          'OBus_object.t -> int64 * int64 -> OBus_path.t Lwt.t;
        m_Inhibit : 'OBus_object.t -> unit -> string Lwt.t;
        m_LinuxLvm2LVCreate :
          'OBus_object.t ->
          string * string * int64 * int32 * int64 * int32 * string list *
          string * string list -> OBus_path.t Lwt.t;
        m_LinuxLvm2LVRemove :
          'OBus_object.t -> string * string * string list -> unit Lwt.t;
        m_LinuxLvm2LVSetName :
          'OBus_object.t -> string * string * string -> unit Lwt.t;
        m_LinuxLvm2LVStart :
          'OBus_object.t -> string * string * string list -> unit Lwt.t;
        m_LinuxLvm2VGAddPV :
          'OBus_object.t ->
          string * OBus_path.t * string list -> unit Lwt.t;
        m_LinuxLvm2VGRemovePV :
          'OBus_object.t -> string * string * string list -> unit Lwt.t;
        m_LinuxLvm2VGSetName :
          'OBus_object.t -> string * string -> unit Lwt.t;
        m_LinuxLvm2VGStart :
          'OBus_object.t -> string * string list -> unit Lwt.t;
        m_LinuxLvm2VGStop :
          'OBus_object.t -> string * string list -> unit Lwt.t;
        m_LinuxMdCreate :
          'OBus_object.t ->
          OBus_path.t list * string * int64 * string * string list ->
          OBus_path.t Lwt.t;
        m_LinuxMdStart :
          'OBus_object.t ->
          OBus_path.t list * string list -> OBus_path.t Lwt.t;
        m_Uninhibit : 'OBus_object.t -> string -> unit Lwt.t;
        p_DaemonIsInhibited : 'OBus_object.t -> bool React.signal;
        p_DaemonVersion : 'OBus_object.t -> string React.signal;
        p_KnownFilesystems :
          'OBus_object.t ->
          (string * string * bool * bool * bool * int32 * bool * bool *
           bool * bool * bool * bool * bool * bool)
          list React.signal;
        p_SupportsLuksDevices : 'OBus_object.t -> bool React.signal;
      }
      val make :
        'UDisks_interfaces.Org_freedesktop_UDisks.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_UDisks_Adapter :
    sig
      val interface : OBus_name.interface
      val s_Changed : unit OBus_member.Signal.t
      val p_Driver : (string, [ `readable ]) OBus_member.Property.t
      val p_Fabric : (string, [ `readable ]) OBus_member.Property.t
      val p_Model : (string, [ `readable ]) OBus_member.Property.t
      val p_NativePath : (string, [ `readable ]) OBus_member.Property.t
      val p_NumPorts : (int32, [ `readable ]) OBus_member.Property.t
      val p_Vendor : (string, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        p_Driver : 'OBus_object.t -> string React.signal;
        p_Fabric : 'OBus_object.t -> string React.signal;
        p_Model : 'OBus_object.t -> string React.signal;
        p_NativePath : 'OBus_object.t -> string React.signal;
        p_NumPorts : 'OBus_object.t -> int32 React.signal;
        p_Vendor : 'OBus_object.t -> string React.signal;
      }
      val make :
        'UDisks_interfaces.Org_freedesktop_UDisks_Adapter.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_UDisks_Device :
    sig
      val interface : OBus_name.interface
      val m_DriveAtaSmartInitiateSelftest :
        (string * string list, unit) OBus_member.Method.t
      val m_DriveAtaSmartRefreshData :
        (string list, unit) OBus_member.Method.t
      val m_DriveBenchmark :
        (bool * string list,
         (int64 * float) list * (int64 * float) list * (int64 * float) list)
        OBus_member.Method.t
      val m_DriveDetach : (string list, unit) OBus_member.Method.t
      val m_DriveEject : (string list, unit) OBus_member.Method.t
      val m_DriveInhibitPolling : (string list, string) OBus_member.Method.t
      val m_DrivePollMedia : (unit, unit) OBus_member.Method.t
      val m_DriveSetSpindownTimeout :
        (int32 * string list, string) OBus_member.Method.t
      val m_DriveUninhibitPolling : (string, unit) OBus_member.Method.t
      val m_DriveUnsetSpindownTimeout : (string, unit) OBus_member.Method.t
      val m_FilesystemCheck : (string list, bool) OBus_member.Method.t
      val m_FilesystemCreate :
        (string * string list, unit) OBus_member.Method.t
      val m_FilesystemListOpenFiles :
        (unit, (int32 * int32 * string) list) OBus_member.Method.t
      val m_FilesystemMount :
        (string * string list, string) OBus_member.Method.t
      val m_FilesystemSetLabel : (string, unit) OBus_member.Method.t
      val m_FilesystemUnmount : (string list, unit) OBus_member.Method.t
      val m_JobCancel : (unit, unit) OBus_member.Method.t
      val m_LinuxLvm2LVStop : (string list, unit) OBus_member.Method.t
      val m_LinuxMdAddSpare :
        (OBus_path.t * string list, unit) OBus_member.Method.t
      val m_LinuxMdCheck : (string list, int64) OBus_member.Method.t
      val m_LinuxMdExpand :
        (OBus_path.t list * string list, unit) OBus_member.Method.t
      val m_LinuxMdRemoveComponent :
        (OBus_path.t * string list, unit) OBus_member.Method.t
      val m_LinuxMdStop : (string list, unit) OBus_member.Method.t
      val m_LuksChangePassphrase :
        (string * string, unit) OBus_member.Method.t
      val m_LuksLock : (string list, unit) OBus_member.Method.t
      val m_LuksUnlock :
        (string * string list, OBus_path.t) OBus_member.Method.t
      val m_PartitionCreate :
        (int64 * int64 * string * string * string list * string list *
         string * string list, OBus_path.t)
        OBus_member.Method.t
      val m_PartitionDelete : (string list, unit) OBus_member.Method.t
      val m_PartitionModify :
        (string * string * string list, unit) OBus_member.Method.t
      val m_PartitionTableCreate :
        (string * string list, unit) OBus_member.Method.t
      val s_Changed : unit OBus_member.Signal.t
      val s_JobChanged :
        (bool * bool * string * int32 * float) OBus_member.Signal.t
      val p_DeviceBlockSize : (int64, [ `readable ]) OBus_member.Property.t
      val p_DeviceDetectionTime :
        (int64, [ `readable ]) OBus_member.Property.t
      val p_DeviceFile : (string, [ `readable ]) OBus_member.Property.t
      val p_DeviceFileById :
        (string list, [ `readable ]) OBus_member.Property.t
      val p_DeviceFileByPath :
        (string list, [ `readable ]) OBus_member.Property.t
      val p_DeviceFilePresentation :
        (string, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsDrive : (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsLinuxDmmp : (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsLinuxDmmpComponent :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsLinuxLoop : (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsLinuxLvm2LV :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsLinuxLvm2PV :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsLinuxMd : (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsLinuxMdComponent :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsLuks : (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsLuksCleartext :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsMediaAvailable :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsMediaChangeDetected :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsMediaChangeDetectionInhibitable :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsMediaChangeDetectionInhibited :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsMediaChangeDetectionPolling :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsMounted : (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsOpticalDisc :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsPartition : (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsPartitionTable :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsReadOnly : (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsRemovable : (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceIsSystemInternal :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceMajor : (int64, [ `readable ]) OBus_member.Property.t
      val p_DeviceMediaDetectionTime :
        (int64, [ `readable ]) OBus_member.Property.t
      val p_DeviceMinor : (int64, [ `readable ]) OBus_member.Property.t
      val p_DeviceMountPaths :
        (string list, [ `readable ]) OBus_member.Property.t
      val p_DeviceMountedByUid :
        (int32, [ `readable ]) OBus_member.Property.t
      val p_DevicePresentationHide :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DevicePresentationIconName :
        (string, [ `readable ]) OBus_member.Property.t
      val p_DevicePresentationName :
        (string, [ `readable ]) OBus_member.Property.t
      val p_DevicePresentationNopolicy :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DeviceSize : (int64, [ `readable ]) OBus_member.Property.t
      val p_DriveAdapter :
        (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_DriveAtaSmartBlob :
        (string, [ `readable ]) OBus_member.Property.t
      val p_DriveAtaSmartIsAvailable :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DriveAtaSmartStatus :
        (string, [ `readable ]) OBus_member.Property.t
      val p_DriveAtaSmartTimeCollected :
        (int64, [ `readable ]) OBus_member.Property.t
      val p_DriveCanDetach : (bool, [ `readable ]) OBus_member.Property.t
      val p_DriveCanSpindown : (bool, [ `readable ]) OBus_member.Property.t
      val p_DriveConnectionInterface :
        (string, [ `readable ]) OBus_member.Property.t
      val p_DriveConnectionSpeed :
        (int64, [ `readable ]) OBus_member.Property.t
      val p_DriveIsMediaEjectable :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_DriveIsRotational : (bool, [ `readable ]) OBus_member.Property.t
      val p_DriveMedia : (string, [ `readable ]) OBus_member.Property.t
      val p_DriveMediaCompatibility :
        (string list, [ `readable ]) OBus_member.Property.t
      val p_DriveModel : (string, [ `readable ]) OBus_member.Property.t
      val p_DrivePorts :
        (OBus_path.t list, [ `readable ]) OBus_member.Property.t
      val p_DriveRevision : (string, [ `readable ]) OBus_member.Property.t
      val p_DriveRotationRate : (int32, [ `readable ]) OBus_member.Property.t
      val p_DriveSerial : (string, [ `readable ]) OBus_member.Property.t
      val p_DriveSimilarDevices :
        (OBus_path.t list, [ `readable ]) OBus_member.Property.t
      val p_DriveVendor : (string, [ `readable ]) OBus_member.Property.t
      val p_DriveWriteCache : (string, [ `readable ]) OBus_member.Property.t
      val p_DriveWwn : (string, [ `readable ]) OBus_member.Property.t
      val p_IdLabel : (string, [ `readable ]) OBus_member.Property.t
      val p_IdType : (string, [ `readable ]) OBus_member.Property.t
      val p_IdUsage : (string, [ `readable ]) OBus_member.Property.t
      val p_IdUuid : (string, [ `readable ]) OBus_member.Property.t
      val p_IdVersion : (string, [ `readable ]) OBus_member.Property.t
      val p_JobId : (string, [ `readable ]) OBus_member.Property.t
      val p_JobInProgress : (bool, [ `readable ]) OBus_member.Property.t
      val p_JobInitiatedByUid : (int32, [ `readable ]) OBus_member.Property.t
      val p_JobIsCancellable : (bool, [ `readable ]) OBus_member.Property.t
      val p_JobPercentage : (float, [ `readable ]) OBus_member.Property.t
      val p_LinuxDmmpComponentHolder :
        (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_LinuxDmmpName : (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxDmmpParameters :
        (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxDmmpSlaves :
        (OBus_path.t list, [ `readable ]) OBus_member.Property.t
      val p_LinuxLoopFilename :
        (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2LVGroupName :
        (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2LVGroupUuid :
        (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2LVName : (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2LVUuid : (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2PVGroupExtentSize :
        (int64, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2PVGroupLogicalVolumes :
        (string list, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2PVGroupName :
        (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2PVGroupPhysicalVolumes :
        (string list, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2PVGroupSequenceNumber :
        (int64, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2PVGroupSize :
        (int64, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2PVGroupUnallocatedSize :
        (int64, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2PVGroupUuid :
        (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2PVNumMetadataAreas :
        (int32, [ `readable ]) OBus_member.Property.t
      val p_LinuxLvm2PVUuid : (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdComponentHolder :
        (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdComponentHomeHost :
        (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdComponentLevel :
        (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdComponentName :
        (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdComponentNumRaidDevices :
        (int32, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdComponentPosition :
        (int32, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdComponentState :
        (string list, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdComponentUuid :
        (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdComponentVersion :
        (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdHomeHost : (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdIsDegraded : (bool, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdLevel : (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdName : (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdNumRaidDevices :
        (int32, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdSlaves :
        (OBus_path.t list, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdState : (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdSyncAction :
        (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdSyncPercentage :
        (float, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdSyncSpeed : (int64, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdUuid : (string, [ `readable ]) OBus_member.Property.t
      val p_LinuxMdVersion : (string, [ `readable ]) OBus_member.Property.t
      val p_LuksCleartextSlave :
        (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_LuksCleartextUnlockedByUid :
        (int32, [ `readable ]) OBus_member.Property.t
      val p_LuksHolder : (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_NativePath : (string, [ `readable ]) OBus_member.Property.t
      val p_OpticalDiscIsAppendable :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_OpticalDiscIsBlank : (bool, [ `readable ]) OBus_member.Property.t
      val p_OpticalDiscIsClosed :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_OpticalDiscNumAudioTracks :
        (int32, [ `readable ]) OBus_member.Property.t
      val p_OpticalDiscNumSessions :
        (int32, [ `readable ]) OBus_member.Property.t
      val p_OpticalDiscNumTracks :
        (int32, [ `readable ]) OBus_member.Property.t
      val p_PartitionAlignmentOffset :
        (int64, [ `readable ]) OBus_member.Property.t
      val p_PartitionFlags :
        (string list, [ `readable ]) OBus_member.Property.t
      val p_PartitionLabel : (string, [ `readable ]) OBus_member.Property.t
      val p_PartitionNumber : (int32, [ `readable ]) OBus_member.Property.t
      val p_PartitionOffset : (int64, [ `readable ]) OBus_member.Property.t
      val p_PartitionScheme : (string, [ `readable ]) OBus_member.Property.t
      val p_PartitionSize : (int64, [ `readable ]) OBus_member.Property.t
      val p_PartitionSlave :
        (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_PartitionTableCount :
        (int32, [ `readable ]) OBus_member.Property.t
      val p_PartitionTableScheme :
        (string, [ `readable ]) OBus_member.Property.t
      val p_PartitionType : (string, [ `readable ]) OBus_member.Property.t
      val p_PartitionUuid : (string, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        m_DriveAtaSmartInitiateSelftest :
          'OBus_object.t -> string * string list -> unit Lwt.t;
        m_DriveAtaSmartRefreshData :
          'OBus_object.t -> string list -> unit Lwt.t;
        m_DriveBenchmark :
          'OBus_object.t ->
          bool * string list ->
          ((int64 * float) list * (int64 * float) list * (int64 * float) list)
          Lwt.t;
        m_DriveDetach : 'OBus_object.t -> string list -> unit Lwt.t;
        m_DriveEject : 'OBus_object.t -> string list -> unit Lwt.t;
        m_DriveInhibitPolling :
          'OBus_object.t -> string list -> string Lwt.t;
        m_DrivePollMedia : 'OBus_object.t -> unit -> unit Lwt.t;
        m_DriveSetSpindownTimeout :
          'OBus_object.t -> int32 * string list -> string Lwt.t;
        m_DriveUninhibitPolling : 'OBus_object.t -> string -> unit Lwt.t;
        m_DriveUnsetSpindownTimeout :
          'OBus_object.t -> string -> unit Lwt.t;
        m_FilesystemCheck : 'OBus_object.t -> string list -> bool Lwt.t;
        m_FilesystemCreate :
          'OBus_object.t -> string * string list -> unit Lwt.t;
        m_FilesystemListOpenFiles :
          'OBus_object.t -> unit -> (int32 * int32 * string) list Lwt.t;
        m_FilesystemMount :
          'OBus_object.t -> string * string list -> string Lwt.t;
        m_FilesystemSetLabel : 'OBus_object.t -> string -> unit Lwt.t;
        m_FilesystemUnmount : 'OBus_object.t -> string list -> unit Lwt.t;
        m_JobCancel : 'OBus_object.t -> unit -> unit Lwt.t;
        m_LinuxLvm2LVStop : 'OBus_object.t -> string list -> unit Lwt.t;
        m_LinuxMdAddSpare :
          'OBus_object.t -> OBus_path.t * string list -> unit Lwt.t;
        m_LinuxMdCheck : 'OBus_object.t -> string list -> int64 Lwt.t;
        m_LinuxMdExpand :
          'OBus_object.t -> OBus_path.t list * string list -> unit Lwt.t;
        m_LinuxMdRemoveComponent :
          'OBus_object.t -> OBus_path.t * string list -> unit Lwt.t;
        m_LinuxMdStop : 'OBus_object.t -> string list -> unit Lwt.t;
        m_LuksChangePassphrase :
          'OBus_object.t -> string * string -> unit Lwt.t;
        m_LuksLock : 'OBus_object.t -> string list -> unit Lwt.t;
        m_LuksUnlock :
          'OBus_object.t -> string * string list -> OBus_path.t Lwt.t;
        m_PartitionCreate :
          'OBus_object.t ->
          int64 * int64 * string * string * string list * string list *
          string * string list -> OBus_path.t Lwt.t;
        m_PartitionDelete : 'OBus_object.t -> string list -> unit Lwt.t;
        m_PartitionModify :
          'OBus_object.t -> string * string * string list -> unit Lwt.t;
        m_PartitionTableCreate :
          'OBus_object.t -> string * string list -> unit Lwt.t;
        p_DeviceBlockSize : 'OBus_object.t -> int64 React.signal;
        p_DeviceDetectionTime : 'OBus_object.t -> int64 React.signal;
        p_DeviceFile : 'OBus_object.t -> string React.signal;
        p_DeviceFileById : 'OBus_object.t -> string list React.signal;
        p_DeviceFileByPath : 'OBus_object.t -> string list React.signal;
        p_DeviceFilePresentation : 'OBus_object.t -> string React.signal;
        p_DeviceIsDrive : 'OBus_object.t -> bool React.signal;
        p_DeviceIsLinuxDmmp : 'OBus_object.t -> bool React.signal;
        p_DeviceIsLinuxDmmpComponent : 'OBus_object.t -> bool React.signal;
        p_DeviceIsLinuxLoop : 'OBus_object.t -> bool React.signal;
        p_DeviceIsLinuxLvm2LV : 'OBus_object.t -> bool React.signal;
        p_DeviceIsLinuxLvm2PV : 'OBus_object.t -> bool React.signal;
        p_DeviceIsLinuxMd : 'OBus_object.t -> bool React.signal;
        p_DeviceIsLinuxMdComponent : 'OBus_object.t -> bool React.signal;
        p_DeviceIsLuks : 'OBus_object.t -> bool React.signal;
        p_DeviceIsLuksCleartext : 'OBus_object.t -> bool React.signal;
        p_DeviceIsMediaAvailable : 'OBus_object.t -> bool React.signal;
        p_DeviceIsMediaChangeDetected : 'OBus_object.t -> bool React.signal;
        p_DeviceIsMediaChangeDetectionInhibitable :
          'OBus_object.t -> bool React.signal;
        p_DeviceIsMediaChangeDetectionInhibited :
          'OBus_object.t -> bool React.signal;
        p_DeviceIsMediaChangeDetectionPolling :
          'OBus_object.t -> bool React.signal;
        p_DeviceIsMounted : 'OBus_object.t -> bool React.signal;
        p_DeviceIsOpticalDisc : 'OBus_object.t -> bool React.signal;
        p_DeviceIsPartition : 'OBus_object.t -> bool React.signal;
        p_DeviceIsPartitionTable : 'OBus_object.t -> bool React.signal;
        p_DeviceIsReadOnly : 'OBus_object.t -> bool React.signal;
        p_DeviceIsRemovable : 'OBus_object.t -> bool React.signal;
        p_DeviceIsSystemInternal : 'OBus_object.t -> bool React.signal;
        p_DeviceMajor : 'OBus_object.t -> int64 React.signal;
        p_DeviceMediaDetectionTime : 'OBus_object.t -> int64 React.signal;
        p_DeviceMinor : 'OBus_object.t -> int64 React.signal;
        p_DeviceMountPaths : 'OBus_object.t -> string list React.signal;
        p_DeviceMountedByUid : 'OBus_object.t -> int32 React.signal;
        p_DevicePresentationHide : 'OBus_object.t -> bool React.signal;
        p_DevicePresentationIconName :
          'OBus_object.t -> string React.signal;
        p_DevicePresentationName : 'OBus_object.t -> string React.signal;
        p_DevicePresentationNopolicy : 'OBus_object.t -> bool React.signal;
        p_DeviceSize : 'OBus_object.t -> int64 React.signal;
        p_DriveAdapter : 'OBus_object.t -> OBus_path.t React.signal;
        p_DriveAtaSmartBlob : 'OBus_object.t -> string React.signal;
        p_DriveAtaSmartIsAvailable : 'OBus_object.t -> bool React.signal;
        p_DriveAtaSmartStatus : 'OBus_object.t -> string React.signal;
        p_DriveAtaSmartTimeCollected : 'OBus_object.t -> int64 React.signal;
        p_DriveCanDetach : 'OBus_object.t -> bool React.signal;
        p_DriveCanSpindown : 'OBus_object.t -> bool React.signal;
        p_DriveConnectionInterface : 'OBus_object.t -> string React.signal;
        p_DriveConnectionSpeed : 'OBus_object.t -> int64 React.signal;
        p_DriveIsMediaEjectable : 'OBus_object.t -> bool React.signal;
        p_DriveIsRotational : 'OBus_object.t -> bool React.signal;
        p_DriveMedia : 'OBus_object.t -> string React.signal;
        p_DriveMediaCompatibility :
          'OBus_object.t -> string list React.signal;
        p_DriveModel : 'OBus_object.t -> string React.signal;
        p_DrivePorts : 'OBus_object.t -> OBus_path.t list React.signal;
        p_DriveRevision : 'OBus_object.t -> string React.signal;
        p_DriveRotationRate : 'OBus_object.t -> int32 React.signal;
        p_DriveSerial : 'OBus_object.t -> string React.signal;
        p_DriveSimilarDevices :
          'OBus_object.t -> OBus_path.t list React.signal;
        p_DriveVendor : 'OBus_object.t -> string React.signal;
        p_DriveWriteCache : 'OBus_object.t -> string React.signal;
        p_DriveWwn : 'OBus_object.t -> string React.signal;
        p_IdLabel : 'OBus_object.t -> string React.signal;
        p_IdType : 'OBus_object.t -> string React.signal;
        p_IdUsage : 'OBus_object.t -> string React.signal;
        p_IdUuid : 'OBus_object.t -> string React.signal;
        p_IdVersion : 'OBus_object.t -> string React.signal;
        p_JobId : 'OBus_object.t -> string React.signal;
        p_JobInProgress : 'OBus_object.t -> bool React.signal;
        p_JobInitiatedByUid : 'OBus_object.t -> int32 React.signal;
        p_JobIsCancellable : 'OBus_object.t -> bool React.signal;
        p_JobPercentage : 'OBus_object.t -> float React.signal;
        p_LinuxDmmpComponentHolder :
          'OBus_object.t -> OBus_path.t React.signal;
        p_LinuxDmmpName : 'OBus_object.t -> string React.signal;
        p_LinuxDmmpParameters : 'OBus_object.t -> string React.signal;
        p_LinuxDmmpSlaves : 'OBus_object.t -> OBus_path.t list React.signal;
        p_LinuxLoopFilename : 'OBus_object.t -> string React.signal;
        p_LinuxLvm2LVGroupName : 'OBus_object.t -> string React.signal;
        p_LinuxLvm2LVGroupUuid : 'OBus_object.t -> string React.signal;
        p_LinuxLvm2LVName : 'OBus_object.t -> string React.signal;
        p_LinuxLvm2LVUuid : 'OBus_object.t -> string React.signal;
        p_LinuxLvm2PVGroupExtentSize : 'OBus_object.t -> int64 React.signal;
        p_LinuxLvm2PVGroupLogicalVolumes :
          'OBus_object.t -> string list React.signal;
        p_LinuxLvm2PVGroupName : 'OBus_object.t -> string React.signal;
        p_LinuxLvm2PVGroupPhysicalVolumes :
          'OBus_object.t -> string list React.signal;
        p_LinuxLvm2PVGroupSequenceNumber :
          'OBus_object.t -> int64 React.signal;
        p_LinuxLvm2PVGroupSize : 'OBus_object.t -> int64 React.signal;
        p_LinuxLvm2PVGroupUnallocatedSize :
          'OBus_object.t -> int64 React.signal;
        p_LinuxLvm2PVGroupUuid : 'OBus_object.t -> string React.signal;
        p_LinuxLvm2PVNumMetadataAreas :
          'OBus_object.t -> int32 React.signal;
        p_LinuxLvm2PVUuid : 'OBus_object.t -> string React.signal;
        p_LinuxMdComponentHolder :
          'OBus_object.t -> OBus_path.t React.signal;
        p_LinuxMdComponentHomeHost : 'OBus_object.t -> string React.signal;
        p_LinuxMdComponentLevel : 'OBus_object.t -> string React.signal;
        p_LinuxMdComponentName : 'OBus_object.t -> string React.signal;
        p_LinuxMdComponentNumRaidDevices :
          'OBus_object.t -> int32 React.signal;
        p_LinuxMdComponentPosition : 'OBus_object.t -> int32 React.signal;
        p_LinuxMdComponentState :
          'OBus_object.t -> string list React.signal;
        p_LinuxMdComponentUuid : 'OBus_object.t -> string React.signal;
        p_LinuxMdComponentVersion : 'OBus_object.t -> string React.signal;
        p_LinuxMdHomeHost : 'OBus_object.t -> string React.signal;
        p_LinuxMdIsDegraded : 'OBus_object.t -> bool React.signal;
        p_LinuxMdLevel : 'OBus_object.t -> string React.signal;
        p_LinuxMdName : 'OBus_object.t -> string React.signal;
        p_LinuxMdNumRaidDevices : 'OBus_object.t -> int32 React.signal;
        p_LinuxMdSlaves : 'OBus_object.t -> OBus_path.t list React.signal;
        p_LinuxMdState : 'OBus_object.t -> string React.signal;
        p_LinuxMdSyncAction : 'OBus_object.t -> string React.signal;
        p_LinuxMdSyncPercentage : 'OBus_object.t -> float React.signal;
        p_LinuxMdSyncSpeed : 'OBus_object.t -> int64 React.signal;
        p_LinuxMdUuid : 'OBus_object.t -> string React.signal;
        p_LinuxMdVersion : 'OBus_object.t -> string React.signal;
        p_LuksCleartextSlave : 'OBus_object.t -> OBus_path.t React.signal;
        p_LuksCleartextUnlockedByUid : 'OBus_object.t -> int32 React.signal;
        p_LuksHolder : 'OBus_object.t -> OBus_path.t React.signal;
        p_NativePath : 'OBus_object.t -> string React.signal;
        p_OpticalDiscIsAppendable : 'OBus_object.t -> bool React.signal;
        p_OpticalDiscIsBlank : 'OBus_object.t -> bool React.signal;
        p_OpticalDiscIsClosed : 'OBus_object.t -> bool React.signal;
        p_OpticalDiscNumAudioTracks : 'OBus_object.t -> int32 React.signal;
        p_OpticalDiscNumSessions : 'OBus_object.t -> int32 React.signal;
        p_OpticalDiscNumTracks : 'OBus_object.t -> int32 React.signal;
        p_PartitionAlignmentOffset : 'OBus_object.t -> int64 React.signal;
        p_PartitionFlags : 'OBus_object.t -> string list React.signal;
        p_PartitionLabel : 'OBus_object.t -> string React.signal;
        p_PartitionNumber : 'OBus_object.t -> int32 React.signal;
        p_PartitionOffset : 'OBus_object.t -> int64 React.signal;
        p_PartitionScheme : 'OBus_object.t -> string React.signal;
        p_PartitionSize : 'OBus_object.t -> int64 React.signal;
        p_PartitionSlave : 'OBus_object.t -> OBus_path.t React.signal;
        p_PartitionTableCount : 'OBus_object.t -> int32 React.signal;
        p_PartitionTableScheme : 'OBus_object.t -> string React.signal;
        p_PartitionType : 'OBus_object.t -> string React.signal;
        p_PartitionUuid : 'OBus_object.t -> string React.signal;
      }
      val make :
        'UDisks_interfaces.Org_freedesktop_UDisks_Device.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_UDisks_Expander :
    sig
      val interface : OBus_name.interface
      val s_Changed : unit OBus_member.Signal.t
      val p_Adapter : (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_Model : (string, [ `readable ]) OBus_member.Property.t
      val p_NativePath : (string, [ `readable ]) OBus_member.Property.t
      val p_NumPorts : (int32, [ `readable ]) OBus_member.Property.t
      val p_Revision : (string, [ `readable ]) OBus_member.Property.t
      val p_UpstreamPorts :
        (OBus_path.t list, [ `readable ]) OBus_member.Property.t
      val p_Vendor : (string, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        p_Adapter : 'OBus_object.t -> OBus_path.t React.signal;
        p_Model : 'OBus_object.t -> string React.signal;
        p_NativePath : 'OBus_object.t -> string React.signal;
        p_NumPorts : 'OBus_object.t -> int32 React.signal;
        p_Revision : 'OBus_object.t -> string React.signal;
        p_UpstreamPorts : 'OBus_object.t -> OBus_path.t list React.signal;
        p_Vendor : 'OBus_object.t -> string React.signal;
      }
      val make :
        'UDisks_interfaces.Org_freedesktop_UDisks_Expander.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_UDisks_Port :
    sig
      val interface : OBus_name.interface
      val s_Changed : unit OBus_member.Signal.t
      val p_Adapter : (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_ConnectorType : (string, [ `readable ]) OBus_member.Property.t
      val p_NativePath : (string, [ `readable ]) OBus_member.Property.t
      val p_Number : (int32, [ `readable ]) OBus_member.Property.t
      val p_Parent : (OBus_path.t, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        p_Adapter : 'OBus_object.t -> OBus_path.t React.signal;
        p_ConnectorType : 'OBus_object.t -> string React.signal;
        p_NativePath : 'OBus_object.t -> string React.signal;
        p_Number : 'OBus_object.t -> int32 React.signal;
        p_Parent : 'OBus_object.t -> OBus_path.t React.signal;
      }
      val make :
        'UDisks_interfaces.Org_freedesktop_UDisks_Port.members ->
        'OBus_object.interface
    end
end