anbox-platform-sdk  1.23.0
Anbox Platform SDK API documentation
types.h File Reference
#include <stdint.h>
#include <stddef.h>
#include <unistd.h>
#include <linux/limits.h>
#include <linux/input.h>
#include <EGL/egl.h>
+ Include dependency graph for types.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  AnboxDisplaySpec
 AnboxDisplaySpec describes properties of the virtual display Anbox creates for rendering. More...
 
struct  AnboxDisplaySpec2
 AnboxDisplaySpec2 describes properties of the virtual display Anbox creates for rendering. More...
 
struct  AnboxAudioSpec
 The audio input/output format from anbox. More...
 
struct  AnboxBinderDevices
 The struct of binder devices that being used in Android container. More...
 
struct  AnboxGraphicsBuffer
 Graphics buffer. More...
 
struct  AnboxGraphicsBuffer2
 Graphics buffer. More...
 
struct  AnboxCallback
 Generic callback wrapper. More...
 
struct  AnboxDirectGraphicsConfiguration
 AnboxDirectGraphicsConfiguration defines how Anbox should configure the graphics implementation inside the Android container. More...
 
struct  AnboxPlatformConfigurationItemInfo
 
struct  AnboxPlatformConfigurationInfo
 
struct  AnboxAndroidSystemProperties
 AnboxAndroidSystemProperties describes the Android system properties provided by a platform to be forwarded to the Android container. More...
 
struct  AnboxPlatformConfiguration
 AnboxPlatformConfiguration holds platform configuration options which Anbox supplies to the platform implementation at initialization time. More...
 
struct  AnboxPlatformDescriptor
 AnboxPlatformDescriptor provides information about the implemented platform. More...
 
struct  AnboxCameraSpec
 AnboxCameraSpec represents the camera specification. More...
 
struct  AnboxVideoFrame
 AnboxVideoFrame represents a single complete video frame. More...
 
struct  GnssMeasurement
 
struct  GnssClock
 
struct  AnboxGGAData
 
struct  AnboxRMCData
 
struct  AnboxGnssData
 
struct  AnboxGpsData
 
struct  AnboxGraphicsConfiguration
 AnboxDisplaySpec describes properties of the Anbox rendering pipeline the platform plugin can influence. More...
 
struct  AnboxInputEvent
 AnboxInputEvent is similar to the input_event that is defined in the Linux kernel API. The three member variables type, code and value have the same meaning as defined in the Linux kernel API. Please see https://www.kernel.org/doc/Documentation/input/input.txt for further information. More...
 
struct  AnboxSensorVector
 AnboxSensorVector represents acceleration along each device axis or current device rotation angles: azimuth, pitch, roll. More...
 
struct  AnboxSensorData
 AnboxSensorData represents the sensor data stucture,. More...
 
struct  AnboxVhalPropertyValue
 AnboxVhalPropertyValue describes the current value of a VHAL property, as returned by a get call to the Android VHAL. More...
 
struct  AnboxVhalAreaConfig
 AnboxVhalAreaConfig describes the configuration of a given area id for a VHAL property. More...
 
struct  AnboxVhalPropertyConfig
 AnboxVhalPropertyConfig describes the configuration of a VHAL property. More...
 
struct  AnboxVhalAnswerGetConfigs
 AnboxVhalAnswerGet contains the answer for a GetAllPropConfigs or GetPropConfigs request sent to the Android VHAL. More...
 
struct  AnboxVhalCommandGet
 AnboxVhalCommandGet describes a get request to send to the Android VHAL. More...
 
struct  AnboxVhalCommandSet
 AnboxVhalCommandSet describes a set request to send to the Android VHAL. More...
 
struct  AnboxVideoDecoderConfig
 AnboxVideoDecoderConfig describes the configuration of a video decoder. More...
 
struct  AnboxVideoImage
 AnboxVideoImage describes a decoded image returned by the video decoder. More...
 

Macros

#define MAX_NAME_LENGTH   100
 
#define MAX_STRING_LENGTH   256
 
#define MAX_VHAL_AREA_NAME_LENGTH   32
 
#define ANBOX_PLATFORM_DESCRIPTOR_SECTION   ".anbox_platform_descriptor_section"
 A particular elf section that Anbox needs various information from the platform plugin to appear in. More...
 
#define ANBOX_GRAPHICS_BUFFER_MAX_PLANES   4
 
#define GNSS_MAX_MEASUREMENT   64
 
#define MAX_SENSOR_DATA_LENGTH   16
 
#define MAX_VECTOR_DATA_LENGTH   3
 

Typedefs

typedef uintptr_t AnboxNativeHandle
 Opaque handle. More...
 
typedef int64_t GpsUtcTime
 
typedef const unsigned char *(* AnboxTracerGetCategoryEnabledFunc) (const char *name)
 Method prototype which will be used to determine if the given tracing category is enabled for tracing inside the Anbox runtime. More...
 
typedef void(* AnboxTracerAddEventFunc) (char phase, const unsigned char *category, const char *name, unsigned long long id, int num_args, const char **arg_names, const unsigned char *arg_types, const unsigned long long *arg_values, unsigned char flags)
 Method prototype which will be used by the platform to submit trace events to the tracing implementation inside the Anbox runtime. More...
 

Enumerations

