Package com.sun.jna.platform.linux

# Class Udev.UdevDevice

java.lang.Object
com.sun.jna.PointerType
com.sun.jna.platform.linux.Udev.UdevDevice

All Implemented Interfaces:
  `NativeMapped`

Enclosing interface:
  Udev

public static class Udev.UdevDevice extends PointerType
To introspect a local device on a system, a udev device object can be created via `Udev.UdevContext.deviceNewFromSyspath(String)` and friends. The device object allows one to query current state, read and write attributes and lookup properties of the device in question.

## Constructor Summary

Constructors
Constructor
Description
`UdevDevice()`

## Method Summary

Modifier and Type
Method
Description
`String`
`getDevnode()`
Gets the devnode of this device
`String`
`getDevtype()`
Gets the devtype of this device
`Udev.UdevDevice`
`getParent()`
Gets the parent of this device
`Udev.UdevDevice`
`getParentWithSubsystemDevtype(String subsystem, String devtype)`
Gets the parent of this device matching a subsystem and devtype
`String`
`getPropertyValue(String key)`
Retrieves a device property from this device
`String`
`getSubsystem()`
Gets the subsystem of this device
`String`
`getSysattrValue(String sysattr)`
Retrieves a device attribute from this device
`String`
`getSysname()`
Gets the sysname of this device
`String`
`getSyspath()`
Gets the syspath of this device
`Udev.UdevDevice`
`ref()`
Acquire a further reference to this object.
`void`
`unref()`
Drop a reference to this object.

### Methods inherited from class com.sun.jna.PointerType

`equals, fromNative, getPointer, hashCode, nativeType, setPointer, toNative, toString`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

## Constructor Details

### UdevDevice

public UdevDevice()

## Method Details

### ref

public Udev.UdevDevice ref()
Acquire a further reference to this object.

Returns:
  this object, unmodified.

### unref

public void unref()
Drop a reference to this object. Once the reference count hits 0, the context object is destroyed and freed.

### getParent

public Udev.UdevDevice getParent()
Gets the parent of this device

Returns:
  the parent device. No additional reference to this device is acquired, but the child device owns a reference to the parent device. On failure, NULL is returned.

### getParentWithSubsystemDevtype

public Udev.UdevDevice getParentWithSubsystemDevtype(String subsystem, String devtype)
Gets the parent of this device matching a subsystem and devtype

Parameters:
  `subsystem` - The subsystem to match
  `devtype` - The device type to match
Returns:
  the parent device. No additional reference to this device is acquired, but the child device owns a reference to the parent device. On failure, NULL is returned.

### getSyspath

public String getSyspath()
Gets the syspath of this device

Returns:
  a string that describes the syspath. On failure, may return NULL.

### getSysname

public String getSysname()
Gets the sysname of this device

Returns:
  a string that describes the sysname. On failure, may return NULL.

### getDevnode

public String getDevnode()
Gets the devnode of this device

Returns:
  a string that describes the devnode. On failure, may return NULL.

### getDevtype

public String getDevtype()
Gets the devtype of this device

Returns:
  a string that describes the devtype. On failure, may return NULL.

### getSubsystem

public String getSubsystem()
Gets the subsystem of this device

Returns:
  a string that describes the subsystem. On failure, may return NULL.

### getSysattrValue

public String getSysattrValue(String sysattr)
Retrieves a device attribute from this device

Parameters:
  `sysattr` - The attribute to retrieve.
Returns:
  a string of the requested value. On error, NULL is returned. Attributes that may contain NUL bytes should not be retrieved with udev_device_get_sysattr_value(); instead, read them directly from the files within the device's syspath.

### getPropertyValue

public String getPropertyValue(String key)
Retrieves a device property from this device

Parameters:
  `key` - The property to retrieve.
Returns:
  a string of the requested value. On error, NULL is returned.