HIDL Reference

The HAL Interface Description Language (HIDL) specifies the interface between a HAL and its users. It defines types and method calls, collected into interfaces and packages. HIDL is a system for communicating between codebases that may be compiled independently and is intended for inter-process communication. See the HIDL guides.

Interfaces and types

Entry Version Summary
android.frameworks.displayservice.IDisplayEventReceiver 1.0
android.frameworks.displayservice.IDisplayService 1.0
android.frameworks.displayservice.IEventCallback 1.0
android.frameworks.displayservice.types 1.0
android.frameworks.schedulerservice.ISchedulingPolicyService 1.0
android.frameworks.sensorservice.IDirectReportChannel 1.0

The interface represents a direct channel created by ISensorManager.

android.frameworks.sensorservice.IEventQueue 1.0

An IEventQueue is an interface to manage an event queue created by ISensorManager.

android.frameworks.sensorservice.IEventQueueCallback 1.0

An IEventQueueCallback describes the callback that is called upon any events.

android.frameworks.sensorservice.ISensorManager 1.0

ISensorManager is an interface to manage sensors .

android.frameworks.sensorservice.types 1.0
android.frameworks.vr.composer.IVrComposerClient 1.0
android.hardware.audio.IDevice 2.0
android.hardware.audio.IDevicesFactory 2.0
android.hardware.audio.IPrimaryDevice 2.0
android.hardware.audio.IStream 2.0
android.hardware.audio.IStreamIn 2.0
android.hardware.audio.IStreamOut 2.0
android.hardware.audio.IStreamOutCallback 2.0

Asynchronous write callback interface.

android.hardware.audio.common.types 2.0
android.hardware.audio.effect.IAcousticEchoCancelerEffect 2.0
android.hardware.audio.effect.IAutomaticGainControlEffect 2.0
android.hardware.audio.effect.IBassBoostEffect 2.0
android.hardware.audio.effect.IDownmixEffect 2.0
android.hardware.audio.effect.IEffect 2.0
android.hardware.audio.effect.IEffectBufferProviderCallback 2.0

This callback interface contains functions that can be used by the effect engine 'process' function to exchange input and output audio buffers.

android.hardware.audio.effect.IEffectsFactory 2.0
android.hardware.audio.effect.IEnvironmentalReverbEffect 2.0
android.hardware.audio.effect.IEqualizerEffect 2.0
android.hardware.audio.effect.ILoudnessEnhancerEffect 2.0
android.hardware.audio.effect.INoiseSuppressionEffect 2.0
android.hardware.audio.effect.IPresetReverbEffect 2.0
android.hardware.audio.effect.IVirtualizerEffect 2.0
android.hardware.audio.effect.IVisualizerEffect 2.0
android.hardware.audio.effect.types 2.0
android.hardware.audio.types 2.0
android.hardware.automotive.evs.IEvsCamera 1.0

Represents a single camera and is the primary interface for capturing images.

android.hardware.automotive.evs.IEvsCameraStream 1.0

Implemented on client side to receive asynchronous video frame deliveries.

android.hardware.automotive.evs.IEvsDisplay 1.0

Represents a single camera and is the primary interface for capturing images.

android.hardware.automotive.evs.IEvsEnumerator 1.0

Provides the mechanism for EVS camera discovery.

android.hardware.automotive.evs.types 1.0
android.hardware.automotive.vehicle.IVehicle 2.0
android.hardware.automotive.vehicle.IVehicleCallback 2.0
android.hardware.automotive.vehicle.types 2.0
android.hardware.biometrics.fingerprint.IBiometricsFingerprint 2.1
android.hardware.biometrics.fingerprint.IBiometricsFingerprintClientCallback 2.1
android.hardware.biometrics.fingerprint.types 2.1
android.hardware.bluetooth.IBluetoothHci 1.0

The Host Controller Interface(HCI)is the layer defined by the Bluetooth specification between the software that runs on the host and the Bluetooth controller chip.

android.hardware.bluetooth.IBluetoothHciCallbacks 1.0

The interface from the Bluetooth Controller to the stack.

android.hardware.bluetooth.types 1.0
android.hardware.boot.IBootControl 1.0

The Boot Control HAL is designed to allow for managing sets of redundant partitions, called slots, that can be booted from independently.

android.hardware.boot.types 1.0
android.hardware.broadcastradio.IBroadcastRadio 1.1
android.hardware.broadcastradio.IBroadcastRadio 1.0
android.hardware.broadcastradio.IBroadcastRadioFactory 1.1

To use 1.

android.hardware.broadcastradio.IBroadcastRadioFactory 1.0
android.hardware.broadcastradio.ITuner 1.1
android.hardware.broadcastradio.ITuner 1.0
android.hardware.broadcastradio.ITunerCallback 1.1