enum  AnboxAudioPcmSubFormat {
  AUDIO_FORMAT_PCM_SUB_16_BIT = 0x1 ,
  AUDIO_FORMAT_PCM_SUB_8_BIT = 0x2 ,
  AUDIO_FORMAT_PCM_SUB_32_BIT = 0x3 ,
  AUDIO_FORMAT_PCM_SUB_8_24_BIT = 0x4 ,
  AUDIO_FORMAT_PCM_SUB_FLOAT = 0x5 ,
  AUDIO_FORMAT_PCM_SUB_24_BIT_PACKED = 0x6
}
 Audio pcm sub formats. More...
 
enum  AnboxAudioFormat {
  AUDIO_FORMAT_INVALID = 0xFFFFFFFFUL ,
  AUDIO_FORMAT_DEFAULT = 0 ,
  AUDIO_FORMAT_PCM = 0x00000000UL ,
  AUDIO_FORMAT_PCM_16_BIT ,
  AUDIO_FORMAT_PCM_8_BIT ,
  AUDIO_FORMAT_PCM_32_BIT ,
  AUDIO_FORMAT_PCM_8_24_BIT ,
  AUDIO_FORMAT_PCM_FLOAT ,
  AUDIO_FORMAT_PCM_24_BIT_PACKED
}
 Audio format is a 32-bit word that consists of: main format field (upper 8 bits) sub format field (lower 24 bits). More...
 
enum  AnboxAudioStreamType {
  AUDIO_OUTPUT_STREAM = 0 ,
  AUDIO_INPUT_STREAM = 1
}
 AnboxAudioStreamType describes the audio stream type. More...
 
enum  AnboxGraphicsBufferPixelFormat {
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_UNKNOWN = 0 ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_ARGB_8888 = 1 ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_XRGB_8888 = 2 ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_RGB_888 = 3 ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_RGB_565 = 4 ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_ABGR_8888 = 5 ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_ABGR_16161616F = 6 ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_RGBA_16F = ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_ABGR_16161616F ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_GR_88 = 7 ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_ABGR_2101010 = 8 ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_YUV_420 = 9 ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_R_8 = 10 ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_NV_12 = 11 ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_XBGR_8888 = 12 ,
  ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_YVU_420 = 13
}
 Pixel format used for the pixels stored in a AnboxGraphicsBuffer or AnboxGraphicsBuffer2. More...
 
enum  AnboxGraphicsBufferUsage {
  ANBOX_GRAPHICS_BUFFER_USAGE_UNKNOWN = 0 ,
  ANBOX_GRAPHICS_BUFFER_USAGE_SCANOUT = (1 << 0) ,
  ANBOX_GRAPHICS_BUFFER_USAGE_RENDERING = (1 << 1) ,
  ANBOX_GRAPHICS_BUFFER_USAGE_WRITE = (1 << 2) ,
  ANBOX_GRAPHICS_BUFFER_USAGE_LINEAR = (1 << 3)
}
 
enum  AnboxGraphicsImplementationType : uint8_t {
  ANBOX_GRAPHICS_IMPLEMENTATION_TYPE_UNKNOWN = 0 ,
  ANBOX_GRAPHICS_IMPLEMENTATION_TYPE_HOST_RENDERING = 1 ,
  ANBOX_GRAPHICS_IMPLEMENTATION_TYPE_DIRECT_RENDERING = 2
}
 AnboxGraphicsImplementationType describes type of the graphics implementation the platform provides. More...
 
enum  AnboxGraphicsOpenGLESVersion {
  ANBOX_GRAPHICS_OPENGL_ES_VERSION_2_0 = 0 ,
  ANBOX_GRAPHICS_OPENGL_ES_VERSION_3_0 = 1 ,
  ANBOX_GRAPHICS_OPENGL_ES_VERSION_3_1 = 2 ,
  ANBOX_GRAPHICS_OPENGL_ES_VERSION_3_2 = 3
}
 AnboxGraphicsOpenGLESVersion describes a particular OpenGL ES API version. More...
 
enum  AnboxGraphicsVulkanVersion {
  ANBOX_GRAPHICS_VULKAN_VERSION_UNSUPPORTED = 0 ,
  ANBOX_GRAPHICS_VULKAN_VERSION_1_0 = 1 ,
  ANBOX_GRAPHICS_VULKAN_VERSION_1_1 = 2 ,
  ANBOX_GRAPHICS_VULKAN_VERSION_1_2 = 3 ,
  ANBOX_GRAPHICS_VULKAN_VERSION_1_3 = 4
}
 AnboxGraphicsVulkanVersion describes a particular Vulkan API version. More...
 
enum  AnboxPlatformConfigurationItemValueType { BOOLEAN }
 
enum  AnboxPlatformConfigurationKey {
  EGL_DRIVER_PATH = 0 ,
  OPENGL_ES1_CM_DRIVER_PATH = 1 ,
  OPENGL_ES2_DRIVER_PATH = 2 ,
  DISPLAY_SPEC = 3 ,
  AUDIO_SPEC = 4 ,
  DISPLAY_SPEC2 = 5 ,
  AUDIO_INPUT_SPEC = 6 ,
  BINDER_DEVICES = 7 ,
  SUPPORTED_VIDEO_DECODE_CODECS = 8 ,
  GRAPHICS_IMPLEMENTATION_TYPE = 9 ,
  DIRECT_GRAPHICS_CONFIGURATION = 10 ,
  PLATFORM_CONFIGURATION_INFO = 11 ,
  CONTAINER_BASE_UID = 12 ,
  VULKAN_ICD_PATH = 13 ,
  DRM_RENDER_NODE_PATH = 14 ,
  ENABLE_SW_SYNC_SUPPORT = 15 ,
  ANDROID_SYSTEM_PROPERTIES = 16 ,
  PLATFORM_CONFIGURATION_ID_START = 1000 ,
  PLATFORM_CONFIGURATION_ID_END = 1999
}
 AnboxPlatformConfigurationKey specifies configuration items which allow to influence the behavior and configuration of Anbox. More...
 
