19 #ifndef ANBOX_SDK_TYPES_H_
20 #define ANBOX_SDK_TYPES_H_
26 #include <linux/limits.h>
27 #include <linux/input.h>
31 #define MAX_NAME_LENGTH 100
32 #define MAX_STRING_LENGTH 256
33 #define MAX_VHAL_AREA_NAME_LENGTH 32
39 #define ANBOX_PLATFORM_DESCRIPTOR_SECTION ".anbox_platform_descriptor_section"
287 #define ANBOX_GRAPHICS_BUFFER_MAX_PLANES 4
316 void (*callback)(
void* user_data);
325 typedef enum : uint8_t {
749 #define GNSS_MAX_MEASUREMENT 64
757 typedef enum : uint8_t {
781 typedef enum : uint32_t {
804 typedef enum : uint16_t {
1178 typedef enum : uint32_t {
1307 #define MAX_SENSOR_DATA_LENGTH 16
1308 #define MAX_VECTOR_DATA_LENGTH 3
1313 typedef enum : uint32_t {
1593 typedef enum : uint8_t {
1602 typedef enum : uint8_t {
1650 typedef const unsigned char* (*AnboxTracerGetCategoryEnabledFunc)(
const char* name);
1692 const unsigned char* category,
1694 unsigned long long id,
1696 const char** arg_names,
1697 const unsigned char* arg_types,
1698 const unsigned long long* arg_values,
1699 unsigned char flags);
AnboxAndroidSystemProperties describes the Android system properties provided by a platform to be for...
The audio input/output format from anbox.
The struct of binder devices that being used in Android container.
Generic callback wrapper.
AnboxCameraSpec represents the camera specification.
AnboxCameraFacingMode facing_mode
AnboxVideoColorSpaceFormat format
AnboxDirectGraphicsConfiguration defines how Anbox should configure the graphics implementation insid...
AnboxDisplaySpec2 describes properties of the virtual display Anbox creates for rendering.
AnboxDisplaySpec describes properties of the virtual display Anbox creates for rendering.
GnssMeasurement measurements[GNSS_MAX_MEASUREMENT]
AnboxGpsDataType data_type
AnboxDisplaySpec describes properties of the Anbox rendering pipeline the platform plugin can influen...
AnboxGraphicsFlipMode output_flip_mode
EGLNativeDisplayType native_display
EGLNativeWindowType native_window
AnboxGraphicsTextureFormat texture_format
AnboxSensorData represents the sensor data stucture,.
AnboxSensorVector gyroscope
AnboxSensorVector orientation
AnboxSensorVector magnetic
AnboxSensorVector acceleration
AnboxSensorType sensor_type
float values[MAX_SENSOR_DATA_LENGTH]
AnboxSensorVector represents acceleration along each device axis or current device rotation angles: a...
float v[MAX_VECTOR_DATA_LENGTH]
struct AnboxSensorVector::@2::@5 angle
struct AnboxSensorVector::@2::@4 axis
AnboxVhalAnswerGet contains the answer for a GetAllPropConfigs or GetPropConfigs request sent to the ...
AnboxVhalPropertyConfig * configs
AnboxVhalAreaConfig describes the configuration of a given area id for a VHAL property.
char(* area_names)[MAX_VHAL_AREA_NAME_LENGTH]
AnboxVhalCommandGet describes a get request to send to the Android VHAL.
uint32_t string_value_size
uint32_t int32_values_size
uint32_t float_values_size
uint32_t int64_values_size
AnboxVhalCommandSet describes a set request to send to the Android VHAL.
uint32_t int64_values_size
uint32_t int32_values_size
uint32_t string_value_size
AnboxVhalPropertyStatus status
uint32_t float_values_size
AnboxVhalPropertyConfig describes the configuration of a VHAL property.
uint32_t config_array_size
AnboxVhalPropertyChangeMode change_mode
AnboxVhalPropertyType value_type
AnboxVhalPropertyAccess access
AnboxVhalAreaConfig * area_configs
uint32_t config_string_size
uint32_t area_configs_size
AnboxVhalPropertyValue describes the current value of a VHAL property, as returned by a get call to t...
uint32_t float_values_size
uint32_t string_value_size
uint32_t int64_values_size
uint32_t int32_values_size
AnboxVhalPropertyStatus status
AnboxVideoDecoderConfig describes the configuration of a video decoder.
AnboxVideoPixelFormat output_format
AnboxVideoFrame represents a single complete video frame.
AnboxVideoImage describes a decoded image returned by the video decoder.
AnboxVideoPixelFormat pixel_format
uint32_t hw_clock_discontinuity_count
double bias_uncertainty_ns
double drift_uncertainty_nsps
double pseudorange_rate_uncertainty_mps
GnssMeasurementState state
float carrier_frequency_hz
GnssConstellationType constellation
double pseudorange_rate_mps
int64_t received_sv_time_in_ns
int64_t received_sv_time_uncertainty_in_ns
AnboxVhalPropertyChangeMode
AnboxVhalPropertyChangeMode describes how the property changes.
@ ANBOX_VHAL_PROPERTY_CHANGE_MODE_CONTINUOUS
@ ANBOX_VHAL_PROPERTY_CHANGE_MODE_ON_CHANGE
@ ANBOX_VHAL_PROPERTY_CHANGE_MODE_STATIC
@ ANBOX_GRAPHICS_BUFFER_USAGE_WRITE
@ ANBOX_GRAPHICS_BUFFER_USAGE_UNKNOWN
@ ANBOX_GRAPHICS_BUFFER_USAGE_RENDERING
@ ANBOX_GRAPHICS_BUFFER_USAGE_SCANOUT
@ ANBOX_GRAPHICS_BUFFER_USAGE_LINEAR
AnboxAudioPcmSubFormat
Audio pcm sub formats.
@ AUDIO_FORMAT_PCM_SUB_16_BIT
@ AUDIO_FORMAT_PCM_SUB_FLOAT
@ AUDIO_FORMAT_PCM_SUB_24_BIT_PACKED
@ AUDIO_FORMAT_PCM_SUB_32_BIT
@ AUDIO_FORMAT_PCM_SUB_8_BIT
@ AUDIO_FORMAT_PCM_SUB_8_24_BIT
AnboxCameraFacingMode
describes the camera facing mode
@ CAMERA_FACING_MODE_REAR
@ CAMERA_FACING_MODE_FRONT
AnboxPlatformConfigurationKey
AnboxPlatformConfigurationKey specifies configuration items which allow to influence the behavior and...
@ ANDROID_SYSTEM_PROPERTIES
@ OPENGL_ES1_CM_DRIVER_PATH
@ DIRECT_GRAPHICS_CONFIGURATION
@ SUPPORTED_VIDEO_DECODE_CODECS
@ GRAPHICS_IMPLEMENTATION_TYPE
@ PLATFORM_CONFIGURATION_INFO
@ PLATFORM_CONFIGURATION_ID_START
@ PLATFORM_CONFIGURATION_ID_END
AnboxScreenOrientationType
AnboxScreenOrientationType describes the type of display orientation.
AnboxGraphicsTextureFormat
AnboxGraphicsTextureFormat describes a list of supported texture formats Anbox can provide a frame in...
AnboxGraphicsBufferPixelFormat
Pixel format used for the pixels stored in a AnboxGraphicsBuffer or AnboxGraphicsBuffer2.
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_RGBA_16F
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_ARGB_8888
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_YUV_420
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_XRGB_8888
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_UNKNOWN
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_GR_88
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_R_8
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_XBGR_8888
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_NV_12
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_ABGR_8888
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_ABGR_2101010
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_ABGR_16161616F
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_YVU_420
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_RGB_565
@ ANBOX_GRAPHICS_BUFFER_PIXEL_FORMAT_RGB_888
AnboxVhalPropertyType
AnboxVhalPropertyType describes the type of the value stored by a VHAL property.
@ ANBOX_VHAL_PROPERTY_TYPE_FLOAT_VEC
@ ANBOX_VHAL_PROPERTY_TYPE_INT32
@ ANBOX_VHAL_PROPERTY_TYPE_MIXED
@ ANBOX_VHAL_PROPERTY_TYPE_BYTES
@ ANBOX_VHAL_PROPERTY_TYPE_INT64_VEC
@ ANBOX_VHAL_PROPERTY_TYPE_INT32_VEC
@ ANBOX_VHAL_PROPERTY_TYPE_BOOLEAN
@ ANBOX_VHAL_PROPERTY_TYPE_FLOAT
@ ANBOX_VHAL_PROPERTY_TYPE_STRING
@ ANBOX_VHAL_PROPERTY_TYPE_INT64
AnboxTraceEventPhase
Type defining the phase of a trace event, e.g. begin/end pair.
@ ANBOX_TRACE_EVENT_PHASE_COUNTER
@ ANBOX_TRACE_EVENT_PHASE_END
@ ANBOX_TRACE_EVENT_PHASE_BEGIN
@ ANBOX_TRACE_EVENT_PHASE_INSTANT
AnboxPlatformConfigurationItemValueType
#define MAX_SENSOR_DATA_LENGTH
AnboxVideoCodecType
AnboxVideoCodecType describes the type of a video codec.
@ ANBOX_VIDEO_CODEC_TYPE_H264
@ ANBOX_VIDEO_CODEC_TYPE_UNKNOWN
#define MAX_VECTOR_DATA_LENGTH
#define MAX_STRING_LENGTH
#define MAX_VHAL_AREA_NAME_LENGTH
AnboxGpsDataType
AnboxGpsDataType describes all gps data types supported by Anbox.
AnboxGraphicsFlipMode
AnboxGraphicsFlipMode describes if the final frame needs to be flipped to have the right visual orien...
AnboxCameraOrientation
describes the orientations that Anbox supports in the camea processor
@ CAMERA_ORIENTATION_LANDSCAPE
@ CAMERA_ORIENTATION_PORTRAIT
AnboxVhalPropertyAccess
AnboxVhalPropertyAccess describes if the property is read, write, or both.
@ ANBOX_VHAL_PROPERTY_ACCESS_WRITE
@ ANBOX_VHAL_PROPERTY_ACCESS_READ
@ ANBOX_VHAL_PROPERTY_ACCESS_READ_WRITE
@ ANBOX_VHAL_PROPERTY_ACCESS_NONE
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 implementat...
AnboxTraceEventArgType
Type of an argument passed with a trace event.
@ ANBOX_TRACE_EVENT_ARG_TYPE_STRING
@ 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_COPY_STRING
@ STATE_GAL_E1BC_CODE_LOCK
@ STATE_GAL_E1B_PAGE_SYNC
@ STATE_BDS_D2_SUBFRAME_SYNC
@ STATE_GAL_E1C_2ND_CODE_LOCK
AnboxVideoPixelFormat
AnboxVideoPixelFormat describes a pixel format.
@ ANBOX_VIDEO_PIXEL_FORMAT_YUV420P
@ ANBOX_VIDEO_PIXEL_FORMAT_UNKNOWN
AnboxVhalPropertyStatus
AnboxVhalPropertyStatus describes the status of a VHAL property.
@ ANBOX_VHAL_PROPERTY_STATUS_ERROR
@ ANBOX_VHAL_PROPERTY_STATUS_AVAILABLE
@ ANBOX_VHAL_PROPERTY_STATUS_UNAVAILABLE
#define GNSS_MAX_MEASUREMENT
AnboxVhalAnswerStatus
AnboxVhalAnswerStatus describes the return status of a request sent to the Android VHAL.
@ ANBOX_VHAL_ANSWER_STATUS_UNKNOWN
@ ANBOX_VHAL_ANSWER_STATUS_OK
@ ANBOX_VHAL_ANSWER_STATUS_INVALID
AnboxVideoColorSpaceFormat
AnboxVideoColorFormat describes the color space format of a video frame.
@ VIDEO_FRAME_FORMAT_UNKNOWN
@ VIDEO_FRAME_FORMAT_YUV420
@ VIDEO_FRAME_FORMAT_RGBA
AnboxAudioStreamType
AnboxAudioStreamType describes the audio stream type.
AnboxGraphicsOpenGLESVersion
AnboxGraphicsOpenGLESVersion describes a particular OpenGL ES API version.
@ ANBOX_GRAPHICS_OPENGL_ES_VERSION_2_0
@ ANBOX_GRAPHICS_OPENGL_ES_VERSION_3_1
@ ANBOX_GRAPHICS_OPENGL_ES_VERSION_3_0
@ ANBOX_GRAPHICS_OPENGL_ES_VERSION_3_2
AnboxGraphicsImplementationType
AnboxGraphicsImplementationType describes type of the graphics implementation the platform provides.
@ ANBOX_GRAPHICS_IMPLEMENTATION_TYPE_UNKNOWN
@ ANBOX_GRAPHICS_IMPLEMENTATION_TYPE_DIRECT_RENDERING
@ ANBOX_GRAPHICS_IMPLEMENTATION_TYPE_HOST_RENDERING
AnboxGraphicsVulkanVersion
AnboxGraphicsVulkanVersion describes a particular Vulkan API version.
@ ANBOX_GRAPHICS_VULKAN_VERSION_1_3
@ ANBOX_GRAPHICS_VULKAN_VERSION_UNSUPPORTED
@ ANBOX_GRAPHICS_VULKAN_VERSION_1_1
@ ANBOX_GRAPHICS_VULKAN_VERSION_1_2
@ ANBOX_GRAPHICS_VULKAN_VERSION_1_0
AnboxSensorType
AnboxSensorType describes all sensor types supported by Anbox.
AnboxInputDeviceType
AnboxInputDeviceType describes the type of device an input event belongs to. Possible device types ar...
#define ANBOX_GRAPHICS_BUFFER_MAX_PLANES
AnboxEventType
AnboxEventType describes the type of event sent from Anbox.
@ ANBOX_EVENT_TYPE_TERMINATING
@ ANBOX_EVENT_TYPE_INITIALIZATION_FINISHED
@ ANBOX_EVENT_TYPE_ANDROID_BOOT_FINISHED
AnboxAudioFormat
Audio format is a 32-bit word that consists of: main format field (upper 8 bits) sub format field (lo...
@ AUDIO_FORMAT_PCM_8_24_BIT
@ AUDIO_FORMAT_PCM_24_BIT_PACKED
@ AUDIO_FORMAT_PCM_32_BIT
@ AUDIO_FORMAT_PCM_16_BIT
uintptr_t AnboxNativeHandle
Opaque handle.