Some methods of@1.

android.hardware.broadcastradio.ITunerCallback 1.0
android.hardware.broadcastradio.types 1.1
android.hardware.broadcastradio.types 1.0
android.hardware.camera.common.types 1.0
android.hardware.camera.device.ICameraDevice 3.2

Camera device HAL, first modern version .

android.hardware.camera.device.ICameraDevice 1.0

Camera device HAL, legacy version .

android.hardware.camera.device.ICameraDeviceCallback 3.2

Callback methods for the HAL to call into the framework.

android.hardware.camera.device.ICameraDeviceCallback 1.0
android.hardware.camera.device.ICameraDevicePreviewCallback 1.0

Camera device HAL@1.

android.hardware.camera.device.ICameraDeviceSession 3.2

Camera device active session interface.

android.hardware.camera.device.types 3.2
android.hardware.camera.device.types 1.0
android.hardware.camera.metadata.types 3.2
android.hardware.camera.provider.ICameraProvider 2.4

Camera provider HAL, which enumerates the available individual camera devices known to the provider, and provides updates about changes to device status, such as connection, disconnection, or torch mode enable/disable.

android.hardware.camera.provider.ICameraProviderCallback 2.4

Callback functions for a camera provider HAL to use to inform the camera service of changes to the camera subsystem.

android.hardware.configstore.ISurfaceFlingerConfigs 1.0
android.hardware.configstore.types 1.0
android.hardware.contexthub.IContexthub 1.0

The Context Hub HAL provides an interface to a separate low-power processing domain that has direct access to contextual information, such as sensors.

android.hardware.contexthub.IContexthubCallback 1.0
android.hardware.contexthub.types 1.0
android.hardware.drm.ICryptoFactory 1.0

Ref:frameworks/native/include/media/hardware/CryptoAPI.

android.hardware.drm.ICryptoPlugin 1.0

Ref:frameworks/native/include/media/hardware/CryptoAPI.

android.hardware.drm.IDrmFactory 1.0

Ref:frameworks/native/include/media/drm/DrmAPI.

android.hardware.drm.IDrmPlugin 1.0

Ref:frameworks/native/include/media/drm/DrmAPI.

android.hardware.drm.IDrmPluginListener 1.0

IDrmPluginListener is a listener interface for Drm events sent from an IDrmPlugin instance.

android.hardware.drm.types 1.0
android.hardware.dumpstate.IDumpstateDevice 1.0
android.hardware.gatekeeper.IGatekeeper 1.0
android.hardware.gatekeeper.types 1.0
android.hardware.gnss.IAGnss 1.0

Extended interface for AGNSS support.

android.hardware.gnss.IAGnssCallback 1.0

Callback structure for the AGNSS interface.

android.hardware.gnss.IAGnssRil 1.0

Extended interface for AGNSS RIL support.

android.hardware.gnss.IAGnssRilCallback 1.0

Callback for IAGnssRil interface.

android.hardware.gnss.IGnss 1.0

Represents the standard GNSS(Global Navigation Satellite System)interface.

android.hardware.gnss.IGnssBatching 1.0

Extended interface for GNSS Batching support.

android.hardware.gnss.IGnssBatchingCallback 1.0

The callback interface to report measurements from the HAL.

android.hardware.gnss.IGnssCallback 1.0

The interface is required for the HAL to communicate certain information like status and location info back to the platform, the platform implements the interfaces and passes a handle to the HAL.

android.hardware.gnss.IGnssConfiguration 1.0

Interface for passing GNSS configuration info from platform to HAL.

android.hardware.gnss.IGnssDebug 1.0

Extended interface for DEBUG support.

android.hardware.gnss.IGnssGeofenceCallback 1.0

GNSS Geofence.

android.hardware.gnss.IGnssGeofencing 1.0

Extended interface for GNSS Geofencing support.

android.hardware.gnss.IGnssMeasurement 1.0

Extended interface for GNSS Measurements support.

android.hardware.gnss.IGnssMeasurementCallback 1.0

The callback interface to report measurements from the HAL.

android.hardware.gnss.IGnssNavigationMessage 1.0

Extended interface for GNSS navigation message reporting support.

android.hardware.gnss.IGnssNavigationMessageCallback 1.0

Represents a GNSS navigation message(or a fragment of it).

android.hardware.gnss.IGnssNi 1.0

Extended interface for Network-initiated(NI)support.

android.hardware.gnss.IGnssNiCallback 1.0

GNSS Network Initiated callback interface.

android.hardware.gnss.IGnssXtra 1.0

This interface is used by the GNSS HAL to request the framework to download XTRA data.

android.hardware.gnss.IGnssXtraCallback 1.0