enum  AnboxEventType {
  ANBOX_EVENT_TYPE_ANDROID_BOOT_FINISHED = 0 ,
  ANBOX_EVENT_TYPE_INITIALIZATION_FINISHED ,
  ANBOX_EVENT_TYPE_TERMINATING
}
 AnboxEventType describes the type of event sent from Anbox. More...
 
enum  AnboxScreenOrientationType {
  PORTRAIT = 0 ,
  LANDSCAPE ,
  PORTRAIT_REVERSED ,
  LANDSCAPE_REVERSED
}
 AnboxScreenOrientationType describes the type of display orientation. More...
 
enum  AnboxVideoColorSpaceFormat {
  VIDEO_FRAME_FORMAT_UNKNOWN = 0 ,
  VIDEO_FRAME_FORMAT_YUV420 ,
  VIDEO_FRAME_FORMAT_RGBA
}
 AnboxVideoColorFormat describes the color space format of a video frame. More...
 
enum  AnboxCameraOrientation {
  CAMERA_ORIENTATION_PORTRAIT = 0 ,
  CAMERA_ORIENTATION_LANDSCAPE = 1
}
 describes the orientations that Anbox supports in the camea processor More...
 
enum  AnboxCameraFacingMode {
  CAMERA_FACING_MODE_FRONT = 0 ,
  CAMERA_FACING_MODE_REAR = 1
}
 describes the camera facing mode More...
 
enum  GnssConstellationType : uint8_t {
  UNKNOWN = 0 ,
  GPS = 1 ,
  SBAS = 2 ,
  GLONASS = 3 ,
  QZSS = 4 ,
  BEIDOU = 5 ,
  GALILEO = 6
}
 
enum  GnssMeasurementState : uint32_t {
  STATE_UNKNOWN = 0 ,
  STATE_CODE_LOCK = 1 << 0 ,
  STATE_BIT_SYNC = 1 << 1 ,
  STATE_SUBFRAME_SYNC = 1 << 2 ,
  STATE_TOW_DECODED = 1 << 3 ,
  STATE_MSEC_AMBIGUOUS = 1 << 4 ,
  STATE_SYMBOL_SYNC = 1 << 5 ,
  STATE_GLO_STRING_SYNC = 1 << 6 ,
  STATE_GLO_TOD_DECODED = 1 << 7 ,
  STATE_BDS_D2_BIT_SYNC = 1 << 8 ,
  STATE_BDS_D2_SUBFRAME_SYNC = 1 << 9 ,
  STATE_GAL_E1BC_CODE_LOCK = 1 << 10 ,
  STATE_GAL_E1C_2ND_CODE_LOCK = 1 << 11 ,
  STATE_GAL_E1B_PAGE_SYNC = 1 << 12 ,
  STATE_SBAS_SYNC = 1 << 13 ,
  STATE_TOW_KNOWN = 1 << 14 ,
  STATE_GLO_TOD_KNOWN = 1 << 15
}
 
enum  GnssClockFlags : uint16_t {
  HAS_LEAP_SECOND = 1 << 0 ,
  HAS_TIME_UNCERTAINTY = 1 << 1 ,
  HAS_FULL_BIAS = 1 << 2 ,
  HAS_BIAS = 1 << 3 ,
  HAS_BIAS_UNCERTAINTY = 1 << 4 ,
  HAS_DRIFT = 1 << 5 ,
  HAS_DRIFT_UNCERTAINTY = 1 << 6
}
 
enum  AnboxGpsDataType : uint32_t {
  Unknown = 1 << 0 ,
  GGA = 1 << 1 ,
  RMC = 1 << 2 ,
  GNSSv1 = 1 << 3
}
 AnboxGpsDataType describes all gps data types supported by Anbox. More...
 
enum  AnboxGraphicsFlipMode {
  FLIP_MODE_NONE = 0 ,
  FLIP_MODE_VERTICAL = 1 ,
  FLIP_MODE_HORIZONTAL = 2
}
 AnboxGraphicsFlipMode describes if the final frame needs to be flipped to have the right visual orientation. More...
 
enum  AnboxGraphicsTextureFormat {
  TEXTURE_FORMAT_RGBA = 0 ,
  TEXTURE_FORMAT_BGRA = 1
}
 AnboxGraphicsTextureFormat describes a list of supported texture formats Anbox can provide a frame in. More...
 
enum  AnboxInputDeviceType {
  POINTER = 0 ,
  KEYBOARD ,
  TOUCHPANEL ,
  GAMEPAD
}
 AnboxInputDeviceType describes the type of device an input event belongs to. Possible device types are: pointer, keyboard, touchpanel. More...
 
enum  AnboxSensorType : uint32_t {
  NONE = 0 ,
  ACCELERATION = 1 << 0 ,
  GYROSCOPE = 1 << 1 ,
  MAGNETOMETER = 1 << 2 ,
  ORIENTATION = 1 << 3 ,
  TEMPERATURE = 1 << 4 ,
  PROXIMITY = 1 << 5 ,
  LIGHT = 1 << 6 ,
  PRESSURE = 1 << 7 ,
  HUMIDITY = 1 << 8
}
 AnboxSensorType describes all sensor types supported by Anbox. More...
 
