DiskArbitration (JNA API)
Description: declaration: package: com.sun.jna.platform.mac, interface: DiskArbitration

Package com.sun.jna.platform.mac

# Interface DiskArbitration

All Superinterfaces:
  `Library`

public interface DiskArbitration extends Library
Disk Arbitration is a low-level framework based on Core Foundation. The Disk Arbitration framework provides the ability to get various pieces of information about a volume.

- ## Nested Class Summary

  Nested Classes
  Modifier and Type
  Interface
  Description
  `static class`
  `DiskArbitration.DADiskRef`
  Type of a reference to `DADisk` instances.
  `static class`
  `DiskArbitration.DASessionRef`
  Type of a reference to `DASession` instances.

  ## Nested classes/interfaces inherited from interface com.sun.jna.Library

  `Library.Handler`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final DiskArbitration`
  `INSTANCE`

  ### Fields inherited from interface com.sun.jna.Library

  `OPTION_ALLOW_OBJECTS, OPTION_CALLING_CONVENTION, OPTION_CLASSLOADER, OPTION_FUNCTION_MAPPER, OPTION_INVOCATION_MAPPER, OPTION_OPEN_FLAGS, OPTION_STRING_ENCODING, OPTION_STRUCTURE_ALIGNMENT, OPTION_SYMBOL_PROVIDER, OPTION_TYPE_MAPPER`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `CoreFoundation.CFDictionaryRef`
  `DADiskCopyDescription(DiskArbitration.DADiskRef disk)`
  Obtains the Disk Arbitration description of the specified disk.
  `DiskArbitration.DADiskRef`
  `DADiskCreateFromBSDName(CoreFoundation.CFAllocatorRef alloc, DiskArbitration.DASessionRef session, String diskName)`
  Creates a new disk object.
  `DiskArbitration.DADiskRef`
  `DADiskCreateFromIOMedia(CoreFoundation.CFAllocatorRef allocator, DiskArbitration.DASessionRef session, IOKit.IOObject media)`
  Creates a new disk object.
  `String`
  `DADiskGetBSDName(DiskArbitration.DADiskRef disk)`
  Obtains the BSD device name for the specified disk.
  `DiskArbitration.DASessionRef`
  `DASessionCreate(CoreFoundation.CFAllocatorRef alloc)`
  Creates a new session.

- ## Field Details

  - ### INSTANCE

    static final DiskArbitration INSTANCE

- ## Method Details

  - ### DASessionCreate

    DiskArbitration.DASessionRef DASessionCreate(CoreFoundation.CFAllocatorRef alloc)
    Creates a new session. The caller of this function receives a reference to the returned object.

    The caller also implicitly retains the object and is responsible for releasing it with `CoreFoundation.CFRelease(com.sun.jna.platform.mac.CoreFoundation.CFTypeRef)`.

    Parameters:
      `alloc` - The allocator object to be used to allocate memory.
    Returns:
      A reference to a new `DASession`.

  - ### DADiskCreateFromBSDName

    DiskArbitration.DADiskRef DADiskCreateFromBSDName(CoreFoundation.CFAllocatorRef alloc, DiskArbitration.DASessionRef session, String diskName)
    Creates a new disk object. The caller of this function receives a reference to the returned object.

    The caller also implicitly retains the object and is responsible for releasing it with `CoreFoundation.CFRelease(com.sun.jna.platform.mac.CoreFoundation.CFTypeRef)`.

    Parameters:
      `alloc` - The allocator object to be used to allocate memory.
      `session` - The `DASession` in which to contact Disk Arbitration.
      `diskName` - the BSD device name.
    Returns:
      A reference to a new `DADisk`.

  - ### DADiskCreateFromIOMedia

    DiskArbitration.DADiskRef DADiskCreateFromIOMedia(CoreFoundation.CFAllocatorRef allocator, DiskArbitration.DASessionRef session, IOKit.IOObject media)
    Creates a new disk object. The caller of this function receives a reference to the returned object.

    The caller also implicitly retains the object and is responsible for releasing it with `CoreFoundation.CFRelease(com.sun.jna.platform.mac.CoreFoundation.CFTypeRef)`.

    Parameters:
      `allocator` - The allocator object to be used to allocate memory.
      `session` - The `DASession` in which to contact Disk Arbitration.
      `media` - The I/O Kit media object.
    Returns:
      A reference to a new `DADisk`.

  - ### DADiskCopyDescription

    CoreFoundation.CFDictionaryRef DADiskCopyDescription(DiskArbitration.DADiskRef disk)
    Obtains the Disk Arbitration description of the specified disk. This function will contact Disk Arbitration to acquire the latest description of the specified disk, unless this function is called on a disk object passed within the context of a registered callback, in which case the description is current as of that callback event.

    The caller of this function receives a reference to the returned object. The caller also implicitly retains the object and is responsible for releasing it with `CoreFoundation.CFRelease(com.sun.jna.platform.mac.CoreFoundation.CFTypeRef)`.

    Parameters:
      `disk` - The `DADisk` for which to obtain the Disk Arbitration description.
    Returns:
      The disk's Disk Arbitration description.

  - ### DADiskGetBSDName

    String DADiskGetBSDName(DiskArbitration.DADiskRef disk)
    Obtains the BSD device name for the specified disk.
    Parameters:
      `disk` - The `DADisk` for which to obtain the BSD device name.
    Returns:
      The disk's BSD device name.