This interface is used by the GNSS HAL to request download of XTRA data.

android.hardware.gnss.types 1.0
android.hardware.graphics.allocator.IAllocator 2.0
android.hardware.graphics.bufferqueue.IGraphicBufferProducer 1.0

Ref:frameworks/native/include/gui/IGraphicBufferProducer.

android.hardware.graphics.bufferqueue.IProducerListener 1.0

Ref:frameworks/native/include/gui/IProducerListener.

android.hardware.graphics.common.types 1.0
android.hardware.graphics.composer.IComposer 2.1
android.hardware.graphics.composer.IComposerCallback 2.1
android.hardware.graphics.composer.IComposerClient 2.1
android.hardware.graphics.composer.types 2.1
android.hardware.graphics.mapper.IMapper 2.0
android.hardware.graphics.mapper.types 2.0
android.hardware.health.IHealth 1.0
android.hardware.health.types 1.0
android.hardware.ir.IConsumerIr 1.0
android.hardware.ir.types 1.0
android.hardware.keymaster.IKeymasterDevice 3.0

Keymaster device definition.

android.hardware.keymaster.types 3.0
android.hardware.light.ILight 2.0
android.hardware.light.types 2.0
android.hardware.media.omx.IGraphicBufferSource 1.0

Ref:frameworks/av/media/libmedia/aidl/android/IGraphicBufferSource.

android.hardware.media.omx.IOmx 1.0

Ref:frameworks/av/include/media/IOMX.

android.hardware.media.omx.IOmxBufferSource 1.0

Ref:frameworks/av/media/libmedia/aidl/android/IOMXBufferSource.

android.hardware.media.omx.IOmxNode 1.0

IOmxNode is an interface for communicating with an OMX component(called "node" here)that has been previously obtained by calling IOmx::allocateNode().

android.hardware.media.omx.IOmxObserver 1.0

IOmxObserver is a listener interface for OMX messages sent from an IOmxNode stance.

android.hardware.media.omx.IOmxStore 1.0

Ref:frameworks/av/include/media/IOMX.

android.hardware.media.omx.types 1.0
android.hardware.media.types 1.0
android.hardware.memtrack.IMemtrack 1.0

The Memory Tracker HAL is designed to return information about device-specific memory usage.

android.hardware.memtrack.types 1.0
android.hardware.nfc.INfc 1.0
android.hardware.nfc.INfcClientCallback 1.0
android.hardware.nfc.types 1.0
android.hardware.power.IPower 1.0

Constructor for the interface performs power management setup actions at runtime startup, such as to set default cpufreq parameters.

android.hardware.power.types 1.0
android.hardware.radio.IRadio 1.1

This interface is used by telephony and telecom to talk to cellular radio.

android.hardware.radio.IRadio 1.0

This interface is used by telephony & telecom to talk to cellular radio.

android.hardware.radio.IRadioIndication 1.1

Interface declaring unsolicited radio indications.

android.hardware.radio.IRadioIndication 1.0

Interface declaring unsolicited radio indications.

android.hardware.radio.IRadioResponse 1.1

Interface declaring response functions to solicited radio requests.

android.hardware.radio.IRadioResponse 1.0

Interface declaring response functions to solicited radio requests.

android.hardware.radio.ISap 1.1

Empty top level interface.

android.hardware.radio.ISap 1.0
android.hardware.radio.ISapCallback 1.0
android.hardware.radio.deprecated.IOemHook 1.0

This interface has APIs for OEM-specific use-cases.

android.hardware.radio.deprecated.IOemHookIndication 1.0

Interface declaring unsolicited oem hook indications.

android.hardware.radio.deprecated.IOemHookResponse 1.0

Interface declaring response functions to solicited oem hook requests.

android.hardware.radio.types 1.1
android.hardware.radio.types 1.0
android.hardware.renderscript.IContext 1.0
android.hardware.renderscript.IDevice 1.0
android.hardware.renderscript.types 1.0
android.hardware.sensors.ISensors 1.0
android.hardware.sensors.types 1.0
android.hardware.soundtrigger.ISoundTriggerHw 2.0
android.hardware.soundtrigger.ISoundTriggerHwCallback 2.0
android.hardware.soundtrigger.types 2.0
android.hardware.tetheroffload.config.IOffloadConfig 1.0

Interface used for configuring the hardware management process.

android.hardware.tetheroffload.control.IOffloadControl 1.0

Interface used to control the lifecycle of tethering offload.

android.hardware.tetheroffload.control.ITetheringOffloadCallback 1.0

Callback providing information about status of hardware management process as well as providing a way to keep offloaded connections from timing out.