enum  AnboxVhalPropertyStatus {
  ANBOX_VHAL_PROPERTY_STATUS_AVAILABLE = 0x0 ,
  ANBOX_VHAL_PROPERTY_STATUS_UNAVAILABLE = 0x1 ,
  ANBOX_VHAL_PROPERTY_STATUS_ERROR = 0x2
}
 AnboxVhalPropertyStatus describes the status of a VHAL property. More...
 
enum  AnboxVhalPropertyType {
  ANBOX_VHAL_PROPERTY_TYPE_STRING = 0x00100000 ,
  ANBOX_VHAL_PROPERTY_TYPE_BOOLEAN = 0x00200000 ,
  ANBOX_VHAL_PROPERTY_TYPE_INT32 = 0x00400000 ,
  ANBOX_VHAL_PROPERTY_TYPE_INT32_VEC = 0x00410000 ,
  ANBOX_VHAL_PROPERTY_TYPE_INT64 = 0x00500000 ,
  ANBOX_VHAL_PROPERTY_TYPE_INT64_VEC = 0x00510000 ,
  ANBOX_VHAL_PROPERTY_TYPE_FLOAT = 0x00600000 ,
  ANBOX_VHAL_PROPERTY_TYPE_FLOAT_VEC = 0x00610000 ,
  ANBOX_VHAL_PROPERTY_TYPE_BYTES = 0x00700000 ,
  ANBOX_VHAL_PROPERTY_TYPE_MIXED = 0x00e00000
}
 AnboxVhalPropertyType describes the type of the value stored by a VHAL property. More...
 
enum  AnboxVhalPropertyAccess {
  ANBOX_VHAL_PROPERTY_ACCESS_NONE = 0x00 ,
  ANBOX_VHAL_PROPERTY_ACCESS_READ = 0x01 ,
  ANBOX_VHAL_PROPERTY_ACCESS_WRITE = 0x02 ,
  ANBOX_VHAL_PROPERTY_ACCESS_READ_WRITE = 0x03
}
 AnboxVhalPropertyAccess describes if the property is read, write, or both. More...
 
enum  AnboxVhalPropertyChangeMode {
  ANBOX_VHAL_PROPERTY_CHANGE_MODE_STATIC = 0x00 ,
  ANBOX_VHAL_PROPERTY_CHANGE_MODE_ON_CHANGE = 0x01 ,
  ANBOX_VHAL_PROPERTY_CHANGE_MODE_CONTINUOUS = 0x02
}
 AnboxVhalPropertyChangeMode describes how the property changes. More...
 
enum  AnboxVhalAnswerStatus {
  ANBOX_VHAL_ANSWER_STATUS_OK = 0 ,
  ANBOX_VHAL_ANSWER_STATUS_INVALID = 1 ,
  ANBOX_VHAL_ANSWER_STATUS_UNKNOWN = 2
}
 AnboxVhalAnswerStatus describes the return status of a request sent to the Android VHAL. More...
 
enum  AnboxVideoCodecType : uint8_t {
  ANBOX_VIDEO_CODEC_TYPE_UNKNOWN = 0 ,
  ANBOX_VIDEO_CODEC_TYPE_H264 = 1
}
 AnboxVideoCodecType describes the type of a video codec. More...
 
enum  AnboxVideoPixelFormat : uint8_t {
  ANBOX_VIDEO_PIXEL_FORMAT_UNKNOWN = 0 ,
  ANBOX_VIDEO_PIXEL_FORMAT_YUV420P = 1
}
 AnboxVideoPixelFormat describes a pixel format. More...
 
enum  AnboxTraceEventPhase {
  ANBOX_TRACE_EVENT_PHASE_BEGIN = 'B' ,
  ANBOX_TRACE_EVENT_PHASE_END = 'E' ,
  ANBOX_TRACE_EVENT_PHASE_INSTANT = 'I' ,
  ANBOX_TRACE_EVENT_PHASE_COUNTER = 'C'
}
 Type defining the phase of a trace event, e.g. begin/end pair. More...
 
enum  AnboxTraceEventArgType {
  ANBOX_TRACE_EVENT_ARG_TYPE_BOOL = 1 ,
  ANBOX_TRACE_EVENT_ARG_TYPE_UINT = 2 ,
  ANBOX_TRACE_EVENT_ARG_TYPE_INT = 3 ,
  ANBOX_TRACE_EVENT_ARG_TYPE_DOUBLE = 4 ,
  ANBOX_TRACE_EVENT_ARG_TYPE_POINTER = 5 ,
  ANBOX_TRACE_EVENT_ARG_TYPE_STRING = 6 ,
  ANBOX_TRACE_EVENT_ARG_TYPE_COPY_STRING = 7
}
 Type of an argument passed with a trace event. More...
 

Macro Definition Documentation

◆ ANBOX_GRAPHICS_BUFFER_MAX_PLANES

#define ANBOX_GRAPHICS_BUFFER_MAX_PLANES   4

Maximum number of planes a buffer can have

Definition at line 287 of file types.h.

◆ ANBOX_PLATFORM_DESCRIPTOR_SECTION

#define ANBOX_PLATFORM_DESCRIPTOR_SECTION   ".anbox_platform_descriptor_section"

A particular elf section that Anbox needs various information from the platform plugin to appear in.

Definition at line 39 of file types.h.

◆ GNSS_MAX_MEASUREMENT

#define GNSS_MAX_MEASUREMENT   64

Definition at line 749 of file types.h.

◆ MAX_NAME_LENGTH

#define MAX_NAME_LENGTH   100

Definition at line 31 of file types.h.

◆ MAX_SENSOR_DATA_LENGTH

