# Android NDK API Reference

| ## Modules ||
|---|---|
| [API Levels](https://developer.android.com/ndk/reference/group/apilevels) | Defines functions for working with Android API levels. |
| [Android Image Decoder](https://developer.android.com/ndk/reference/group/image-decoder) | Functions for converting encoded images into RGBA pixels. |
| [Asset](https://developer.android.com/ndk/reference/group/asset) |   |
| [Audio](https://developer.android.com/ndk/reference/group/audio) |   |
| [Bitmap](https://developer.android.com/ndk/reference/group/bitmap) |   |
| [Camera](https://developer.android.com/ndk/reference/group/camera) |   |
| [Choreographer](https://developer.android.com/ndk/reference/group/choreographer) | Choreographer coordinates the timing of frame rendering. |
| [Configuration](https://developer.android.com/ndk/reference/group/configuration) |   |
| [Data Space](https://developer.android.com/ndk/reference/group/a-data-space) | ADataSpace describes how to interpret colors. |
| [Dynamic Linker](https://developer.android.com/ndk/reference/group/libdl) |   |
| [File Descriptor](https://developer.android.com/ndk/reference/group/file-descriptor) |   |
| [Font](https://developer.android.com/ndk/reference/group/font) |   |
| [ICU4C](https://developer.android.com/ndk/reference/group/icu4c) |   |
| [Input](https://developer.android.com/ndk/reference/group/input) |   |
| [Logging](https://developer.android.com/ndk/reference/group/logging) |   |
| [Looper](https://developer.android.com/ndk/reference/group/looper) |   |
| [Media](https://developer.android.com/ndk/reference/group/media) |   |
| [Memory](https://developer.android.com/ndk/reference/group/memory) |   |
| [Midi](https://developer.android.com/ndk/reference/group/midi) |   |
| [NPU manager buffer](https://developer.android.com/ndk/reference/group/a-npu-buffer) |   |
| [Native Activity](https://developer.android.com/ndk/reference/group/native-activity) |   |
| [Native Hardware Buffer](https://developer.android.com/ndk/reference/group/a-hardware-buffer) | AHardwareBuffer objects represent chunks of memory that can be accessed by various hardware components in the system. |
| [Native Window](https://developer.android.com/ndk/reference/group/a-native-window) | ANativeWindow represents the producer end of an image queue. |
| [NativeService](https://developer.android.com/ndk/reference/group/native-service) | ANativeService APIs allow you to implement Services declared as. |
| [NdkBinder](https://developer.android.com/ndk/reference/group/ndk-binder) |   |
| [Networking](https://developer.android.com/ndk/reference/group/networking) |   |
| [NeuralNetworks](https://developer.android.com/ndk/reference/group/neural-networks) |   |
| [Performance Hint Manager](https://developer.android.com/ndk/reference/group/a-performance-hint) | APerformanceHint allows apps to create performance hint sessions for groups of threads, and provide hints to the system about the workload of those threads, to help the system more accurately allocate resources for them. |
| [Permission](https://developer.android.com/ndk/reference/group/permission) | Structures and functions related to permission checks in native code. |
| [Sensor](https://developer.android.com/ndk/reference/group/sensor) | Structures and functions to receive and process sensor events in native code. |
| [Storage](https://developer.android.com/ndk/reference/group/storage) |   |
| [SurfaceTexture](https://developer.android.com/ndk/reference/group/surface-texture) |   |
| [Sync](https://developer.android.com/ndk/reference/group/sync) |   |
| [SystemHealth](https://developer.android.com/ndk/reference/group/system-health) | SystemHealth provides access to data about how various system resources are used by applications. |
| [Thermal](https://developer.android.com/ndk/reference/group/thermal) |   |
| [Tracing](https://developer.android.com/ndk/reference/group/tracing) |   |

| ## Structs ||
|---|---|
| [AAdditionalInfoEvent](https://developer.android.com/ndk/reference/struct/a-additional-info-event) |   |
| [AAudioPlaybackParameters](https://developer.android.com/ndk/reference/struct/a-audio-playback-parameters) | Structure for common playback params. |
| [ACameraCaptureFailure](https://developer.android.com/ndk/reference/struct/a-camera-capture-failure) | Struct to describe a capture failure. |
| [ACameraCaptureSession_captureCallbacks](https://developer.android.com/ndk/reference/struct/a-camera-capture-session-capture-callbacks) | ACaptureCaptureSession_captureCallbacks structure used in [ACameraCaptureSession_capture](https://developer.android.com/ndk/reference/group/camera#group___camera_1ga6099baf4316e44db1d5f133cdf02c838) and [ACameraCaptureSession_setRepeatingRequest](https://developer.android.com/ndk/reference/group/camera#group___camera_1ga07aa2f8bb53c7c0d88c59c33848bb2d6). |
| [ACameraCaptureSession_captureCallbacksV2](https://developer.android.com/ndk/reference/struct/a-camera-capture-session-capture-callbacks-v2) | This has the same functionality as [ACameraCaptureSession_captureCallbacks](https://developer.android.com/ndk/reference/struct/a-camera-capture-session-capture-callbacks#struct_a_camera_capture_session__capture_callbacks), with the exception that captureCallback_startV2 callback is used, instead of captureCallback_start, to support retrieving the frame number. |
| [ACameraCaptureSession_logicalCamera_captureCallbacks](https://developer.android.com/ndk/reference/struct/a-camera-capture-session-logical-camera-capture-callbacks) | This has the same functionality as [ACameraCaptureSession_captureCallbacks](https://developer.android.com/ndk/reference/struct/a-camera-capture-session-capture-callbacks#struct_a_camera_capture_session__capture_callbacks), with the exception that an onLogicalCameraCaptureCompleted callback is used, instead of onCaptureCompleted, to support logical multi-camera. |
| [ACameraCaptureSession_logicalCamera_captureCallbacksV2](https://developer.android.com/ndk/reference/struct/a-camera-capture-session-logical-camera-capture-callbacks-v2) | This has the same functionality as [ACameraCaptureSession_logicalCamera_captureCallbacks](https://developer.android.com/ndk/reference/struct/a-camera-capture-session-logical-camera-capture-callbacks#struct_a_camera_capture_session__logical_camera__capture_callbacks), with the exception that an captureCallback_startV2 callback is used, instead of captureCallback_start, to support retrieving frame number. |
| [ACameraCaptureSession_stateCallbacks](https://developer.android.com/ndk/reference/struct/a-camera-capture-session-state-callbacks) | Capture session state callbacks used in [ACameraDevice_createCaptureSession](https://developer.android.com/ndk/reference/group/camera#group___camera_1ga2d2cc252a4c3cb60ca0a85cb9d408191) and [ACameraDevice_createCaptureSessionWithSessionParameters](https://developer.android.com/ndk/reference/group/camera#group___camera_1ga622c05d72ab1fcee2c5d9de91e4f0730). |
| [ACameraDevice_StateCallbacks](https://developer.android.com/ndk/reference/struct/a-camera-device-state-callbacks) | Applications' callbacks for camera device state changes, register with [ACameraManager_openCamera](https://developer.android.com/ndk/reference/group/camera#group___camera_1ga56ec3decad6c0734be7cc504b03acc41). |
| [ACameraIdList](https://developer.android.com/ndk/reference/struct/a-camera-id-list) | Struct to hold list of camera device Ids. |
| [ACameraManager_AvailabilityListener](https://developer.android.com/ndk/reference/struct/a-camera-manager-availability-listener) | A listener for camera devices becoming available or unavailable to open. |
| [ACameraManager_ExtendedAvailabilityListener](https://developer.android.com/ndk/reference/struct/a-camera-manager-extended-availability-listener) | A listener for camera devices becoming available/unavailable to open or when the camera access permissions change. |
| [ACameraMetadata_const_entry](https://developer.android.com/ndk/reference/struct/a-camera-metadata-const-entry) | A single read-only camera metadata entry. |
| [ACameraMetadata_entry](https://developer.android.com/ndk/reference/struct/a-camera-metadata-entry) | A single camera metadata entry. |
| [ACameraMetadata_rational](https://developer.android.com/ndk/reference/struct/a-camera-metadata-rational) | Definition of rational data type in [ACameraMetadata](https://developer.android.com/ndk/reference/group/camera#group___camera_1gabd236e2a05c30cf024d0a2b69dbed9f2). |
| [AColor_xy](https://developer.android.com/ndk/reference/struct/a-color-xy) | Color is defined in CIE XYZ coordinates. |
| [ADoubleRange](https://developer.android.com/ndk/reference/struct/a-double-range) | A uitlity structure describing the range of two double values. |
| [ADynamicSensorEvent](https://developer.android.com/ndk/reference/struct/a-dynamic-sensor-event) |   |
| [AHardwareBuffer_Desc](https://developer.android.com/ndk/reference/struct/a-hardware-buffer-desc) | Buffer description. |
| [AHardwareBuffer_Plane](https://developer.android.com/ndk/reference/struct/a-hardware-buffer-plane) | Holds data for a single image plane. |
| [AHardwareBuffer_Planes](https://developer.android.com/ndk/reference/struct/a-hardware-buffer-planes) | Holds all image planes that contain the pixel data. |
| [AHdrMetadata_cta861_3](https://developer.android.com/ndk/reference/struct/a-hdr-metadata-cta861-3) | CTA 861.3 "HDR Static Metadata Extension" static metadata. |
| [AHdrMetadata_smpte2086](https://developer.android.com/ndk/reference/struct/a-hdr-metadata-smpte2086) | SMPTE ST 2086 "Mastering Display Color Volume" static metadata. |
| [AHeadTrackerEvent](https://developer.android.com/ndk/reference/struct/a-head-tracker-event) |   |
| [AHeadingEvent](https://developer.android.com/ndk/reference/struct/a-heading-event) |   |
| [AHeartRateEvent](https://developer.android.com/ndk/reference/struct/a-heart-rate-event) |   |
| [AImageCropRect](https://developer.android.com/ndk/reference/struct/a-image-crop-rect) | Data type describing an cropped rectangle returned by [AImage_getCropRect](https://developer.android.com/ndk/reference/group/media#group___media_1gac59fac1adf2e9b2333b4ad4b7a255226). |
| [AImageReader_BufferRemovedListener](https://developer.android.com/ndk/reference/struct/a-image-reader-buffer-removed-listener) | A listener to the AHardwareBuffer removal event, use [AImageReader_setBufferRemovedListener](https://developer.android.com/ndk/reference/group/media#group___media_1ga067af6087a020665eaf4eb6c4f756977) to register the listener object to AImageReader. |
| [AImageReader_ImageListener](https://developer.android.com/ndk/reference/struct/a-image-reader-image-listener) |   |
| [AIntRange](https://developer.android.com/ndk/reference/struct/a-int-range) | A uitlity structure describing the range of two integer values. |
| [ALimitedAxesImuEvent](https://developer.android.com/ndk/reference/struct/a-limited-axes-imu-event) |   |
| [ALimitedAxesImuUncalibratedEvent](https://developer.android.com/ndk/reference/struct/a-limited-axes-imu-uncalibrated-event) |   |
| [ALogicalCameraCaptureFailure](https://developer.android.com/ndk/reference/struct/a-logical-camera-capture-failure) | Struct to describe a logical camera capture failure. |
| [AMediaCodecBufferInfo](https://developer.android.com/ndk/reference/struct/a-media-codec-buffer-info) |   |
| [AMediaCodecOnAsyncNotifyCallback](https://developer.android.com/ndk/reference/struct/a-media-codec-on-async-notify-callback) |   |
| [AMediaCodecSupportedMediaType](https://developer.android.com/ndk/reference/struct/a-media-codec-supported-media-type) | The media type definition with bitfeids indicating if it is supported by decoders/ encoders/ both. |
| [AMediaDrmByteArray](https://developer.android.com/ndk/reference/struct/a-media-drm-byte-array) |   |
| [AMediaDrmKeyStatus](https://developer.android.com/ndk/reference/struct/a-media-drm-key-status) |   |
| [AMediaDrmKeyValuePair](https://developer.android.com/ndk/reference/struct/a-media-drm-key-value-pair) | Data type containing {key, value} pair. |
| [AMetaDataEvent](https://developer.android.com/ndk/reference/struct/a-meta-data-event) |   |
| [ANativeActivity](https://developer.android.com/ndk/reference/struct/a-native-activity) | This structure defines the native side of an android.app.NativeActivity. |
| [ANativeActivityCallbacks](https://developer.android.com/ndk/reference/struct/a-native-activity-callbacks) | These are the callbacks the framework makes into a native application. |
| [ANativeWindow_Buffer](https://developer.android.com/ndk/reference/struct/a-native-window-buffer) | Struct that represents a windows buffer. |
| [ANeuralNetworksOperandType](https://developer.android.com/ndk/reference/struct/a-neural-networks-operand-type) | [ANeuralNetworksOperandType](https://developer.android.com/ndk/reference/struct/a-neural-networks-operand-type#struct_a_neural_networks_operand_type) describes the type of an operand. |
| [ANeuralNetworksSymmPerChannelQuantParams](https://developer.android.com/ndk/reference/struct/a-neural-networks-symm-per-channel-quant-params) | Parameters for ANEURALNETWORKS_TENSOR_QUANT8_SYMM_PER_CHANNEL operand. |
| [ARect](https://developer.android.com/ndk/reference/struct/a-rect) | Rectangular window area. |
| [ASensorEvent](https://developer.android.com/ndk/reference/struct/a-sensor-event) | Information that describes a sensor event, refer to [SensorEvent](https://developer.android.com/reference/android/hardware/SensorEvent) for additional documentation. |
| [ASensorVector](https://developer.android.com/ndk/reference/struct/a-sensor-vector) | A sensor event. |
| [AThermalHeadroomThreshold](https://developer.android.com/ndk/reference/struct/a-thermal-headroom-threshold) | This struct defines an instance of headroom threshold value and its status. |
| [AUncalibratedEvent](https://developer.android.com/ndk/reference/struct/a-uncalibrated-event) |   |
| [AndroidBitmapInfo](https://developer.android.com/ndk/reference/struct/android-bitmap-info) | Bitmap info, see [AndroidBitmap_getInfo()](https://developer.android.com/ndk/reference/group/bitmap#group___bitmap_1ga80292ee39d8a675928e38849742b54bf). |
| [PsshEntry](https://developer.android.com/ndk/reference/struct/pssh-entry) | mapping of crypto scheme uuid to the scheme specific data for that scheme |
| [PsshInfo](https://developer.android.com/ndk/reference/struct/pssh-info) | list of crypto schemes and their data |
| [UParseError](https://developer.android.com/ndk/reference/struct/u-parse-error) | A [UParseError](https://developer.android.com/ndk/reference/struct/u-parse-error#struct_u_parse_error) struct is used to returned detailed information about parsing errors. |
| [UReplaceableCallbacks](https://developer.android.com/ndk/reference/struct/u-replaceable-callbacks) | A set of function pointers that transliterators use to manipulate a UReplaceable. |
| [UTransPosition](https://developer.android.com/ndk/reference/struct/u-trans-position) | Position structure for [utrans_transIncremental()](https://developer.android.com/ndk/reference/group/icu4c#group__icu4c_1ga67160f7c04dc1af49d1f1aad2bcb0d49) incremental transliteration. |
| [__android_log_message](https://developer.android.com/ndk/reference/struct/android-log-message) | Logger data struct used for writing log messages to liblog via __android_log_write_logger_data() and sending log messages to user defined loggers specified in [__android_log_set_logger()](https://developer.android.com/ndk/reference/group/logging#group___logging_1ga0e29961fa7bd5904bfc142d795af1fd6). |
| [android_dlextinfo](https://developer.android.com/ndk/reference/structandroid/dlextinfo) | Used to pass Android-specific arguments to [android_dlopen_ext()](https://developer.android.com/ndk/reference/group/libdl#group__libdl_1ga30dee587d0ce38e881572a1e5a99f17c). |
| [cryptoinfo_pattern_t](https://developer.android.com/ndk/reference/structcryptoinfo/pattern-t) |   |