android.hardware.tetheroffload.control.types 1.0
android.hardware.thermal.IThermal 1.0
android.hardware.thermal.types 1.0
android.hardware.tv.cec.IHdmiCec 1.0

HDMI-CEC HAL interface definition.

android.hardware.tv.cec.IHdmiCecCallback 1.0
android.hardware.tv.cec.types 1.0
android.hardware.tv.input.ITvInput 1.0
android.hardware.tv.input.ITvInputCallback 1.0
android.hardware.tv.input.types 1.0
android.hardware.usb.IUsb 1.0
android.hardware.usb.IUsbCallback 1.0

Callback object used for all the IUsb async methods which expects a result.

android.hardware.usb.types 1.0
android.hardware.vibrator.IVibrator 1.0
android.hardware.vibrator.types 1.0
android.hardware.vr.IVr 1.0
android.hardware.wifi.IWifi 1.0

This is the root of the HAL module and is the interface returned when loading an implementation of the Wi-Fi HAL.

android.hardware.wifi.IWifiApIface 1.0

Interface used to represent a single AP iface.

android.hardware.wifi.IWifiChip 1.0

Interface that represents a chip that must be configured as a single unit.

android.hardware.wifi.IWifiChipEventCallback 1.0
android.hardware.wifi.IWifiEventCallback 1.0
android.hardware.wifi.IWifiIface 1.0

Interface used to represent a single iface.

android.hardware.wifi.IWifiNanIface 1.0

Interface used to represent a single NAN(Neighbour Aware Network)iface.

android.hardware.wifi.IWifiNanIfaceEventCallback 1.0

NAN Response and Asynchronous Event Callbacks.

android.hardware.wifi.IWifiP2pIface 1.0

Interface used to represent a single NAN iface.

android.hardware.wifi.IWifiRttController 1.0

Interface used to perform RTT(Round trip time)operations.

android.hardware.wifi.IWifiRttControllerEventCallback 1.0

RTT Response and Event Callbacks.

android.hardware.wifi.IWifiStaIface 1.0

Interface used to represent a single STA iface.

android.hardware.wifi.IWifiStaIfaceEventCallback 1.0
android.hardware.wifi.supplicant.ISupplicant 1.0

Interface exposed by the supplicant HIDL service registered with the hardware service manager.

android.hardware.wifi.supplicant.ISupplicantCallback 1.0

Callback Interface exposed by the supplicant service(ISupplicant).

android.hardware.wifi.supplicant.ISupplicantIface 1.0

Interface exposed by the supplicant for each network interface(e.

android.hardware.wifi.supplicant.ISupplicantNetwork 1.0

Interface exposed by the supplicant for each network configuration it controls.

android.hardware.wifi.supplicant.ISupplicantP2pIface 1.0

Interface exposed by the supplicant for each P2P mode network interface(e.

android.hardware.wifi.supplicant.ISupplicantP2pIfaceCallback 1.0

Callback Interface exposed by the supplicant service for each P2P mode interface(ISupplicantP2pIface).

android.hardware.wifi.supplicant.ISupplicantP2pNetwork 1.0

Interface exposed by the supplicant for each P2P mode network configuration it controls.

android.hardware.wifi.supplicant.ISupplicantP2pNetworkCallback 1.0

Callback Interface exposed by the supplicant service for each network(ISupplicantP2pNetwork).

android.hardware.wifi.supplicant.ISupplicantStaIface 1.0

Interface exposed by the supplicant for each station mode network interface(e.

android.hardware.wifi.supplicant.ISupplicantStaIfaceCallback 1.0

Callback Interface exposed by the supplicant service for each station mode interface(ISupplicantStaIface).

android.hardware.wifi.supplicant.ISupplicantStaNetwork 1.0

Interface exposed by the supplicant for each station mode network configuration it controls.

android.hardware.wifi.supplicant.ISupplicantStaNetworkCallback 1.0

Callback Interface exposed by the supplicant service for each network(ISupplicantStaNetwork).

android.hardware.wifi.supplicant.types 1.0
android.hardware.wifi.types 1.0
android.hidl.allocator.IAllocator 1.0

Interface which allocates the required memory.

android.hidl.base.IBase 1.0
android.hidl.base.types 1.0
android.hidl.manager.IServiceManager 1.1
android.hidl.manager.IServiceManager 1.0

Manages all the hidl hals on a device.

android.hidl.manager.IServiceNotification 1.0
android.hidl.memory.IMapper 1.0
android.hidl.memory.IMemory 1.0
android.hidl.token.ITokenManager 1.0

This facilitates converting hidl interfaces into something that are more easily transferrable to other processes.

android.system.wifi.keystore.IKeystore 1.0

This is the root of the HAL module and is the interface returned when loading an implementation of the Wi-Fi HAL.