#define MAX_SENSOR_DATA_LENGTH   16

Definition at line 1307 of file types.h.

◆ MAX_STRING_LENGTH

#define MAX_STRING_LENGTH   256

Definition at line 32 of file types.h.

◆ MAX_VECTOR_DATA_LENGTH

#define MAX_VECTOR_DATA_LENGTH   3

Definition at line 1308 of file types.h.

◆ MAX_VHAL_AREA_NAME_LENGTH

#define MAX_VHAL_AREA_NAME_LENGTH   32

Definition at line 33 of file types.h.

Typedef Documentation

◆ AnboxNativeHandle

typedef uintptr_t AnboxNativeHandle

Opaque handle.

Definition at line 214 of file types.h.

◆ AnboxTracerAddEventFunc

typedef void(* AnboxTracerAddEventFunc) (char phase, const unsigned char *category, const char *name, unsigned long long id, int num_args, const char **arg_names, const unsigned char *arg_types, const unsigned long long *arg_values, unsigned char flags)

Method prototype which will be used by the platform to submit trace events to the tracing implementation inside the Anbox runtime.

Parameters
phasePhase of the trace event (see AnboxTraceEventPhase)
categoryPointer to a statically allocated string naming the category the event belongs to
nameName of the trace event
idUnique id of the trace event
num_argsNumber of arguments the trace event has
arg_namesArray of length num_args containing the argument names
arg_typesArray of length num_args containing the argument types
arg_valuesArray of length num_args containing the argument values
flagsFlags passed with the trace event, currently unused

Definition at line 1690 of file types.h.

◆ AnboxTracerGetCategoryEnabledFunc

typedef const unsigned char*(* AnboxTracerGetCategoryEnabledFunc) (const char *name)

Method prototype which will be used to determine if the given tracing category is enabled for tracing inside the Anbox runtime.

Definition at line 1650 of file types.h.

◆ GpsUtcTime

typedef int64_t GpsUtcTime

Milliseconds since January 1, 1970

Definition at line 752 of file types.h.

Enumeration Type Documentation

◆ AnboxAudioFormat

Audio format is a 32-bit word that consists of: main format field (upper 8 bits) sub format field (lower 24 bits).

The main format indicates the main codec type. The sub format field indicates options and parameters for each format. The sub format is mainly used for instance to indicate the requested bitrate or profile. It can also be used for certain formats to give informations not present in the encoded audio stream (e.g. octet alignement for AMR).

Enumerator
AUDIO_FORMAT_INVALID 

Invalid Audio format.

AUDIO_FORMAT_DEFAULT 

Default Audio format.

AUDIO_FORMAT_PCM 

PCM format, reserved

AUDIO_FORMAT_PCM_16_BIT 

PCM signed 16 bits.

AUDIO_FORMAT_PCM_8_BIT 

PCM unsigned 8 bits.

AUDIO_FORMAT_PCM_32_BIT 

PCM signed .31 fixed point.

AUDIO_FORMAT_PCM_8_24_BIT 

PCM signed 8.23 fixed point.

AUDIO_FORMAT_PCM_FLOAT 

PCM single-precision floating point.

AUDIO_FORMAT_PCM_24_BIT_PACKED 

PCM signed .23 fixed point packed in 3 bytes.

Definition at line 139 of file types.h.

◆ AnboxAudioPcmSubFormat

Audio pcm sub formats.

All of these are in native byte order.

Enumerator
AUDIO_FORMAT_PCM_SUB_16_BIT 

DO NOT CHANGE - PCM signed 16 bits.

AUDIO_FORMAT_PCM_SUB_8_BIT 

DO NOT CHANGE - PCM unsigned 8 bits.

AUDIO_FORMAT_PCM_SUB_32_BIT 

PCM signed .31 fixed point.

AUDIO_FORMAT_PCM_SUB_8_24_BIT 

PCM signed 8.23 fixed point.

AUDIO_FORMAT_PCM_SUB_FLOAT 

PCM single-precision floating point.

AUDIO_FORMAT_PCM_SUB_24_BIT_PACKED 

PCM signed .23 fixed point packed in 3 bytes.

Definition at line 111 of file types.h.

◆ AnboxAudioStreamType

AnboxAudioStreamType describes the audio stream type.

Enumerator
AUDIO_OUTPUT_STREAM 

Audio output stream

AUDIO_INPUT_STREAM 

Audio input stream

Definition at line 174 of file types.h.

◆ AnboxCameraFacingMode

describes the camera facing mode

Enumerator
CAMERA_FACING_MODE_FRONT 

Camera in front facing mode

CAMERA_FACING_MODE_REAR 

Camera in rear facing mode

Definition at line 716 of file types.h.

◆ AnboxCameraOrientation

describes the orientations that Anbox supports in the camea processor

Enumerator
CAMERA_ORIENTATION_PORTRAIT 

Camera in portrait mode

CAMERA_ORIENTATION_LANDSCAPE 

Camera in landscape mode

Definition at line 706 of file types.h.

◆ AnboxEventType

AnboxEventType describes the type of event sent from Anbox.

Enumerator
ANBOX_EVENT_TYPE_ANDROID_BOOT_FINISHED 

Android is fully booted

ANBOX_EVENT_TYPE_INITIALIZATION_FINISHED 

Anbox is fully initialized

ANBOX_EVENT_TYPE_TERMINATING 

Anbox is terminating

Definition at line 668 of file types.h.

◆ AnboxGpsDataType

enum AnboxGpsDataType : uint32_t

AnboxGpsDataType describes all gps data types supported by Anbox.

Enumerator
Unknown 

Unknown GPS data type

GGA 

GGA represents essential fix data which provide 3D location and accuracy data

RMC 

RMC represents essential gps pvt (position, velocity, time) data

GNSSv1 

GNSSv1 represents the version one of a constellation of satellites providing signals information from space that transmit positioning and timing data

Definition at line 1178 of file types.h.

◆ AnboxGraphicsBufferPixelFormat

Pixel format used for the pixels stored in a AnboxGraphicsBuffer or AnboxGraphicsBuffer2.

Enumerator
ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_UNKNOWN 

Unknown pixel format

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_ARGB_8888 

32 bit RGBA

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_XRGB_8888 

32 bit RGBX

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_RGB_888 

24 bit RGB (888)

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_RGB_565 

24 bit RGB (565)

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_ABGR_8888 

32 bit BGRA

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_ABGR_16161616F 

Floating point 64 bit ABGR

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_RGBA_16F 

Floating point 64 bit ABGR

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_GR_88 

16 bit GR

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_ABGR_2101010 

32 bit ABGR

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_YUV_420 

3 plane YCbCr

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_R_8 

8 bit R

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_NV_12 

2 plane YCbCr

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_XBGR_8888 

32 bt XBGR

ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_YVU_420 

3 plane YCbCr

Definition at line 219 of file types.h.

◆ AnboxGraphicsBufferUsage

Usage flags for graphics buffers

Enumerator
ANBOX_GRAPHICS_BUFFER_USAGE_UNKNOWN 
ANBOX_GRAPHICS_BUFFER_USAGE_SCANOUT 

Buffer is meant to be used for display scanout

ANBOX_GRAPHICS_BUFFER_USAGE_RENDERING 

Buffer is meant to be used for rendering

ANBOX_GRAPHICS_BUFFER_USAGE_WRITE 

Buffer can be mapped and written to from CPU

ANBOX_GRAPHICS_BUFFER_USAGE_LINEAR 

Buffer is linear, not tiled

Definition at line 255 of file types.h.

◆ AnboxGraphicsFlipMode

AnboxGraphicsFlipMode describes if the final frame needs to be flipped to have the right visual orientation.

Enumerator
FLIP_MODE_NONE 

No flip required

FLIP_MODE_VERTICAL 

Flip the frame vertically

FLIP_MODE_HORIZONTAL 

Flip the frame horizontally

Definition at line 1209 of file types.h.

◆ AnboxGraphicsImplementationType

AnboxGraphicsImplementationType describes type of the graphics implementation the platform provides.

Enumerator
ANBOX_GRAPHICS_IMPLEMENTATION_TYPE_UNKNOWN 
ANBOX_GRAPHICS_IMPLEMENTATION_TYPE_HOST_RENDERING 
ANBOX_GRAPHICS_IMPLEMENTATION_TYPE_DIRECT_RENDERING 

Definition at line 325 of file types.h.

◆ AnboxGraphicsOpenGLESVersion

AnboxGraphicsOpenGLESVersion describes a particular OpenGL ES API version.

Enumerator
ANBOX_GRAPHICS_OPENGL_ES_VERSION_2_0 
ANBOX_GRAPHICS_OPENGL_ES_VERSION_3_0 
ANBOX_GRAPHICS_OPENGL_ES_VERSION_3_1 
ANBOX_GRAPHICS_OPENGL_ES_VERSION_3_2 

Definition at line 338 of file types.h.

◆ AnboxGraphicsTextureFormat

AnboxGraphicsTextureFormat describes a list of supported texture formats Anbox can provide a frame in.

Enumerator
TEXTURE_FORMAT_RGBA 

RGBA texture format

TEXTURE_FORMAT_BGRA 

BGRA texture format

Definition at line 1222 of file types.h.

◆ AnboxGraphicsVulkanVersion

AnboxGraphicsVulkanVersion describes a particular Vulkan API version.

Enumerator
ANBOX_GRAPHICS_VULKAN_VERSION_UNSUPPORTED 
ANBOX_GRAPHICS_VULKAN_VERSION_1_0 
ANBOX_GRAPHICS_VULKAN_VERSION_1_1 
ANBOX_GRAPHICS_VULKAN_VERSION_1_2 
ANBOX_GRAPHICS_VULKAN_VERSION_1_3 

Definition at line 352 of file types.h.

◆ AnboxInputDeviceType

AnboxInputDeviceType describes the type of device an input event belongs to. Possible device types are: pointer, keyboard, touchpanel.

Enumerator
POINTER 

A pointer device

KEYBOARD 

A keyboard device

TOUCHPANEL 

A touchpanel device

GAMEPAD 

A gamepad device

Definition at line 1275 of file types.h.

◆ AnboxPlatformConfigurationItemValueType

Enumerator
BOOLEAN 

Definition at line 405 of file types.h.

◆ AnboxPlatformConfigurationKey

AnboxPlatformConfigurationKey specifies configuration items which allow to influence the behavior and configuration of Anbox.

Enumerator
EGL_DRIVER_PATH 

Path to the platform implementation of the EGL shared library.

Providing a valid path is mandatory.

The value of this configuration item is of type const char*.

OPENGL_ES1_CM_DRIVER_PATH 

Path to the platform implementation of the OpenGL ES 1.x CM shared library.

Providing a valid path is mandatory.

The value of this configuration item is of type const char*.

OPENGL_ES2_DRIVER_PATH 

Path to the platform implementation of the OpenGL ES 2.x shared library.

Providing a valid path is mandatory.

The value of this configuration item is of type const char*.

DISPLAY_SPEC 

Specification of parameters of the virtual display Anbox creates.

Internally Anbox will setup a virtual display for Android to render onto. The specification provided with this configuration item details the dimension, density and other relevant parameters of the the created virtual display.

The value of this configuration item is of type AnboxDisplaySpec

Note
: deprecated, it exists only for backward compatibility. Please use DISPLAY_SPEC2 instead.
AUDIO_SPEC 

Specification of parameters of the audio output Anbox creates.

Internally Anbox will setup audio server for Android to connect to. The specification provided with this configuration item details the audio format, channel, sample rate and other relevant parameters of the created audio server.

The value of this configuration item is of type AnboxAudioSpec

DISPLAY_SPEC2 

Specification of parameters of the virtual display Anbox creates.

Internally Anbox will setup a virtual display for Android to render onto. The specification provided with this configuration item details the dimension, density and other relevant parameters of the the created virtual display.

The value of this configuration item is of type AnboxDisplaySpec2

AUDIO_INPUT_SPEC 

Specification of parameters of the audio input Anbox creates.

Internally Anbox will setup audio server for Android to connect to. The specification provided with this configuration item details the audio format, channel, sample rate and other relevant parameters of the created audio server.

The value of this configuration item is of type AnboxAudioSpec

BINDER_DEVICES 

Structure of path to binder devices used by the Android container.

This is used by Anbox to notify the platform that all binder devices are available by calling

See also
anbox::Platform::set_config_item.

The value of this configuration item is of type AnboxBinderDevices

SUPPORTED_VIDEO_DECODE_CODECS 
GRAPHICS_IMPLEMENTATION_TYPE 
DIRECT_GRAPHICS_CONFIGURATION 
PLATFORM_CONFIGURATION_INFO 
CONTAINER_BASE_UID 
VULKAN_ICD_PATH 
DRM_RENDER_NODE_PATH 
ENABLE_SW_SYNC_SUPPORT 
ANDROID_SYSTEM_PROPERTIES 
PLATFORM_CONFIGURATION_ID_START 
PLATFORM_CONFIGURATION_ID_END 

Definition at line 458 of file types.h.

◆ AnboxScreenOrientationType

AnboxScreenOrientationType describes the type of display orientation.

Enumerator
PORTRAIT 

Portrait orientation mode

LANDSCAPE 

Landscape orientation mode

PORTRAIT_REVERSED 

Reversed portrait orientation mode

LANDSCAPE_REVERSED 

Reversed landscape orientation mode

Definition at line 680 of file types.h.

◆ AnboxSensorType

enum AnboxSensorType : uint32_t

AnboxSensorType describes all sensor types supported by Anbox.

Enumerator
NONE 

no sensor support

ACCELERATION 

3-axis Accelerometer

GYROSCOPE 

3-axis Gyroscope

MAGNETOMETER 

3-axis Magnetic field sensor

ORIENTATION 

Orientation sensor

TEMPERATURE 

Ambient Temperature sensor

PROXIMITY 

Proximity sensor

LIGHT 

Light sensor

PRESSURE 

Pressure sensor

HUMIDITY 

Humidity sensor

Definition at line 1313 of file types.h.

◆ AnboxTraceEventArgType

Type of an argument passed with a trace event.

Enumerator
ANBOX_TRACE_EVENT_ARG_TYPE_BOOL 
ANBOX_TRACE_EVENT_ARG_TYPE_UINT 
ANBOX_TRACE_EVENT_ARG_TYPE_INT 
ANBOX_TRACE_EVENT_ARG_TYPE_DOUBLE 
ANBOX_TRACE_EVENT_ARG_TYPE_POINTER 
ANBOX_TRACE_EVENT_ARG_TYPE_STRING 
ANBOX_TRACE_EVENT_ARG_TYPE_COPY_STRING 

Definition at line 1666 of file types.h.

◆ AnboxTraceEventPhase

Type defining the phase of a trace event, e.g. begin/end pair.

Enumerator
ANBOX_TRACE_EVENT_PHASE_BEGIN 
ANBOX_TRACE_EVENT_PHASE_END 
ANBOX_TRACE_EVENT_PHASE_INSTANT 
ANBOX_TRACE_EVENT_PHASE_COUNTER 

Definition at line 1655 of file types.h.

◆ AnboxVhalAnswerStatus

AnboxVhalAnswerStatus describes the return status of a request sent to the Android VHAL.

Enumerator
ANBOX_VHAL_ANSWER_STATUS_OK 
ANBOX_VHAL_ANSWER_STATUS_INVALID 

The request was invalid.

ANBOX_VHAL_ANSWER_STATUS_UNKNOWN 

An unknown or internal error occurred.

Definition at line 1534 of file types.h.

◆ AnboxVhalPropertyAccess

AnboxVhalPropertyAccess describes if the property is read, write, or both.

Matches the VehiclePropertyAccess enum of the Android VHAL interface.

Enumerator
ANBOX_VHAL_PROPERTY_ACCESS_NONE 
ANBOX_VHAL_PROPERTY_ACCESS_READ 
ANBOX_VHAL_PROPERTY_ACCESS_WRITE 
ANBOX_VHAL_PROPERTY_ACCESS_READ_WRITE 

Definition at line 1431 of file types.h.

◆ AnboxVhalPropertyChangeMode

AnboxVhalPropertyChangeMode describes how the property changes.

Matches the VehiclePropertyChangeMode enum of the Android VHAL interface.

Enumerator
ANBOX_VHAL_PROPERTY_CHANGE_MODE_STATIC 
ANBOX_VHAL_PROPERTY_CHANGE_MODE_ON_CHANGE 
ANBOX_VHAL_PROPERTY_CHANGE_MODE_CONTINUOUS 

Definition at line 1443 of file types.h.

◆ AnboxVhalPropertyStatus

AnboxVhalPropertyStatus describes the status of a VHAL property.

Matches the VehiclePropertyStatus enum of the Android VHAL interface.

Enumerator
ANBOX_VHAL_PROPERTY_STATUS_AVAILABLE 
ANBOX_VHAL_PROPERTY_STATUS_UNAVAILABLE 
ANBOX_VHAL_PROPERTY_STATUS_ERROR 

Definition at line 1398 of file types.h.

◆ AnboxVhalPropertyType

AnboxVhalPropertyType describes the type of the value stored by a VHAL property.

Matches the VehiclePropertyType enum of the Android VHAL interface.

Enumerator
ANBOX_VHAL_PROPERTY_TYPE_STRING 
ANBOX_VHAL_PROPERTY_TYPE_BOOLEAN 
ANBOX_VHAL_PROPERTY_TYPE_INT32 
ANBOX_VHAL_PROPERTY_TYPE_INT32_VEC 
ANBOX_VHAL_PROPERTY_TYPE_INT64 
ANBOX_VHAL_PROPERTY_TYPE_INT64_VEC 
ANBOX_VHAL_PROPERTY_TYPE_FLOAT 
ANBOX_VHAL_PROPERTY_TYPE_FLOAT_VEC 
ANBOX_VHAL_PROPERTY_TYPE_BYTES 
ANBOX_VHAL_PROPERTY_TYPE_MIXED 

Definition at line 1411 of file types.h.

◆ AnboxVideoCodecType

enum AnboxVideoCodecType : uint8_t

AnboxVideoCodecType describes the type of a video codec.

Enumerator
ANBOX_VIDEO_CODEC_TYPE_UNKNOWN 
ANBOX_VIDEO_CODEC_TYPE_H264 

Definition at line 1593 of file types.h.

◆ AnboxVideoColorSpaceFormat

AnboxVideoColorFormat describes the color space format of a video frame.

Enumerator
VIDEO_FRAME_FORMAT_UNKNOWN 

Unknown color space format

VIDEO_FRAME_FORMAT_YUV420 

YUV standard format 4:2:0

VIDEO_FRAME_FORMAT_RGBA 

RAW color format with alpha channel

Definition at line 694 of file types.h.

◆ AnboxVideoPixelFormat

enum AnboxVideoPixelFormat : uint8_t

AnboxVideoPixelFormat describes a pixel format.

Enumerator
ANBOX_VIDEO_PIXEL_FORMAT_UNKNOWN 
ANBOX_VIDEO_PIXEL_FORMAT_YUV420P 

Definition at line 1602 of file types.h.

◆ GnssClockFlags

enum GnssClockFlags : uint16_t

Flags to indicate what fields in GnssClock are valid.

Enumerator
HAS_LEAP_SECOND 

A valid 'leap second' is stored in the data structure.

HAS_TIME_UNCERTAINTY 

A valid 'time uncertainty' is stored in the data structure.

HAS_FULL_BIAS 

A valid 'full bias' is stored in the data structure.

HAS_BIAS 

A valid 'bias' is stored in the data structure.

HAS_BIAS_UNCERTAINTY 

A valid 'bias uncertainty' is stored in the data structure.

HAS_DRIFT 

A valid 'drift' is stored in the data structure.

HAS_DRIFT_UNCERTAINTY 

A valid 'drift uncertainty' is stored in the data structure.

Definition at line 804 of file types.h.

◆ GnssConstellationType

enum GnssConstellationType : uint8_t

Constellation type of GnssSvInfo

Enumerator
UNKNOWN 
GPS 
SBAS 
GLONASS 
QZSS 
BEIDOU 
GALILEO 

Definition at line 757 of file types.h.

◆ GnssMeasurementState

enum GnssMeasurementState : uint32_t

Flags indicating the GNSS measurement state.

The expected behavior here is for GPS HAL to set all the flags that applies. For example, if the state for a satellite is only C/A code locked and bit synchronized, and there is still millisecond ambiguity, the state should be set as:

GNSS_MEASUREMENT_STATE_CODE_LOCK | GNSS_MEASUREMENT_STATE_BIT_SYNC | GNSS_MEASUREMENT_STATE_MSEC_AMBIGUOUS

If GNSS is still searching for a satellite, the corresponding state should be set to GNSS_MEASUREMENT_STATE_UNKNOWN(0).

Enumerator
STATE_UNKNOWN 
STATE_CODE_LOCK 
STATE_BIT_SYNC 
STATE_SUBFRAME_SYNC 
STATE_TOW_DECODED 
STATE_MSEC_AMBIGUOUS 
STATE_SYMBOL_SYNC 
STATE_GLO_STRING_SYNC 
STATE_GLO_TOD_DECODED 
STATE_BDS_D2_BIT_SYNC 
STATE_BDS_D2_SUBFRAME_SYNC 
STATE_GAL_E1BC_CODE_LOCK 
STATE_GAL_E1C_2ND_CODE_LOCK 
STATE_GAL_E1B_PAGE_SYNC 
STATE_SBAS_SYNC 
STATE_TOW_KNOWN 
STATE_GLO_TOD_KNOWN 

Definition at line 781 of file types.h.