package core:sys/android

Warning: This was generated for -target:windows_amd64 and might not represent every target this package supports.

⌘K
Ctrl+K
or
/

    Packages 1

    native_app_glue

    Index

    Types (212)
    Constants (203)
    Variables (0)

    This section is empty.

    Procedures (463)
    Procedure Groups (0)

    This section is empty.

    Types

    AAdditionalInfoEvent ¶

    AAdditionalInfoEvent :: struct {
    	type:   ASensorAdditionalInfoType,
    	serial: i32,
    	using _: struct #raw_union {
    		data_int32: [14]i32,
    		data_float: [14]f32,
    	},
    }

    AAssetDir ¶

    AAssetDir :: struct {}

    Related Procedures With Parameters

    AAssetMode ¶

    AAssetMode :: enum i32 {
    	UNKNOWN   = 0, 
    	RANDOM    = 1, 
    	STREAMING = 2, 
    	BUFFER    = 3, 
    }

    Related Procedures With Parameters

    AChoreographer_frameCallback ¶

    AChoreographer_frameCallback :: proc "c" (frameTimeNanos: i64, data: rawptr)

    Related Procedures With Parameters

    AChoreographer_frameCallback64 ¶

    AChoreographer_frameCallback64 :: proc "c" (frameTimeNanos: i64, data: rawptr)

    Related Procedures With Parameters

    AChoreographer_refreshRateCallback ¶

    AChoreographer_refreshRateCallback :: proc "c" (vsyncPeriodNanos: i64, data: rawptr)

    Related Procedures With Parameters

    AChoreographer_vsyncCallback ¶

    AChoreographer_vsyncCallback :: proc "c" (callbackData: ^AChoreographerFrameCallbackData, data: rawptr)

    AColor_xy ¶

    AColor_xy :: struct {
    	x: f32,
    	y: f32,
    }

    AConfiguration ¶

    AConfiguration :: struct {}

    Related Procedures With Parameters

    AConfigurationChange ¶

    AConfigurationChange :: enum u32 {
    	MCC                  = 0, 
    	MNC                  = 1, 
    	LOCALE               = 2, 
    	TOUCHSCREEN          = 3, 
    	KEYBOARD             = 4, 
    	NAVIGATION           = 6, 
    	ORIENTATION          = 7, 
    	DENSITY              = 8, 
    	SCREEN_SIZE          = 9, 
    	VERSION              = 10, 
    	SCREEN_LAYOUT        = 11, 
    	UI_MODE              = 12, 
    	SMALLEST_SCREEN_SIZE = 13, 
    	LAYOUTDIR            = 14, 
    	SCREEN_ROUND         = 15, 
    	COLOR_MODE           = 16, 
    	GRAMMATICAL_GENDER   = 17, 
    }

    AConfigurationChanges ¶

    AConfigurationChanges :: distinct bit_set[AConfigurationChange; u32]

    AConfigurationGrammaticalGender ¶

    AConfigurationGrammaticalGender :: enum i32 {
    	ANY       = 0, 
    	NEUTER    = 1, 
    	FEMININE  = 2, 
    	MASCULINE = 3, 
    }

    AConfigurationHdr ¶

    AConfigurationHdr :: enum i32 {
    	ANY = 0x00, 
    	NO  = 0x1, 
    	YES = 0x2, 
    }

    AConfigurationKeyboard ¶

    AConfigurationKeyboard :: enum i32 {
    	ANY    = 0x0000, 
    	NOKEYS = 0x0001, 
    	QWERTY = 0x0002, 
    	_12KEY = 0x0003, 
    	HIDDEN = 0x0020, 
    }

    AConfigurationKeysHidden ¶

    AConfigurationKeysHidden :: enum i32 {
    	ANY  = 0x0000, 
    	NO   = 0x0001, 
    	YES  = 0x0002, 
    	SOFT = 0x0003, 
    }

    AConfigurationLayoutDir ¶

    AConfigurationLayoutDir :: enum i32 {
    	ANY = 0x00, 
    	LTR = 0x01, 
    	RTL = 0x02, 
    }

    AConfigurationNavHidden ¶

    AConfigurationNavHidden :: enum i32 {
    	ANY = 0x00, 
    	NO  = 0x1, 
    	YES = 0x2, 
    }

    AConfigurationNavigation ¶

    AConfigurationNavigation :: enum i32 {
    	ANY       = 0x0000, 
    	NONAV     = 0x0001, 
    	DPAD      = 0x0002, 
    	TRACKBALL = 0x0003, 
    	WHEEL     = 0x0004, 
    }

    AConfigurationOrientation ¶

    AConfigurationOrientation :: enum i32 {
    	ANY    = 0x0000, 
    	PORT   = 0x0001, 
    	LAND   = 0x0002, 
    	SQUARE = 0x0003, 
    }

    AConfigurationScreenLong ¶

    AConfigurationScreenLong :: enum i32 {
    	ANY = 0x00, 
    	NO  = 0x1, 
    	YES = 0x2, 
    }

    AConfigurationScreenRound ¶

    AConfigurationScreenRound :: enum i32 {
    	ANY = 0x00, 
    	NO  = 0x1, 
    	YES = 0x2, 
    }

    AConfigurationScreenSize ¶

    AConfigurationScreenSize :: enum i32 {
    	ANY    = 0x00, 
    	SMALL  = 0x01, 
    	NORMAL = 0x02, 
    	LARGE  = 0x03, 
    	XLARGE = 0x04, 
    }

    AConfigurationTouchscreen ¶

    AConfigurationTouchscreen :: enum i32 {
    	ANY     = 0x0000, 
    	NOTOUCH = 0x0001, 
    	STYLUS  = 0x0002, 
    	FINGER  = 0x0003, 
    }

    AConfigurationUiModeNight ¶

    AConfigurationUiModeNight :: enum i32 {
    	ANY = 0x00, 
    	NO  = 0x1, 
    	YES = 0x2, 
    }

    AConfigurationUiModeType ¶

    AConfigurationUiModeType :: enum i32 {
    	ANY        = 0x00, 
    	NORMAL     = 0x01, 
    	DESK       = 0x02, 
    	CAR        = 0x03, 
    	TELEVISION = 0x04, 
    	APPLIANCE  = 0x05, 
    	WATCH      = 0x06, 
    	VR_HEADSET = 0x07, 
    }

    AConfigurationWideColorGamut ¶

    AConfigurationWideColorGamut :: enum i32 {
    	ANY = 0x00, 
    	NO  = 0x1, 
    	YES = 0x2, 
    }

    ACpuHeadroomCalculationType ¶

    ACpuHeadroomCalculationType :: enum i32 {
    	MIN     = 0, 
    	AVERAGE = 1, 
    }

    ADataSpace ¶

    ADataSpace :: distinct bit_field i32 {
    	other:    u16 | 16,
    	standard: ADataSpaceStandard | 6,
    	transfer: ADataSpaceTransfer | 5,
    	range:    ADataSpaceRange | 3,
    	_:        u8 | 2,
    }

    Related Procedures With Parameters

    Related Procedures With Returns

    Related Constants

    ADataSpaceRange ¶

    ADataSpaceRange :: enum u32 {
    	UNSPECIFIED = 0, 
    	FULL        = 1, 
    	LIMITED     = 2, 
    	EXTENDED    = 3, 
    }

    ADataSpaceStandard ¶

    ADataSpaceStandard :: enum u32 {
    	UNSPECIFIED               = 0, 
    	BT709                     = 1, 
    	BT601_625                 = 2, 
    	BT601_625_UNADJUSTED      = 3, 
    	BT601_525                 = 4, 
    	BT601_525_UNADJUSTED      = 5, 
    	BT2020                    = 6, 
    	BT2020_CONSTANT_LUMINANCE = 7, 
    	BT470M                    = 8, 
    	FILM                      = 9, 
    	DCI_P3                    = 0xa, 
    	ADOBE_RGB                 = 0xb, 
    }

    ADataSpaceTransfer ¶

    ADataSpaceTransfer :: enum u32 {
    	UNSPECIFIED = 0, 
    	LINEAR      = 1, 
    	SRGB        = 2, 
    	SMPTE_170M  = 3, 
    	GAMMA2_2    = 4, 
    	GAMMA2_6    = 5, 
    	GAMMA2_8    = 6, 
    	ST2084      = 7, 
    	HLG         = 8, 
    }

    ADisplayLuts ¶

    ADisplayLuts :: struct {}

    Related Procedures With Parameters

    ADisplayLuts_Dimension ¶

    ADisplayLuts_Dimension :: enum i32 {
    	ONE_DIMENSION   = 1, 
    	THREE_DIMENSION = 3, 
    }

    ADisplayLuts_SamplingKey ¶

    ADisplayLuts_SamplingKey :: enum i32 {
    	RGB     = 0, 
    	MAX_RGB = 1, 
    	CIE_Y   = 2, 
    }

    ADynamicSensorEvent ¶

    ADynamicSensorEvent :: struct {
    	connected: i32,
    	handle:    i32,
    }

    AFamilyVariant ¶

    AFamilyVariant :: enum i32 {
    	DEFAULT = 0, 
    	COMPACT = 1, 
    	ELEGANT = 2, 
    }

    AGpuHeadroomCalculationType ¶

    AGpuHeadroomCalculationType :: enum i32 {
    	MIN     = 0, 
    	AVERAGE = 1, 
    }

    AHardwareBuffer_CpuUsage ¶

    AHardwareBuffer_CpuUsage :: enum u64 {
    	NEVER  = 0, 
    	RARELY = 2, 
    	OFTEN  = 3, 
    }

    AHardwareBuffer_Desc ¶

    AHardwareBuffer_Desc :: struct {
    	width:  u32,
    	height: u32,
    	layers: u32,
    	format: AHardwareBuffer_Format,
    	usage:  AHardwareBuffer_UsageFlags,
    	stride: u32,
    	rfu0:   u32,
    	rfu1:   u64,
    }

    Related Procedures With Parameters

    AHardwareBuffer_Format ¶

    AHardwareBuffer_Format :: enum i32 {
    	R8G8B8A8_UNORM     = 1, 
    	R8G8B8X8_UNORM     = 2, 
    	R8G8B8_UNORM       = 3, 
    	R5G6B5_UNORM       = 4, 
    	R16G16B16A16_FLOAT = 0x16, 
    	R10G10B10A2_UNORM  = 0x2b, 
    	BLOB               = 0x21, 
    	D16_UNORM          = 0x30, 
    	D24_UNORM          = 0x31, 
    	D24_UNORM_S8_UINT  = 0x32, 
    	D32_FLOAT          = 0x33, 
    	D32_FLOAT_S8_UINT  = 0x34, 
    	S8_UINT            = 0x35, 
    	Y8Cb8Cr8_420       = 0x23, 
    	YCbCr_P010         = 0x36, 
    	YCbCr_P210         = 0x3c, 
    	R8_UNORM           = 0x38, 
    	R16_UINT           = 0x39, 
    	R16G16_UINT        = 0x3a, 
    	R10G10B10A10_UNORM = 0x3b, 
    	R12_UINT           = 0x3d, 
    	R14_UINT           = 0x3e, 
    	R12G12_UINT        = 0x3f, 
    	R14G14_UINT        = 0x40, 
    	R12G12B12A12_UINT  = 0x41, 
    	R14G14B14A14_UINT  = 0x42, 
    	B10G10R10A2_UNORM  = 0x43, 
    	B10G10R10X2_UNORM  = 0x44, 
    }

    AHardwareBuffer_Plane ¶

    AHardwareBuffer_Plane :: struct {
    	data:        rawptr,
    	pixelStride: u32,
    	rowStride:   u32,
    }

    AHardwareBuffer_Planes ¶

    AHardwareBuffer_Planes :: struct {
    	planeCount: u32,
    	planes:     [4]AHardwareBuffer_Plane,
    }

    AHardwareBuffer_UsageFlags ¶

    AHardwareBuffer_UsageFlags :: distinct bit_field u64 {
    	cpu_read:            AHardwareBuffer_CpuUsage | 4,
    	cpu_write:           AHardwareBuffer_CpuUsage | 4,
    	gpu_sampled_image:   bool | 1,
    	gpu_framebuffer:     bool | 1,
    	_:                   u8 | 1,
    	composer_overlay:    bool | 1,
    	_:                   u8 | 2,
    	protected_content:   bool | 1,
    	_:                   u8 | 1,
    	video_encode:        bool | 1,
    	_:                   u8 | 6,
    	sensor_direct_data:  bool | 1,
    	gpu_data_buffer:     bool | 1,
    	gpu_cube_map:        bool | 1,
    	gpu_mipmap_complete: bool | 1,
    	_:                   u8 | 1,
    	vendor_0_3:          u8 | 4,
    	front_buffer:        bool | 1,
    	_:                   u16 | 15,
    	vendor_4_19:         u16 | 16,
    }

    Related Procedures With Parameters

    Related Constants

    AHdrMetadataType ¶

    AHdrMetadataType :: enum u32 {
    	HDR10_SMPTE2086 = 1, 
    	HDR10_CTA861_3  = 2, 
    	HDR10PLUS_SEI   = 3, 
    }

    AHdrMetadata_cta861_3 ¶

    AHdrMetadata_cta861_3 :: struct {
    	maxContentLightLevel:      f32,
    	maxFrameAverageLightLevel: f32,
    }

    AHdrMetadata_smpte2086 ¶

    AHdrMetadata_smpte2086 :: struct {
    	displayPrimaryRed:   AColor_xy,
    	displayPrimaryGreen: AColor_xy,
    	displayPrimaryBlue:  AColor_xy,
    	whitePoint:          AColor_xy,
    	maxLuminance:        f32,
    	minLuminance:        f32,
    }

    AHeadTrackerEvent ¶

    AHeadTrackerEvent :: struct {
    	rx:                  f32,
    	ry:                  f32,
    	rz:                  f32,
    	vx:                  f32,
    	vy:                  f32,
    	vz:                  f32,
    	discontinuity_count: i32,
    }

    AHeadingEvent ¶

    AHeadingEvent :: struct {
    	heading:  f32,
    	accuracy: f32,
    }

    AHeartRateEvent ¶

    AHeartRateEvent :: struct {
    	bpm:    f32,
    	status: i8,
    }

    AInputEvent ¶

    AInputEvent :: struct {}

    Related Procedures With Parameters

    Related Procedures With Returns

    AInputEventType ¶

    AInputEventType :: enum i32 {
    	KEY        = 1, 
    	MOTION     = 2, 
    	FOCUS      = 3, 
    	CAPTURE    = 4, 
    	DRAG       = 5, 
    	TOUCH_MODE = 6, 
    }

    AInputReceiver_onKeyEvent ¶

    AInputReceiver_onKeyEvent :: proc "c" (context_: rawptr, keyEvent: ^AInputEvent) -> bool

    AInputReceiver_onMotionEvent ¶

    AInputReceiver_onMotionEvent :: proc "c" (context_: rawptr, motionEvent: ^AInputEvent) -> bool

    AInputSource ¶

    AInputSource :: enum u32 {
    	CLASS_BUTTON     = 0, 
    	CLASS_POINTER    = 1, 
    	CLASS_NAVIGATION = 2, 
    	CLASS_POSITION   = 3, 
    	CLASS_JOYSTICK   = 4, 
    	KEYBOARD         = 8, 
    	DPAD             = 9, 
    	GAMEPAD          = 10, 
    	TOUCHSCREEN      = 12, 
    	MOUSE            = 13, 
    	STYLUS           = 14, 
    	BLUETOOTH_STYLUS = 15, 
    	TRACKBALL        = 16, 
    	MOUSE_RELATIVE   = 17, 
    	TOUCHPAD         = 20, 
    	TOUCH_NAVIGATION = 21, 
    	ROTARY_ENCODER   = 22, 
    	JOYSTICK         = 24, 
    	HDMI             = 25, 
    	SENSOR           = 26, 
    }

    AKeyCode ¶

    AKeyCode :: enum i32 {
    	UNKNOWN                       = 0, 
    	SOFT_LEFT                     = 1, 
    	SOFT_RIGHT                    = 2, 
    	HOME                          = 3, 
    	BACK                          = 4, 
    	CALL                          = 5, 
    	ENDCALL                       = 6, 
    	NUM0                          = 7, 
    	NUM1                          = 8, 
    	NUM2                          = 9, 
    	NUM3                          = 10, 
    	NUM4                          = 11, 
    	NUM5                          = 12, 
    	NUM6                          = 13, 
    	NUM7                          = 14, 
    	NUM8                          = 15, 
    	NUM9                          = 16, 
    	STAR                          = 17, 
    	POUND                         = 18, 
    	DPAD_UP                       = 19, 
    	DPAD_DOWN                     = 20, 
    	DPAD_LEFT                     = 21, 
    	DPAD_RIGHT                    = 22, 
    	DPAD_CENTER                   = 23, 
    	VOLUME_UP                     = 24, 
    	VOLUME_DOWN                   = 25, 
    	POWER                         = 26, 
    	CAMERA                        = 27, 
    	CLEAR                         = 28, 
    	A                             = 29, 
    	B                             = 30, 
    	C                             = 31, 
    	D                             = 32, 
    	E                             = 33, 
    	F                             = 34, 
    	G                             = 35, 
    	H                             = 36, 
    	I                             = 37, 
    	J                             = 38, 
    	K                             = 39, 
    	L                             = 40, 
    	M                             = 41, 
    	N                             = 42, 
    	O                             = 43, 
    	P                             = 44, 
    	Q                             = 45, 
    	R                             = 46, 
    	S                             = 47, 
    	T                             = 48, 
    	U                             = 49, 
    	V                             = 50, 
    	W                             = 51, 
    	X                             = 52, 
    	Y                             = 53, 
    	Z                             = 54, 
    	COMMA                         = 55, 
    	PERIOD                        = 56, 
    	ALT_LEFT                      = 57, 
    	ALT_RIGHT                     = 58, 
    	SHIFT_LEFT                    = 59, 
    	SHIFT_RIGHT                   = 60, 
    	TAB                           = 61, 
    	SPACE                         = 62, 
    	SYM                           = 63, 
    	EXPLORER                      = 64, 
    	ENVELOPE                      = 65, 
    	ENTER                         = 66, 
    	DEL                           = 67, 
    	GRAVE                         = 68, 
    	MINUS                         = 69, 
    	EQUALS                        = 70, 
    	LEFT_BRACKET                  = 71, 
    	RIGHT_BRACKET                 = 72, 
    	BACKSLASH                     = 73, 
    	SEMICOLON                     = 74, 
    	APOSTROPHE                    = 75, 
    	SLASH                         = 76, 
    	AT                            = 77, 
    	NUM                           = 78, 
    	HEADSETHOOK                   = 79, 
    	FOCUS                         = 80, 
    	PLUS                          = 81, 
    	MENU                          = 82, 
    	NOTIFICATION                  = 83, 
    	SEARCH                        = 84, 
    	MEDIA_PLAY_PAUSE              = 85, 
    	MEDIA_STOP                    = 86, 
    	MEDIA_NEXT                    = 87, 
    	MEDIA_PREVIOUS                = 88, 
    	MEDIA_REWIND                  = 89, 
    	MEDIA_FAST_FORWARD            = 90, 
    	MUTE                          = 91, 
    	PAGE_UP                       = 92, 
    	PAGE_DOWN                     = 93, 
    	PICTSYMBOLS                   = 94, 
    	SWITCH_CHARSET                = 95, 
    	BUTTON_A                      = 96, 
    	BUTTON_B                      = 97, 
    	BUTTON_C                      = 98, 
    	BUTTON_X                      = 99, 
    	BUTTON_Y                      = 100, 
    	BUTTON_Z                      = 101, 
    	BUTTON_L1                     = 102, 
    	BUTTON_R1                     = 103, 
    	BUTTON_L2                     = 104, 
    	BUTTON_R2                     = 105, 
    	BUTTON_THUMBL                 = 106, 
    	BUTTON_THUMBR                 = 107, 
    	BUTTON_START                  = 108, 
    	BUTTON_SELECT                 = 109, 
    	BUTTON_MODE                   = 110, 
    	ESCAPE                        = 111, 
    	FORWARD_DEL                   = 112, 
    	CTRL_LEFT                     = 113, 
    	CTRL_RIGHT                    = 114, 
    	CAPS_LOCK                     = 115, 
    	SCROLL_LOCK                   = 116, 
    	META_LEFT                     = 117, 
    	META_RIGHT                    = 118, 
    	FUNCTION                      = 119, 
    	SYSRQ                         = 120, 
    	BREAK                         = 121, 
    	MOVE_HOME                     = 122, 
    	MOVE_END                      = 123, 
    	INSERT                        = 124, 
    	FORWARD                       = 125, 
    	MEDIA_PLAY                    = 126, 
    	MEDIA_PAUSE                   = 127, 
    	MEDIA_CLOSE                   = 128, 
    	MEDIA_EJECT                   = 129, 
    	MEDIA_RECORD                  = 130, 
    	F1                            = 131, 
    	F2                            = 132, 
    	F3                            = 133, 
    	F4                            = 134, 
    	F5                            = 135, 
    	F6                            = 136, 
    	F7                            = 137, 
    	F8                            = 138, 
    	F9                            = 139, 
    	F10                           = 140, 
    	F11                           = 141, 
    	F12                           = 142, 
    	NUM_LOCK                      = 143, 
    	NUMPAD_0                      = 144, 
    	NUMPAD_1                      = 145, 
    	NUMPAD_2                      = 146, 
    	NUMPAD_3                      = 147, 
    	NUMPAD_4                      = 148, 
    	NUMPAD_5                      = 149, 
    	NUMPAD_6                      = 150, 
    	NUMPAD_7                      = 151, 
    	NUMPAD_8                      = 152, 
    	NUMPAD_9                      = 153, 
    	NUMPAD_DIVIDE                 = 154, 
    	NUMPAD_MULTIPLY               = 155, 
    	NUMPAD_SUBTRACT               = 156, 
    	NUMPAD_ADD                    = 157, 
    	NUMPAD_DOT                    = 158, 
    	NUMPAD_COMMA                  = 159, 
    	NUMPAD_ENTER                  = 160, 
    	NUMPAD_EQUALS                 = 161, 
    	NUMPAD_LEFT_PAREN             = 162, 
    	NUMPAD_RIGHT_PAREN            = 163, 
    	VOLUME_MUTE                   = 164, 
    	INFO                          = 165, 
    	CHANNEL_UP                    = 166, 
    	CHANNEL_DOWN                  = 167, 
    	ZOOM_IN                       = 168, 
    	ZOOM_OUT                      = 169, 
    	TV                            = 170, 
    	WINDOW                        = 171, 
    	GUIDE                         = 172, 
    	DVR                           = 173, 
    	BOOKMARK                      = 174, 
    	CAPTIONS                      = 175, 
    	SETTINGS                      = 176, 
    	TV_POWER                      = 177, 
    	TV_INPUT                      = 178, 
    	STB_POWER                     = 179, 
    	STB_INPUT                     = 180, 
    	AVR_POWER                     = 181, 
    	AVR_INPUT                     = 182, 
    	PROG_RED                      = 183, 
    	PROG_GREEN                    = 184, 
    	PROG_YELLOW                   = 185, 
    	PROG_BLUE                     = 186, 
    	APP_SWITCH                    = 187, 
    	BUTTON_1                      = 188, 
    	BUTTON_2                      = 189, 
    	BUTTON_3                      = 190, 
    	BUTTON_4                      = 191, 
    	BUTTON_5                      = 192, 
    	BUTTON_6                      = 193, 
    	BUTTON_7                      = 194, 
    	BUTTON_8                      = 195, 
    	BUTTON_9                      = 196, 
    	BUTTON_10                     = 197, 
    	BUTTON_11                     = 198, 
    	BUTTON_12                     = 199, 
    	BUTTON_13                     = 200, 
    	BUTTON_14                     = 201, 
    	BUTTON_15                     = 202, 
    	BUTTON_16                     = 203, 
    	LANGUAGE_SWITCH               = 204, 
    	MANNER_MODE                   = 205, 
    	_3D_MODE                      = 206, 
    	CONTACTS                      = 207, 
    	CALENDAR                      = 208, 
    	MUSIC                         = 209, 
    	CALCULATOR                    = 210, 
    	ZENKAKU_HANKAKU               = 211, 
    	EISU                          = 212, 
    	MUHENKAN                      = 213, 
    	HENKAN                        = 214, 
    	KATAKANA_HIRAGANA             = 215, 
    	YEN                           = 216, 
    	RO                            = 217, 
    	KANA                          = 218, 
    	ASSIST                        = 219, 
    	BRIGHTNESS_DOWN               = 220, 
    	BRIGHTNESS_UP                 = 221, 
    	MEDIA_AUDIO_TRACK             = 222, 
    	SLEEP                         = 223, 
    	WAKEUP                        = 224, 
    	PAIRING                       = 225, 
    	MEDIA_TOP_MENU                = 226, 
    	NUM11                         = 227, 
    	NUM12                         = 228, 
    	LAST_CHANNEL                  = 229, 
    	TV_DATA_SERVICE               = 230, 
    	VOICE_ASSIST                  = 231, 
    	TV_RADIO_SERVICE              = 232, 
    	TV_TELETEXT                   = 233, 
    	TV_NUMBER_ENTRY               = 234, 
    	TV_TERRESTRIAL_ANALOG         = 235, 
    	TV_TERRESTRIAL_DIGITAL        = 236, 
    	TV_SATELLITE                  = 237, 
    	TV_SATELLITE_BS               = 238, 
    	TV_SATELLITE_CS               = 239, 
    	TV_SATELLITE_SERVICE          = 240, 
    	TV_NETWORK                    = 241, 
    	TV_ANTENNA_CABLE              = 242, 
    	TV_INPUT_HDMI_1               = 243, 
    	TV_INPUT_HDMI_2               = 244, 
    	TV_INPUT_HDMI_3               = 245, 
    	TV_INPUT_HDMI_4               = 246, 
    	TV_INPUT_COMPOSITE_1          = 247, 
    	TV_INPUT_COMPOSITE_2          = 248, 
    	TV_INPUT_COMPONENT_1          = 249, 
    	TV_INPUT_COMPONENT_2          = 250, 
    	TV_INPUT_VGA_1                = 251, 
    	TV_AUDIO_DESCRIPTION          = 252, 
    	TV_AUDIO_DESCRIPTION_MIX_UP   = 253, 
    	TV_AUDIO_DESCRIPTION_MIX_DOWN = 254, 
    	TV_ZOOM_MODE                  = 255, 
    	TV_CONTENTS_MENU              = 256, 
    	TV_MEDIA_CONTEXT_MENU         = 257, 
    	TV_TIMER_PROGRAMMING          = 258, 
    	HELP                          = 259, 
    	NAVIGATE_PREVIOUS             = 260, 
    	NAVIGATE_NEXT                 = 261, 
    	NAVIGATE_IN                   = 262, 
    	NAVIGATE_OUT                  = 263, 
    	STEM_PRIMARY                  = 264, 
    	STEM_1                        = 265, 
    	STEM_2                        = 266, 
    	STEM_3                        = 267, 
    	DPAD_UP_LEFT                  = 268, 
    	DPAD_DOWN_LEFT                = 269, 
    	DPAD_UP_RIGHT                 = 270, 
    	DPAD_DOWN_RIGHT               = 271, 
    	MEDIA_SKIP_FORWARD            = 272, 
    	MEDIA_SKIP_BACKWARD           = 273, 
    	MEDIA_STEP_FORWARD            = 274, 
    	MEDIA_STEP_BACKWARD           = 275, 
    	SOFT_SLEEP                    = 276, 
    	CUT                           = 277, 
    	COPY                          = 278, 
    	PASTE                         = 279, 
    	SYSTEM_NAVIGATION_UP          = 280, 
    	SYSTEM_NAVIGATION_DOWN        = 281, 
    	SYSTEM_NAVIGATION_LEFT        = 282, 
    	SYSTEM_NAVIGATION_RIGHT       = 283, 
    	ALL_APPS                      = 284, 
    	REFRESH                       = 285, 
    	THUMBS_UP                     = 286, 
    	THUMBS_DOWN                   = 287, 
    	PROFILE_SWITCH                = 288, 
    	VIDEO_APP_1                   = 289, 
    	VIDEO_APP_2                   = 290, 
    	VIDEO_APP_3                   = 291, 
    	VIDEO_APP_4                   = 292, 
    	VIDEO_APP_5                   = 293, 
    	VIDEO_APP_6                   = 294, 
    	VIDEO_APP_7                   = 295, 
    	VIDEO_APP_8                   = 296, 
    	FEATURED_APP_1                = 297, 
    	FEATURED_APP_2                = 298, 
    	FEATURED_APP_3                = 299, 
    	FEATURED_APP_4                = 300, 
    	DEMO_APP_1                    = 301, 
    	DEMO_APP_2                    = 302, 
    	DEMO_APP_3                    = 303, 
    	DEMO_APP_4                    = 304, 
    	KEYBOARD_BACKLIGHT_DOWN       = 305, 
    	KEYBOARD_BACKLIGHT_UP         = 306, 
    	KEYBOARD_BACKLIGHT_TOGGLE     = 307, 
    	STYLUS_BUTTON_PRIMARY         = 308, 
    	STYLUS_BUTTON_SECONDARY       = 309, 
    	STYLUS_BUTTON_TERTIARY        = 310, 
    	STYLUS_BUTTON_TAIL            = 311, 
    	RECENT_APPS                   = 312, 
    	MACRO_1                       = 313, 
    	MACRO_2                       = 314, 
    	MACRO_3                       = 315, 
    	MACRO_4                       = 316, 
    	EMOJI_PICKER                  = 317, 
    	SCREENSHOT                    = 318, 
    	DICTATE                       = 319, 
    	NEW                           = 320, 
    	CLOSE                         = 321, 
    	DO_NOT_DISTURB                = 322, 
    	PRINT                         = 323, 
    	LOCK                          = 324, 
    	FULLSCREEN                    = 325, 
    	F13                           = 326, 
    	F14                           = 327, 
    	F15                           = 328, 
    	F16                           = 329, 
    	F17                           = 330, 
    	F18                           = 331, 
    	F19                           = 332, 
    	F20                           = 333, 
    	F21                           = 334, 
    	F22                           = 335, 
    	F23                           = 336, 
    	F24                           = 337, 
    	ACCESSIBILITY                 = 338, 
    	CONTEXTUAL_SEARCH             = 339, 
    	CONTEXTUAL_INSERT             = 340, 
    }

    AKeyEventAction ¶

    AKeyEventAction :: enum i32 {
    	DOWN     = 0, 
    	UP       = 1, 
    	MULTIPLE = 2, 
    }

    AKeyEventFlag ¶

    AKeyEventFlag :: enum u32 {
    	WOKE_HERE           = 0, 
    	SOFT_KEYBOARD       = 1, 
    	KEEP_TOUCH_MODE     = 2, 
    	FROM_SYSTEM         = 3, 
    	EDITOR_ACTION       = 4, 
    	CANCELED            = 5, 
    	VIRTUAL_HARD_KEY    = 6, 
    	LONG_PRESS          = 7, 
    	CANCELED_LONG_PRESS = 8, 
    	TRACKING            = 9, 
    	FALLBACK            = 10, 
    }

    AKeyEventFlags ¶

    AKeyEventFlags :: distinct bit_set[AKeyEventFlag; u32]

    ALimitedAxesImuEvent ¶

    ALimitedAxesImuEvent :: struct {
    	using _: struct #raw_union {
    		calib: [3]f32,
    		using _: struct {
    			x: f32,
    			y: f32,
    			z: f32,
    		},
    	},
    	using _: struct #raw_union {
    		supported: [3]f32,
    		using _:   struct {
    			x_supported: f32,
    			y_supported: f32,
    			z_supported: f32,
    		},
    	},
    }

    ALimitedAxesImuUncalibratedEvent ¶

    ALimitedAxesImuUncalibratedEvent :: struct {
    	using _: struct #raw_union {
    		uncalib: [3]f32,
    		using _: struct {
    			x_uncalib: f32,
    			y_uncalib: f32,
    			z_uncalib: f32,
    		},
    	},
    	using _: struct #raw_union {
    		bias: [3]f32,
    		using _: struct {
    			x_bias: f32,
    			y_bias: f32,
    			z_bias: f32,
    		},
    	},
    	using _: struct #raw_union {
    		supported: [3]f32,
    		using _:   struct {
    			x_supported: f32,
    			y_supported: f32,
    			z_supported: f32,
    		},
    	},
    }

    ALooperEvent ¶

    ALooperEvent :: enum u32 {
    	INPUT   = 0, 
    	OUTPUT  = 1, 
    	ERROR   = 2, 
    	HANGUP  = 3, 
    	INVALID = 4, 
    }

    ALooperEvents ¶

    ALooperEvents :: distinct bit_set[ALooperEvent; u32]

    ALooperPrepareOption ¶

    ALooperPrepareOption :: enum u32 {
    	ALLOW_NON_CALLBACKS = 0, 
    }

    ALooperPrepareOptions ¶

    ALooperPrepareOptions :: distinct bit_set[ALooperPrepareOption; u32]

    ALooper_callbackFunc ¶

    ALooper_callbackFunc :: proc "c" (fd: i32, events: ALooperEvents, data: rawptr) -> i32

    Related Procedures With Parameters

    AMetaDataEvent ¶

    AMetaDataEvent :: struct {
    	what:   i32,
    	sensor: i32,
    }

    AMetaState ¶

    AMetaState :: distinct bit_set[AMetaStateFlag; u32]

    Related Procedures With Returns

    Related Constants

    AMetaStateFlag ¶

    AMetaStateFlag :: enum u32 {
    	ALT_ON         = 1, 
    	ALT_LEFT_ON    = 4, 
    	ALT_RIGHT_ON   = 5, 
    	SHIFT_ON       = 0, 
    	SHIFT_LEFT_ON  = 6, 
    	SHIFT_RIGHT_ON = 7, 
    	SYM_ON         = 2, 
    	FUNCTION_ON    = 3, 
    	CTRL_ON        = 12, 
    	CTRL_LEFT_ON   = 13, 
    	CTRL_RIGHT_ON  = 14, 
    	META_ON        = 16, 
    	META_LEFT_ON   = 17, 
    	META_RIGHT_ON  = 18, 
    	CAPS_LOCK_ON   = 20, 
    	NUM_LOCK_ON    = 21, 
    	SCROLL_LOCK_ON = 22, 
    }

    AMotionClassification ¶

    AMotionClassification :: enum u32 {
    	NONE               = 0, 
    	AMBIGUOUS_GESTURE  = 1, 
    	DEEP_PRESS         = 2, 
    	TWO_FINGER_SWIPE   = 3, 
    	MULTI_FINGER_SWIPE = 4, 
    	PINCH              = 5, 
    }

    AMotionEventAction ¶

    AMotionEventAction :: enum u32 {
    	DOWN           = 0, 
    	UP             = 1, 
    	MOVE           = 2, 
    	CANCEL         = 3, 
    	OUTSIDE        = 4, 
    	POINTER_DOWN   = 5, 
    	POINTER_UP     = 6, 
    	HOVER_MOVE     = 7, 
    	SCROLL         = 8, 
    	HOVER_ENTER    = 9, 
    	HOVER_EXIT     = 10, 
    	BUTTON_PRESS   = 11, 
    	BUTTON_RELEASE = 12, 
    }

    AMotionEventAxis ¶

    AMotionEventAxis :: enum i32 {
    	X                          = 0, 
    	Y                          = 1, 
    	PRESSURE                   = 2, 
    	SIZE                       = 3, 
    	TOUCH_MAJOR                = 4, 
    	TOUCH_MINOR                = 5, 
    	TOOL_MAJOR                 = 6, 
    	TOOL_MINOR                 = 7, 
    	ORIENTATION                = 8, 
    	VSCROLL                    = 9, 
    	HSCROLL                    = 10, 
    	Z                          = 11, 
    	RX                         = 12, 
    	RY                         = 13, 
    	RZ                         = 14, 
    	HAT_X                      = 15, 
    	HAT_Y                      = 16, 
    	LTRIGGER                   = 17, 
    	RTRIGGER                   = 18, 
    	THROTTLE                   = 19, 
    	RUDDER                     = 20, 
    	WHEEL                      = 21, 
    	GAS                        = 22, 
    	BRAKE                      = 23, 
    	DISTANCE                   = 24, 
    	TILT                       = 25, 
    	SCROLL                     = 26, 
    	RELATIVE_X                 = 27, 
    	RELATIVE_Y                 = 28, 
    	GENERIC_1                  = 32, 
    	GENERIC_2                  = 33, 
    	GENERIC_3                  = 34, 
    	GENERIC_4                  = 35, 
    	GENERIC_5                  = 36, 
    	GENERIC_6                  = 37, 
    	GENERIC_7                  = 38, 
    	GENERIC_8                  = 39, 
    	GENERIC_9                  = 40, 
    	GENERIC_10                 = 41, 
    	GENERIC_11                 = 42, 
    	GENERIC_12                 = 43, 
    	GENERIC_13                 = 44, 
    	GENERIC_14                 = 45, 
    	GENERIC_15                 = 46, 
    	GENERIC_16                 = 47, 
    	GESTURE_X_OFFSET           = 48, 
    	GESTURE_Y_OFFSET           = 49, 
    	GESTURE_SCROLL_X_DISTANCE  = 50, 
    	GESTURE_SCROLL_Y_DISTANCE  = 51, 
    	GESTURE_PINCH_SCALE_FACTOR = 52, 
    	GESTURE_SWIPE_FINGER_COUNT = 53, 
    }

    Related Procedures With Parameters

    AMotionEventButton ¶

    AMotionEventButton :: enum u32 {
    	PRIMARY          = 0, 
    	SECONDARY        = 1, 
    	TERTIARY         = 2, 
    	BACK             = 3, 
    	FORWARD          = 4, 
    	STYLUS_PRIMARY   = 5, 
    	STYLUS_SECONDARY = 6, 
    }

    AMotionEventEdgeFlag ¶

    AMotionEventEdgeFlag :: enum u32 {
    	TOP    = 0, 
    	BOTTOM = 1, 
    	LEFT   = 2, 
    	RIGHT  = 3, 
    }

    AMotionEventEdgeFlags ¶

    AMotionEventEdgeFlags :: distinct bit_set[AMotionEventEdgeFlag; u32]

    Related Constants

    AMotionEventFlag ¶

    AMotionEventFlag :: enum u32 {
    	WINDOW_IS_OBSCURED = 0, 
    }

    AMotionEventFlags ¶

    AMotionEventFlags :: distinct bit_set[AMotionEventFlag; u32]

    AMotionEventPackedAction ¶

    AMotionEventPackedAction :: distinct bit_field i32 {
    	action:        AMotionEventAction | 8,
    	pointer_index: u8 | 8,
    	_:             u16 | 16,
    }

    Related Constants

    AMotionEventToolType ¶

    AMotionEventToolType :: enum i32 {
    	UNKNOWN = 0, 
    	FINGER  = 1, 
    	STYLUS  = 2, 
    	MOUSE   = 3, 
    	ERASER  = 4, 
    	PALM    = 5, 
    }

    ANativeActivity ¶

    ANativeActivity :: struct {
    	callbacks:        ^ANativeActivityCallbacks,
    	vm:               ^JavaVM,
    	env:              ^JNIEnv,
    	clazz:            rawptr,
    	internalDataPath: cstring,
    	externalDataPath: cstring,
    	sdkVersion:       i32,
    	instance:         rawptr,
    	assetManager:     ^AAssetManager,
    	obbPath:          cstring,
    }

    Related Procedures With Parameters

    ANativeActivityCallbacks ¶

    ANativeActivityCallbacks :: struct {
    	onStart:                    proc "c" (activity: ^ANativeActivity),
    	onResume:                   proc "c" (activity: ^ANativeActivity),
    	onSaveInstanceState:        proc "c" (activity: ^ANativeActivity, outSize: ^uint) -> rawptr,
    	onPause:                    proc "c" (activity: ^ANativeActivity),
    	onStop:                     proc "c" (activity: ^ANativeActivity),
    	onDestroy:                  proc "c" (activity: ^ANativeActivity),
    	onWindowFocusChanged:       proc "c" (activity: ^ANativeActivity, hasFocus: i32),
    	onNativeWindowCreated:      proc "c" (activity: ^ANativeActivity, window: ^ANativeWindow),
    	onNativeWindowResized:      proc "c" (activity: ^ANativeActivity, window: ^ANativeWindow),
    	onNativeWindowRedrawNeeded: proc "c" (activity: ^ANativeActivity, window: ^ANativeWindow),
    	onNativeWindowDestroyed:    proc "c" (activity: ^ANativeActivity, window: ^ANativeWindow),
    	onInputQueueCreated:        proc "c" (activity: ^ANativeActivity, queue: ^AInputQueue),
    	onInputQueueDestroyed:      proc "c" (activity: ^ANativeActivity, queue: ^AInputQueue),
    	onContentRectChanged:       proc "c" (activity: ^ANativeActivity, rect: ^ARect),
    	onConfigurationChanged:     proc "c" (activity: ^ANativeActivity),
    	onLowMemory:                proc "c" (activity: ^ANativeActivity),
    }

    ANativeActivityHideSoftInputFlag ¶

    ANativeActivityHideSoftInputFlag :: enum u32 {
    	IMPLICIT_ONLY = 0, 
    	NOT_ALWAYS    = 1, 
    }

    ANativeActivityHideSoftInputFlags ¶

    ANativeActivityHideSoftInputFlags :: distinct bit_set[ANativeActivityHideSoftInputFlag; u32]

    ANativeActivityShowSoftInputFlag ¶

    ANativeActivityShowSoftInputFlag :: enum u32 {
    	IMPLICIT = 0, 
    	FORCED   = 1, 
    }

    ANativeActivityShowSoftInputFlags ¶

    ANativeActivityShowSoftInputFlags :: distinct bit_set[ANativeActivityShowSoftInputFlag; u32]

    ANativeActivity_createFunc ¶

    ANativeActivity_createFunc :: proc "c" (activity: ^ANativeActivity, savedState: rawptr, savedStateSize: uint)

    Matching Procedures (1)

    ANativeWindowTransform ¶

    ANativeWindowTransform :: enum i32 {
    	IDENTITY          = 0x00, 
    	MIRROR_HORIZONTAL = 0x01, 
    	MIRROR_VERTICAL   = 0x02, 
    	ROTATE_90         = 0x04, 
    	ROTATE_180        = 0x3, 
    	ROTATE_270        = 0x7, 
    }

    Related Procedures With Parameters

    ANativeWindow_Buffer ¶

    ANativeWindow_Buffer :: struct {
    	width:    i32,
    	height:   i32,
    	stride:   i32,
    	format:   AHardwareBuffer_Format,
    	bits:     rawptr,
    	reserved: [6]u32,
    }

    ANativeWindow_ChangeFrameRateStrategy ¶

    ANativeWindow_ChangeFrameRateStrategy :: enum i8 {
    	ONLY_IF_SEAMLESS = 0, 
    	ALWAYS           = 1, 
    }

    Related Procedures With Parameters

    ANativeWindow_LegacyFormat ¶

    ANativeWindow_LegacyFormat :: enum i32 {
    	RGBA_8888 = 1, 
    	RGBX_8888 = 2, 
    	RGB_565   = 4, 
    }

    ANpuBuffer_Priority ¶

    ANpuBuffer_Priority :: enum i32 {
    	MIN     = 0, 
    	DEFAULT = 500, 
    	MAX     = 1000, 
    }

    Related Procedures With Parameters

    ANpuBuffer_Type ¶

    ANpuBuffer_Type :: enum i8 {
    	UNKNOWN          = 0, 
    	MODEL_EXECUTABLE = 1, 
    	MODEL_WEIGHTS    = 2, 
    	CACHE            = 3, 
    	AUXILIARY        = 4, 
    }

    ANpuManager_AllocCallback ¶

    ANpuManager_AllocCallback :: proc "c" (cookie: rawptr, errorNum: i32, buf: ^ANpuBuffer)

    ANpuManager_CookieDeleter ¶

    ANpuManager_CookieDeleter :: proc "c" (cookie: rawptr)

    ANpuManager_LoadCallback ¶

    ANpuManager_LoadCallback :: proc "c" (cookie: rawptr, errorNum: i32, buf: ^ANpuBuffer)

    ANpuManager_PreemptCallback ¶

    ANpuManager_PreemptCallback :: proc "c" (cookie: rawptr)

    AObbInfo ¶

    AObbInfo :: struct {}

    Related Procedures With Parameters

    AObbState ¶

    AObbState :: enum i32 {
    	MOUNTED                 = 1, 
    	UNMOUNTED               = 2, 
    	ERROR_INTERNAL          = 20, 
    	ERROR_COULD_NOT_MOUNT   = 21, 
    	ERROR_COULD_NOT_UNMOUNT = 22, 
    	ERROR_NOT_MOUNTED       = 23, 
    	ERROR_ALREADY_MOUNTED   = 24, 
    	ERROR_PERMISSION_DENIED = 25, 
    }

    APerformanceHintFeature ¶

    APerformanceHintFeature :: enum i32 {
    	SESSIONS          = 0, 
    	POWER_EFFICIENCY  = 1, 
    	SURFACE_BINDING   = 2, 
    	GRAPHICS_PIPELINE = 3, 
    	AUTO_CPU          = 4, 
    	AUTO_GPU          = 5, 
    }

    APermissionManagerPermission ¶

    APermissionManagerPermission :: enum i32 {
    	GRANTED = 0, 
    	DENIED  = -1, 
    }

    APermissionManagerStatus ¶

    APermissionManagerStatus :: enum i32 {
    	OK                  = 0, 
    	ERROR_UNKNOWN       = -1, 
    	SERVICE_UNAVAILABLE = -2, 
    }

    AReportingMode ¶

    AReportingMode :: enum i32 {
    	INVALID         = -1, 
    	CONTINUOUS      = 0, 
    	ON_CHANGE       = 1, 
    	ONE_SHOT        = 2, 
    	SPECIAL_TRIGGER = 3, 
    }

    ASensorAdditionalInfoType ¶

    ASensorAdditionalInfoType :: enum i32 {
    	BEGIN                = 0, 
    	END                  = 1, 
    	UNTRACKED_DELAY      = 0x10000, 
    	INTERNAL_TEMPERATURE = 65537, 
    	VEC3_CALIBRATION     = 65538, 
    	SENSOR_PLACEMENT     = 65539, 
    	SAMPLING             = 65540, 
    }

    ASensorDirectChannelType ¶

    ASensorDirectChannelType :: enum i32 {
    	SHARED_MEMORY   = 1, 
    	HARDWARE_BUFFER = 2, 
    }

    ASensorDirectRate ¶

    ASensorDirectRate :: enum i32 {
    	STOP      = 0, 
    	NORMAL    = 1, 
    	FAST      = 2, 
    	VERY_FAST = 3, 
    }

    ASensorEvent ¶

    ASensorEvent :: struct {
    	version:   i32,
    	sensor:    i32,
    	type:      ASensorType,
    	reserved0: i32,
    	timestamp: i64,
    	using _:   struct #raw_union {
    		using _: struct #raw_union {
    			data:                          [16]f32,
    			vector:                        ASensorVector,
    			acceleration:                  ASensorVector,
    			gyro:                          ASensorVector,
    			magnetic:                      ASensorVector,
    			temperature:                   f32,
    			distance:                      f32,
    			light:                         f32,
    			pressure:                      f32,
    			relative_humidity:             f32,
    			uncalibrated_acceleration:     AUncalibratedEvent,
    			uncalibrated_gyro:             AUncalibratedEvent,
    			uncalibrated_magnetic:         AUncalibratedEvent,
    			meta_data:                     AMetaDataEvent,
    			heart_rate:                    AHeartRateEvent,
    			dynamic_sensor_meta:           ADynamicSensorEvent,
    			additional_info:               AAdditionalInfoEvent,
    			head_tracker:                  AHeadTrackerEvent,
    			limited_axes_imu:              ALimitedAxesImuEvent,
    			limited_axes_imu_uncalibrated: ALimitedAxesImuUncalibratedEvent,
    			heading:                       AHeadingEvent,
    		},
    		u64: struct #raw_union {
    			data:         [8]u64,
    			step_counter: u64,
    		},
    	},
    	flags:     u32,
    	reserved1: [3]i32,
    }

    ASensorStatus ¶

    ASensorStatus :: enum i8 {
    	NO_CONTACT      = -1, 
    	UNRELIABLE      = 0, 
    	ACCURACY_LOW    = 1, 
    	ACCURACY_MEDIUM = 2, 
    	ACCURACY_HIGH   = 3, 
    }

    ASensorType ¶

    ASensorType :: enum i32 {
    	INVALID                                 = -1, 
    	ACCELEROMETER                           = 1, 
    	MAGNETIC_FIELD                          = 2, 
    	GYROSCOPE                               = 4, 
    	LIGHT                                   = 5, 
    	PRESSURE                                = 6, 
    	PROXIMITY                               = 8, 
    	GRAVITY                                 = 9, 
    	LINEAR_ACCELERATION                     = 10, 
    	ROTATION_VECTOR                         = 11, 
    	RELATIVE_HUMIDITY                       = 12, 
    	AMBIENT_TEMPERATURE                     = 13, 
    	MAGNETIC_FIELD_UNCALIBRATED             = 14, 
    	GAME_ROTATION_VECTOR                    = 15, 
    	GYROSCOPE_UNCALIBRATED                  = 16, 
    	SIGNIFICANT_MOTION                      = 17, 
    	STEP_DETECTOR                           = 18, 
    	STEP_COUNTER                            = 19, 
    	GEOMAGNETIC_ROTATION_VECTOR             = 20, 
    	HEART_RATE                              = 21, 
    	POSE_6DOF                               = 28, 
    	STATIONARY_DETECT                       = 29, 
    	MOTION_DETECT                           = 30, 
    	HEART_BEAT                              = 31, 
    	DYNAMIC_SENSOR_META                     = 32, 
    	ADDITIONAL_INFO                         = 33, 
    	LOW_LATENCY_OFFBODY_DETECT              = 34, 
    	ACCELEROMETER_UNCALIBRATED              = 35, 
    	HINGE_ANGLE                             = 36, 
    	HEAD_TRACKER                            = 37, 
    	ACCELEROMETER_LIMITED_AXES              = 38, 
    	GYROSCOPE_LIMITED_AXES                  = 39, 
    	ACCELEROMETER_LIMITED_AXES_UNCALIBRATED = 40, 
    	GYROSCOPE_LIMITED_AXES_UNCALIBRATED     = 41, 
    	HEADING                                 = 42, 
    	MOISTURE_INTRUSION                      = 43, 
    }

    Related Procedures With Parameters

    ASensorVector ¶

    ASensorVector :: struct {
    	using _:  struct #raw_union {
    		v: [3]f32,
    		using _: struct {
    			x: f32,
    			y: f32,
    			z: f32,
    		},
    		using _: struct {
    			azimuth: f32,
    			pitch:   f32,
    			roll:    f32,
    		},
    	},
    	status:   ASensorStatus,
    	reserved: [3]u8,
    }

    AStorageManager_obbCallbackFunc ¶

    AStorageManager_obbCallbackFunc :: proc "c" (filename: cstring, state: AObbState, data: rawptr)

    Related Procedures With Parameters

    ASurfaceTransactionTransparency ¶

    ASurfaceTransactionTransparency :: enum i8 {
    	TRANSPARENT = 0, 
    	TRANSLUCENT = 1, 
    	OPAQUE      = 2, 
    }

    ASurfaceTransactionVisibility ¶

    ASurfaceTransactionVisibility :: enum i8 {
    	HIDE = 0, 
    	SHOW = 1, 
    }

    ASurfaceTransaction_OnBufferRelease ¶

    ASurfaceTransaction_OnBufferRelease :: proc "c" (context_: rawptr, release_fence_fd: i32)

    ASurfaceTransaction_OnCommit ¶

    ASurfaceTransaction_OnCommit :: proc "c" (context_: rawptr, stats: ^ASurfaceTransactionStats)

    ASurfaceTransaction_OnComplete ¶

    ASurfaceTransaction_OnComplete :: proc "c" (context_: rawptr, stats: ^ASurfaceTransactionStats)

    ASystemFontIterator ¶

    ASystemFontIterator :: struct {}

    Related Procedures With Parameters

    AThermalHeadroomThreshold ¶

    AThermalHeadroomThreshold :: struct {
    	headroom:      f32,
    	thermalStatus: AThermalStatus,
    }

    AThermalStatus ¶

    AThermalStatus :: enum i32 {
    	ERROR     = -1, 
    	NONE      = 0, 
    	LIGHT     = 1, 
    	MODERATE  = 2, 
    	SEVERE    = 3, 
    	CRITICAL  = 4, 
    	EMERGENCY = 5, 
    	SHUTDOWN  = 6, 
    }

    AThermal_HeadroomCallback ¶

    AThermal_HeadroomCallback :: proc "c" (data: rawptr, headroom: f32, forecastHeadroom: f32, forecastSeconds: i32, thresholds: ^AThermalHeadroomThreshold, thresholdsCount: uint)

    Related Procedures With Parameters

    AUncalibratedEvent ¶

    AUncalibratedEvent :: struct {
    	using _: struct #raw_union {
    		uncalib: [3]f32,
    		using _: struct {
    			x_uncalib: f32,
    			y_uncalib: f32,
    			z_uncalib: f32,
    		},
    	},
    	using _: struct #raw_union {
    		bias: [3]f32,
    		using _: struct {
    			x_bias: f32,
    			y_bias: f32,
    			z_bias: f32,
    		},
    	},
    }

    AVsyncId ¶

    AVsyncId :: i64

    Related Procedures With Parameters

    Related Procedures With Returns

    AWindowFlag ¶

    AWindowFlag :: enum u32 {
    	ALLOW_LOCK_WHILE_SCREEN_ON = 0, 
    	DIM_BEHIND                 = 1, 
    	BLUR_BEHIND                = 2, 
    	NOT_FOCUSABLE              = 3, 
    	NOT_TOUCHABLE              = 4, 
    	NOT_TOUCH_MODAL            = 5, 
    	TOUCHABLE_WHEN_WAKING      = 6, 
    	KEEP_SCREEN_ON             = 7, 
    	LAYOUT_IN_SCREEN           = 8, 
    	LAYOUT_NO_LIMITS           = 9, 
    	FULLSCREEN                 = 10, 
    	FORCE_NOT_FULLSCREEN       = 11, 
    	DITHER                     = 12, 
    	SECURE                     = 13, 
    	SCALED                     = 14, 
    	IGNORE_CHEEK_PRESSES       = 15, 
    	LAYOUT_INSET_DECOR         = 16, 
    	ALT_FOCUSABLE_IM           = 17, 
    	WATCH_OUTSIDE_TOUCH        = 18, 
    	SHOW_WHEN_LOCKED           = 19, 
    	SHOW_WALLPAPER             = 20, 
    	TURN_SCREEN_ON             = 21, 
    	DISMISS_KEYGUARD           = 22, 
    }

    AWindowFlags ¶

    AWindowFlags :: distinct bit_set[AWindowFlag; u32]

    AndroidDlextFlag ¶

    AndroidDlextFlag :: enum u64 {
    	RESERVED_ADDRESS           = 0, 
    	RESERVED_ADDRESS_HINT      = 1, 
    	WRITE_RELRO                = 2, 
    	USE_RELRO                  = 3, 
    	USE_LIBRARY_FD             = 4, 
    	USE_LIBRARY_FD_OFFSET      = 5, 
    	FORCE_LOAD                 = 6, 
    	USE_NAMESPACE              = 9, 
    	RESERVED_ADDRESS_RECURSIVE = 10, 
    }

    AndroidDlextFlags ¶

    AndroidDlextFlags :: distinct bit_set[AndroidDlextFlag; u64]

    Related Constants

    JNIEnv ¶

    JNIEnv :: struct {
    	using functions: ^JNINativeInterface,
    }

    Related Procedures With Parameters

    Fields Through using (233)

    From using functions: ^JNINativeInterface

    JNIInvokeInterface ¶

    JNIInvokeInterface :: struct {
    	reserved0:                   rawptr,
    	reserved1:                   rawptr,
    	reserved2:                   rawptr,
    	DestroyJavaVM:               proc "c" (^JavaVM) -> i32,
    	AttachCurrentThread:         proc "c" (^JavaVM, ^^JNIEnv, rawptr) -> i32,
    	DetachCurrentThread:         proc "c" (^JavaVM) -> i32,
    	GetEnv:                      proc "c" (^JavaVM, ^rawptr, i32) -> i32,
    	AttachCurrentThreadAsDaemon: proc "c" (^JavaVM, ^^JNIEnv, rawptr) -> i32,
    }

    JNINativeInterface ¶

    JNINativeInterface :: struct {
    	reserved0:                     rawptr,
    	reserved1:                     rawptr,
    	reserved2:                     rawptr,
    	reserved3:                     rawptr,
    	GetVersion:                    proc "c" (^JNIEnv) -> i32,
    	DefineClass:                   proc "c" (^JNIEnv, cstring, rawptr, ^i8, i32) -> rawptr,
    	FindClass:                     proc "c" (^JNIEnv, cstring) -> rawptr,
    	FromReflectedMethod:           proc "c" (^JNIEnv, rawptr) -> ^_jmethodID,
    	FromReflectedField:            proc "c" (^JNIEnv, rawptr) -> ^_jfieldID,
    	ToReflectedMethod:             proc "c" (^JNIEnv, rawptr, ^_jmethodID, u8) -> rawptr,
    	GetSuperclass:                 proc "c" (^JNIEnv, rawptr) -> rawptr,
    	IsAssignableFrom:              proc "c" (^JNIEnv, rawptr, rawptr) -> u8,
    	ToReflectedField:              proc "c" (^JNIEnv, rawptr, ^_jfieldID, u8) -> rawptr,
    	Throw:                         proc "c" (^JNIEnv, rawptr) -> i32,
    	ThrowNew:                      proc "c" (^JNIEnv, rawptr, cstring) -> i32,
    	ExceptionOccurred:             proc "c" (^JNIEnv) -> rawptr,
    	ExceptionDescribe:             proc "c" (^JNIEnv),
    	ExceptionClear:                proc "c" (^JNIEnv),
    	FatalError:                    proc "c" (^JNIEnv, cstring),
    	PushLocalFrame:                proc "c" (^JNIEnv, i32) -> i32,
    	PopLocalFrame:                 proc "c" (^JNIEnv, rawptr) -> rawptr,
    	NewGlobalRef:                  proc "c" (^JNIEnv, rawptr) -> rawptr,
    	DeleteGlobalRef:               proc "c" (^JNIEnv, rawptr),
    	DeleteLocalRef:                proc "c" (^JNIEnv, rawptr),
    	IsSameObject:                  proc "c" (^JNIEnv, rawptr, rawptr) -> u8,
    	NewLocalRef:                   proc "c" (^JNIEnv, rawptr) -> rawptr,
    	EnsureLocalCapacity:           proc "c" (^JNIEnv, i32) -> i32,
    	AllocObject:                   proc "c" (^JNIEnv, rawptr) -> rawptr,
    	NewObject:                     proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> rawptr,
    	NewObjectV:                    proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> rawptr,
    	NewObjectA:                    proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> rawptr,
    	GetObjectClass:                proc "c" (^JNIEnv, rawptr) -> rawptr,
    	IsInstanceOf:                  proc "c" (^JNIEnv, rawptr, rawptr) -> u8,
    	GetMethodID:                   proc "c" (^JNIEnv, rawptr, cstring, cstring) -> ^_jmethodID,
    	CallObjectMethod:              proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> rawptr,
    	CallObjectMethodV:             proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> rawptr,
    	CallObjectMethodA:             proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> rawptr,
    	CallBooleanMethod:             proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> u8,
    	CallBooleanMethodV:            proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> u8,
    	CallBooleanMethodA:            proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> u8,
    	CallByteMethod:                proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> i8,
    	CallByteMethodV:               proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> i8,
    	CallByteMethodA:               proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> i8,
    	CallCharMethod:                proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> u16,
    	CallCharMethodV:               proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> u16,
    	CallCharMethodA:               proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> u16,
    	CallShortMethod:               proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> i16,
    	CallShortMethodV:              proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> i16,
    	CallShortMethodA:              proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> i16,
    	CallIntMethod:                 proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> i32,
    	CallIntMethodV:                proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> i32,
    	CallIntMethodA:                proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> i32,
    	CallLongMethod:                proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> i64,
    	CallLongMethodV:               proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> i64,
    	CallLongMethodA:               proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> i64,
    	CallFloatMethod:               proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> f32,
    	CallFloatMethodV:              proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> f32,
    	CallFloatMethodA:              proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> f32,
    	CallDoubleMethod:              proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> f64,
    	CallDoubleMethodV:             proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> f64,
    	CallDoubleMethodA:             proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> f64,
    	CallVoidMethod:                proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any),
    	CallVoidMethodV:               proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list),
    	CallVoidMethodA:               proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue),
    	CallNonvirtualObjectMethod:    proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ..any) -> rawptr,
    	CallNonvirtualObjectMethodV:   proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> rawptr,
    	CallNonvirtualObjectMethodA:   proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^jvalue) -> rawptr,
    	CallNonvirtualBooleanMethod:   proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ..any) -> u8,
    	CallNonvirtualBooleanMethodV:  proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> u8,
    	CallNonvirtualBooleanMethodA:  proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^jvalue) -> u8,
    	CallNonvirtualByteMethod:      proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ..any) -> i8,
    	CallNonvirtualByteMethodV:     proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> i8,
    	CallNonvirtualByteMethodA:     proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^jvalue) -> i8,
    	CallNonvirtualCharMethod:      proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ..any) -> u16,
    	CallNonvirtualCharMethodV:     proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> u16,
    	CallNonvirtualCharMethodA:     proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^jvalue) -> u16,
    	CallNonvirtualShortMethod:     proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ..any) -> i16,
    	CallNonvirtualShortMethodV:    proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> i16,
    	CallNonvirtualShortMethodA:    proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^jvalue) -> i16,
    	CallNonvirtualIntMethod:       proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ..any) -> i32,
    	CallNonvirtualIntMethodV:      proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> i32,
    	CallNonvirtualIntMethodA:      proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^jvalue) -> i32,
    	CallNonvirtualLongMethod:      proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ..any) -> i64,
    	CallNonvirtualLongMethodV:     proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> i64,
    	CallNonvirtualLongMethodA:     proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^jvalue) -> i64,
    	CallNonvirtualFloatMethod:     proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ..any) -> f32,
    	CallNonvirtualFloatMethodV:    proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> f32,
    	CallNonvirtualFloatMethodA:    proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^jvalue) -> f32,
    	CallNonvirtualDoubleMethod:    proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ..any) -> f64,
    	CallNonvirtualDoubleMethodV:   proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> f64,
    	CallNonvirtualDoubleMethodA:   proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^jvalue) -> f64,
    	CallNonvirtualVoidMethod:      proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ..any),
    	CallNonvirtualVoidMethodV:     proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^intrinsics.c_va_list),
    	CallNonvirtualVoidMethodA:     proc "c" (^JNIEnv, rawptr, rawptr, ^_jmethodID, ^jvalue),
    	GetFieldID:                    proc "c" (^JNIEnv, rawptr, cstring, cstring) -> ^_jfieldID,
    	GetObjectField:                proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> rawptr,
    	GetBooleanField:               proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> u8,
    	GetByteField:                  proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> i8,
    	GetCharField:                  proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> u16,
    	GetShortField:                 proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> i16,
    	GetIntField:                   proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> i32,
    	GetLongField:                  proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> i64,
    	GetFloatField:                 proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> f32,
    	GetDoubleField:                proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> f64,
    	SetObjectField:                proc "c" (^JNIEnv, rawptr, ^_jfieldID, rawptr),
    	SetBooleanField:               proc "c" (^JNIEnv, rawptr, ^_jfieldID, u8),
    	SetByteField:                  proc "c" (^JNIEnv, rawptr, ^_jfieldID, i8),
    	SetCharField:                  proc "c" (^JNIEnv, rawptr, ^_jfieldID, u16),
    	SetShortField:                 proc "c" (^JNIEnv, rawptr, ^_jfieldID, i16),
    	SetIntField:                   proc "c" (^JNIEnv, rawptr, ^_jfieldID, i32),
    	SetLongField:                  proc "c" (^JNIEnv, rawptr, ^_jfieldID, i64),
    	SetFloatField:                 proc "c" (^JNIEnv, rawptr, ^_jfieldID, f32),
    	SetDoubleField:                proc "c" (^JNIEnv, rawptr, ^_jfieldID, f64),
    	GetStaticMethodID:             proc "c" (^JNIEnv, rawptr, cstring, cstring) -> ^_jmethodID,
    	CallStaticObjectMethod:        proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> rawptr,
    	CallStaticObjectMethodV:       proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> rawptr,
    	CallStaticObjectMethodA:       proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> rawptr,
    	CallStaticBooleanMethod:       proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> u8,
    	CallStaticBooleanMethodV:      proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> u8,
    	CallStaticBooleanMethodA:      proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> u8,
    	CallStaticByteMethod:          proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> i8,
    	CallStaticByteMethodV:         proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> i8,
    	CallStaticByteMethodA:         proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> i8,
    	CallStaticCharMethod:          proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> u16,
    	CallStaticCharMethodV:         proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> u16,
    	CallStaticCharMethodA:         proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> u16,
    	CallStaticShortMethod:         proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> i16,
    	CallStaticShortMethodV:        proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> i16,
    	CallStaticShortMethodA:        proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> i16,
    	CallStaticIntMethod:           proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> i32,
    	CallStaticIntMethodV:          proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> i32,
    	CallStaticIntMethodA:          proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> i32,
    	CallStaticLongMethod:          proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> i64,
    	CallStaticLongMethodV:         proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> i64,
    	CallStaticLongMethodA:         proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> i64,
    	CallStaticFloatMethod:         proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> f32,
    	CallStaticFloatMethodV:        proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> f32,
    	CallStaticFloatMethodA:        proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> f32,
    	CallStaticDoubleMethod:        proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any) -> f64,
    	CallStaticDoubleMethodV:       proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list) -> f64,
    	CallStaticDoubleMethodA:       proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue) -> f64,
    	CallStaticVoidMethod:          proc "c" (^JNIEnv, rawptr, ^_jmethodID, ..any),
    	CallStaticVoidMethodV:         proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^intrinsics.c_va_list),
    	CallStaticVoidMethodA:         proc "c" (^JNIEnv, rawptr, ^_jmethodID, ^jvalue),
    	GetStaticFieldID:              proc "c" (^JNIEnv, rawptr, cstring, cstring) -> ^_jfieldID,
    	GetStaticObjectField:          proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> rawptr,
    	GetStaticBooleanField:         proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> u8,
    	GetStaticByteField:            proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> i8,
    	GetStaticCharField:            proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> u16,
    	GetStaticShortField:           proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> i16,
    	GetStaticIntField:             proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> i32,
    	GetStaticLongField:            proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> i64,
    	GetStaticFloatField:           proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> f32,
    	GetStaticDoubleField:          proc "c" (^JNIEnv, rawptr, ^_jfieldID) -> f64,
    	SetStaticObjectField:          proc "c" (^JNIEnv, rawptr, ^_jfieldID, rawptr),
    	SetStaticBooleanField:         proc "c" (^JNIEnv, rawptr, ^_jfieldID, u8),
    	SetStaticByteField:            proc "c" (^JNIEnv, rawptr, ^_jfieldID, i8),
    	SetStaticCharField:            proc "c" (^JNIEnv, rawptr, ^_jfieldID, u16),
    	SetStaticShortField:           proc "c" (^JNIEnv, rawptr, ^_jfieldID, i16),
    	SetStaticIntField:             proc "c" (^JNIEnv, rawptr, ^_jfieldID, i32),
    	SetStaticLongField:            proc "c" (^JNIEnv, rawptr, ^_jfieldID, i64),
    	SetStaticFloatField:           proc "c" (^JNIEnv, rawptr, ^_jfieldID, f32),
    	SetStaticDoubleField:          proc "c" (^JNIEnv, rawptr, ^_jfieldID, f64),
    	NewString:                     proc "c" (^JNIEnv, ^u16, i32) -> rawptr,
    	GetStringLength:               proc "c" (^JNIEnv, rawptr) -> i32,
    	GetStringChars:                proc "c" (^JNIEnv, rawptr, ^u8) -> ^u16,
    	ReleaseStringChars:            proc "c" (^JNIEnv, rawptr, ^u16),
    	NewStringUTF:                  proc "c" (^JNIEnv, cstring) -> rawptr,
    	GetStringUTFLength:            proc "c" (^JNIEnv, rawptr) -> i32,
    	GetStringUTFChars:             proc "c" (^JNIEnv, rawptr, ^u8) -> cstring,
    	ReleaseStringUTFChars:         proc "c" (^JNIEnv, rawptr, cstring),
    	GetArrayLength:                proc "c" (^JNIEnv, rawptr) -> i32,
    	NewObjectArray:                proc "c" (^JNIEnv, i32, rawptr, rawptr) -> rawptr,
    	GetObjectArrayElement:         proc "c" (^JNIEnv, rawptr, i32) -> rawptr,
    	SetObjectArrayElement:         proc "c" (^JNIEnv, rawptr, i32, rawptr),
    	NewBooleanArray:               proc "c" (^JNIEnv, i32) -> rawptr,
    	NewByteArray:                  proc "c" (^JNIEnv, i32) -> rawptr,
    	NewCharArray:                  proc "c" (^JNIEnv, i32) -> rawptr,
    	NewShortArray:                 proc "c" (^JNIEnv, i32) -> rawptr,
    	NewIntArray:                   proc "c" (^JNIEnv, i32) -> rawptr,
    	NewLongArray:                  proc "c" (^JNIEnv, i32) -> rawptr,
    	NewFloatArray:                 proc "c" (^JNIEnv, i32) -> rawptr,
    	NewDoubleArray:                proc "c" (^JNIEnv, i32) -> rawptr,
    	GetBooleanArrayElements:       proc "c" (^JNIEnv, rawptr, ^u8) -> ^u8,
    	GetByteArrayElements:          proc "c" (^JNIEnv, rawptr, ^u8) -> ^i8,
    	GetCharArrayElements:          proc "c" (^JNIEnv, rawptr, ^u8) -> ^u16,
    	GetShortArrayElements:         proc "c" (^JNIEnv, rawptr, ^u8) -> ^i16,
    	GetIntArrayElements:           proc "c" (^JNIEnv, rawptr, ^u8) -> ^i32,
    	GetLongArrayElements:          proc "c" (^JNIEnv, rawptr, ^u8) -> ^i64,
    	GetFloatArrayElements:         proc "c" (^JNIEnv, rawptr, ^u8) -> ^f32,
    	GetDoubleArrayElements:        proc "c" (^JNIEnv, rawptr, ^u8) -> ^f64,
    	ReleaseBooleanArrayElements:   proc "c" (^JNIEnv, rawptr, ^u8, i32),
    	ReleaseByteArrayElements:      proc "c" (^JNIEnv, rawptr, ^i8, i32),
    	ReleaseCharArrayElements:      proc "c" (^JNIEnv, rawptr, ^u16, i32),
    	ReleaseShortArrayElements:     proc "c" (^JNIEnv, rawptr, ^i16, i32),
    	ReleaseIntArrayElements:       proc "c" (^JNIEnv, rawptr, ^i32, i32),
    	ReleaseLongArrayElements:      proc "c" (^JNIEnv, rawptr, ^i64, i32),
    	ReleaseFloatArrayElements:     proc "c" (^JNIEnv, rawptr, ^f32, i32),
    	ReleaseDoubleArrayElements:    proc "c" (^JNIEnv, rawptr, ^f64, i32),
    	GetBooleanArrayRegion:         proc "c" (^JNIEnv, rawptr, i32, i32, ^u8),
    	GetByteArrayRegion:            proc "c" (^JNIEnv, rawptr, i32, i32, ^i8),
    	GetCharArrayRegion:            proc "c" (^JNIEnv, rawptr, i32, i32, ^u16),
    	GetShortArrayRegion:           proc "c" (^JNIEnv, rawptr, i32, i32, ^i16),
    	GetIntArrayRegion:             proc "c" (^JNIEnv, rawptr, i32, i32, ^i32),
    	GetLongArrayRegion:            proc "c" (^JNIEnv, rawptr, i32, i32, ^i64),
    	GetFloatArrayRegion:           proc "c" (^JNIEnv, rawptr, i32, i32, ^f32),
    	GetDoubleArrayRegion:          proc "c" (^JNIEnv, rawptr, i32, i32, ^f64),
    	SetBooleanArrayRegion:         proc "c" (^JNIEnv, rawptr, i32, i32, ^u8),
    	SetByteArrayRegion:            proc "c" (^JNIEnv, rawptr, i32, i32, ^i8),
    	SetCharArrayRegion:            proc "c" (^JNIEnv, rawptr, i32, i32, ^u16),
    	SetShortArrayRegion:           proc "c" (^JNIEnv, rawptr, i32, i32, ^i16),
    	SetIntArrayRegion:             proc "c" (^JNIEnv, rawptr, i32, i32, ^i32),
    	SetLongArrayRegion:            proc "c" (^JNIEnv, rawptr, i32, i32, ^i64),
    	SetFloatArrayRegion:           proc "c" (^JNIEnv, rawptr, i32, i32, ^f32),
    	SetDoubleArrayRegion:          proc "c" (^JNIEnv, rawptr, i32, i32, ^f64),
    	RegisterNatives:               proc "c" (^JNIEnv, rawptr, ^JNINativeMethod, i32) -> i32,
    	UnregisterNatives:             proc "c" (^JNIEnv, rawptr) -> i32,
    	MonitorEnter:                  proc "c" (^JNIEnv, rawptr) -> i32,
    	MonitorExit:                   proc "c" (^JNIEnv, rawptr) -> i32,
    	GetJavaVM:                     proc "c" (^JNIEnv, ^^JavaVM) -> i32,
    	GetStringRegion:               proc "c" (^JNIEnv, rawptr, i32, i32, ^u16),
    	GetStringUTFRegion:            proc "c" (^JNIEnv, rawptr, i32, i32, [^]u8),
    	GetPrimitiveArrayCritical:     proc "c" (^JNIEnv, rawptr, ^u8) -> rawptr,
    	ReleasePrimitiveArrayCritical: proc "c" (^JNIEnv, rawptr, rawptr, i32),
    	GetStringCritical:             proc "c" (^JNIEnv, rawptr, ^u8) -> ^u16,
    	ReleaseStringCritical:         proc "c" (^JNIEnv, rawptr, ^u16),
    	NewWeakGlobalRef:              proc "c" (^JNIEnv, rawptr) -> rawptr,
    	DeleteWeakGlobalRef:           proc "c" (^JNIEnv, rawptr),
    	ExceptionCheck:                proc "c" (^JNIEnv) -> u8,
    	NewDirectByteBuffer:           proc "c" (^JNIEnv, rawptr, i64) -> rawptr,
    	GetDirectBufferAddress:        proc "c" (^JNIEnv, rawptr) -> rawptr,
    	GetDirectBufferCapacity:       proc "c" (^JNIEnv, rawptr) -> i64,
    	GetObjectRefType:              proc "c" (^JNIEnv, rawptr) -> jobjectRefType,
    }

    JNINativeMethod ¶

    JNINativeMethod :: struct {
    	name:      cstring,
    	signature: cstring,
    	fnPtr:     rawptr,
    }

    JavaVM ¶

    JavaVM :: struct {
    	using functions: ^JNIInvokeInterface,
    }

    Fields Through using (8)

    From using functions: ^JNIInvokeInterface

    JavaVMAttachArgs ¶

    JavaVMAttachArgs :: struct {
    	version: i32,
    	name:    cstring,
    	group:   rawptr,
    }

    JavaVMInitArgs ¶

    JavaVMInitArgs :: struct {
    	version:            i32,
    	nOptions:           i32,
    	options:            ^JavaVMOption,
    	ignoreUnrecognized: u8,
    }

    JavaVMOption ¶

    JavaVMOption :: struct {
    	optionString: cstring,
    	extraInfo:    rawptr,
    }

    NetworkBlockedReason ¶

    NetworkBlockedReason :: enum i32 {
    	NONE = 0, 
    	LNP  = 1, 
    }

    ResNsendFlag ¶

    ResNsendFlag :: enum u32 {
    	NO_RETRY        = 0, 
    	NO_CACHE_STORE  = 1, 
    	NO_CACHE_LOOKUP = 2, 
    }

    ResNsendFlags ¶

    ResNsendFlags :: distinct bit_set[ResNsendFlag; u32]

    Related Procedures With Parameters

    android_LogPriority ¶

    android_LogPriority :: enum i32 {
    	UNKNOWN = 0, 
    	DEFAULT = 1, 
    	VERBOSE = 2, 
    	DEBUG   = 3, 
    	INFO    = 4, 
    	WARN    = 5, 
    	ERROR   = 6, 
    	FATAL   = 7, 
    	SILENT  = 8, 
    }

    android_dlextinfo ¶

    android_dlextinfo :: struct {
    	flags:             AndroidDlextFlags,
    	reserved_addr:     rawptr,
    	reserved_size:     uint,
    	relro_fd:          i32,
    	library_fd:        i32,
    	library_fd_offset: i64,
    	library_namespace: ^android_namespace_t,
    }

    android_fdsan_error_level ¶

    android_fdsan_error_level :: enum i32 {
    	DISABLED    = 0, 
    	WARN_ONCE   = 1, 
    	WARN_ALWAYS = 2, 
    	FATAL       = 3, 
    }

    android_fdsan_owner_type ¶

    android_fdsan_owner_type :: enum i32 {
    	GENERIC_00           = 0, 
    	GENERIC_FF           = 255, 
    	FILE                 = 1, 
    	DIR                  = 2, 
    	UNIQUE_FD            = 3, 
    	SQLITE               = 4, 
    	FILEINPUTSTREAM      = 5, 
    	FILEOUTPUTSTREAM     = 6, 
    	RANDOMACCESSFILE     = 7, 
    	PARCELFILEDESCRIPTOR = 8, 
    	ART_FDFILE           = 9, 
    	DATAGRAMSOCKETIMPL   = 10, 
    	SOCKETIMPL           = 11, 
    	ZIPARCHIVE           = 12, 
    	NATIVE_HANDLE        = 13, 
    	PARCEL               = 14, 
    }

    android_namespace_t ¶

    android_namespace_t :: struct {}

    jarray ¶

    jarray :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jbooleanArray ¶

    jbooleanArray :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jbyteArray ¶

    jbyteArray :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jchar ¶

    jchar :: u16

    Related Procedures With Parameters

    jcharArray ¶

    jcharArray :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jclass ¶

    jclass :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jdoubleArray ¶

    jdoubleArray :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jfloatArray ¶

    jfloatArray :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jint ¶

    jint :: i32

    Related Procedures With Parameters

    Related Procedures With Returns

    jintArray ¶

    jintArray :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jlong ¶

    jlong :: i64

    Related Procedures With Parameters

    Related Procedures With Returns

    jlongArray ¶

    jlongArray :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jobject ¶

    jobject :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jobjectArray ¶

    jobjectArray :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jobjectRefType ¶

    jobjectRefType :: enum i32 {
    	JNIInvalidRefType    = 0, 
    	JNILocalRefType      = 1, 
    	JNIGlobalRefType     = 2, 
    	JNIWeakGlobalRefType = 3, 
    }

    jshortArray ¶

    jshortArray :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jsize ¶

    jsize :: i32

    Related Procedures With Parameters

    Related Procedures With Returns

    jstring ¶

    jstring :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jthrowable ¶

    jthrowable :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    jvalue ¶

    jvalue :: struct #raw_union {
    	z: u8,
    	b: i8,
    	c: u16,
    	s: i16,
    	i: i32,
    	j: i64,
    	f: f32,
    	d: f64,
    	l: rawptr,
    }

    jweak ¶

    jweak :: rawptr

    Related Procedures With Parameters

    Related Procedures With Returns

    log_id_t ¶

    log_id_t :: enum i32 {
    	MIN      = 0, 
    	MAIN     = 0, 
    	RADIO    = 1, 
    	EVENTS   = 2, 
    	SYSTEM   = 3, 
    	CRASH    = 4, 
    	STATS    = 5, 
    	SECURITY = 6, 
    	KERNEL   = 7, 
    	MAX      = 8, 
    	DEFAULT  = 0x7FFFFFFF, 
    }

    Constants

    ACONFIGURATION_SCREEN_HEIGHT_DP_ANY ¶

    ACONFIGURATION_SCREEN_HEIGHT_DP_ANY :: 0x0000

    ACONFIGURATION_SCREEN_WIDTH_DP_ANY ¶

    ACONFIGURATION_SCREEN_WIDTH_DP_ANY :: 0x0000

    ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY ¶

    ACONFIGURATION_SMALLEST_SCREEN_WIDTH_DP_ANY :: 0x0000

    ADATASPACE_ADOBE_RGB ¶

    ADATASPACE_ADOBE_RGB :: ADataSpace{standard = .ADOBE_RGB, transfer = .GAMMA2_2, range = .FULL}

    ADATASPACE_BT2020 ¶

    ADATASPACE_BT2020 :: ADataSpace{standard = .BT2020, transfer = .SMPTE_170M, range = .FULL}

    ADATASPACE_BT2020_HLG ¶

    ADATASPACE_BT2020_HLG :: ADataSpace{standard = .BT2020, transfer = .HLG, range = .FULL}

    ADATASPACE_BT2020_ITU_HLG ¶

    ADATASPACE_BT2020_ITU_HLG :: ADataSpace{standard = .BT2020, transfer = .HLG, range = .LIMITED}

    ADATASPACE_BT2020_ITU_PQ ¶

    ADATASPACE_BT2020_ITU_PQ :: ADataSpace{standard = .BT2020, transfer = .ST2084, range = .LIMITED}

    ADATASPACE_BT2020_PQ ¶

    ADATASPACE_BT2020_PQ :: ADataSpace{standard = .BT2020, transfer = .ST2084, range = .FULL}

    ADATASPACE_BT601_525 ¶

    ADATASPACE_BT601_525 :: ADataSpace{standard = .BT601_525, transfer = .SMPTE_170M, range = .LIMITED}

    ADATASPACE_BT601_625 ¶

    ADATASPACE_BT601_625 :: ADataSpace{standard = .BT601_625, transfer = .SMPTE_170M, range = .LIMITED}

    ADATASPACE_BT709 ¶

    ADATASPACE_BT709 :: ADataSpace{standard = .BT709, transfer = .SMPTE_170M, range = .LIMITED}

    ADATASPACE_DCI_P3 ¶

    ADATASPACE_DCI_P3 :: ADataSpace{standard = .DCI_P3, transfer = .GAMMA2_6, range = .FULL}

    ADATASPACE_DEPTH ¶

    ADATASPACE_DEPTH :: ADataSpace{other = 0x1000}

    ADATASPACE_DISPLAY_BT2020 ¶

    ADATASPACE_DISPLAY_BT2020 :: ADataSpace{standard = .BT2020, transfer = .SRGB, range = .FULL}

    ADATASPACE_DISPLAY_P3 ¶

    ADATASPACE_DISPLAY_P3 :: ADataSpace{standard = .DCI_P3, transfer = .SRGB, range = .FULL}

    ADATASPACE_DYNAMIC_DEPTH ¶

    ADATASPACE_DYNAMIC_DEPTH :: ADataSpace{other = 0x1002}

    ADATASPACE_JFIF ¶

    ADATASPACE_JFIF :: ADataSpace{standard = .BT601_625, transfer = .SMPTE_170M, range = .FULL}

    ADATASPACE_RANGE_EXTENDED ¶

    ADATASPACE_RANGE_EXTENDED :: ADataSpace{range = .EXTENDED}

    ADATASPACE_RANGE_FULL ¶

    ADATASPACE_RANGE_FULL :: ADataSpace{range = .FULL}

    ADATASPACE_RANGE_LIMITED ¶

    ADATASPACE_RANGE_LIMITED :: ADataSpace{range = .LIMITED}

    ADATASPACE_RANGE_MASK ¶

    ADATASPACE_RANGE_MASK :: ADataSpace{range = ADataSpaceRange(0x7)}

    ADATASPACE_RANGE_UNSPECIFIED ¶

    ADATASPACE_RANGE_UNSPECIFIED :: ADataSpace{}

    ADATASPACE_SCRGB ¶

    ADATASPACE_SCRGB :: ADataSpace{standard = .BT709, transfer = .SRGB, range = .EXTENDED}

    ADATASPACE_SCRGB_LINEAR ¶

    ADATASPACE_SCRGB_LINEAR :: ADataSpace{standard = .BT709, transfer = .LINEAR, range = .EXTENDED}

    ADATASPACE_SRGB ¶

    ADATASPACE_SRGB :: ADataSpace{standard = .BT709, transfer = .SRGB, range = .FULL}

    ADATASPACE_SRGB_LINEAR ¶

    ADATASPACE_SRGB_LINEAR :: ADataSpace{standard = .BT709, transfer = .LINEAR, range = .FULL}

    ADATASPACE_STANDARD_ADOBE_RGB ¶

    ADATASPACE_STANDARD_ADOBE_RGB :: ADataSpace{standard = .ADOBE_RGB}

    ADATASPACE_STANDARD_BT2020 ¶

    ADATASPACE_STANDARD_BT2020 :: ADataSpace{standard = .BT2020}

    ADATASPACE_STANDARD_BT2020_CONSTANT_LUMINANCE ¶

    ADATASPACE_STANDARD_BT2020_CONSTANT_LUMINANCE :: ADataSpace{standard = .BT2020_CONSTANT_LUMINANCE}

    ADATASPACE_STANDARD_BT470M ¶

    ADATASPACE_STANDARD_BT470M :: ADataSpace{standard = .BT470M}

    ADATASPACE_STANDARD_BT601_525 ¶

    ADATASPACE_STANDARD_BT601_525 :: ADataSpace{standard = .BT601_525}

    ADATASPACE_STANDARD_BT601_525_UNADJUSTED ¶

    ADATASPACE_STANDARD_BT601_525_UNADJUSTED :: ADataSpace{standard = .BT601_525_UNADJUSTED}

    ADATASPACE_STANDARD_BT601_625 ¶

    ADATASPACE_STANDARD_BT601_625 :: ADataSpace{standard = .BT601_625}

    ADATASPACE_STANDARD_BT601_625_UNADJUSTED ¶

    ADATASPACE_STANDARD_BT601_625_UNADJUSTED :: ADataSpace{standard = .BT601_625_UNADJUSTED}

    ADATASPACE_STANDARD_BT709 ¶

    ADATASPACE_STANDARD_BT709 :: ADataSpace{standard = .BT709}

    ADATASPACE_STANDARD_DCI_P3 ¶

    ADATASPACE_STANDARD_DCI_P3 :: ADataSpace{standard = .DCI_P3}

    ADATASPACE_STANDARD_FILM ¶

    ADATASPACE_STANDARD_FILM :: ADataSpace{standard = .FILM}

    ADATASPACE_STANDARD_MASK ¶

    ADATASPACE_STANDARD_MASK :: ADataSpace{standard = ADataSpaceStandard(0x3f)}

    ADATASPACE_STANDARD_UNSPECIFIED ¶

    ADATASPACE_STANDARD_UNSPECIFIED :: ADataSpace{}

    ADATASPACE_TRANSFER_GAMMA2_2 ¶

    ADATASPACE_TRANSFER_GAMMA2_2 :: ADataSpace{transfer = .GAMMA2_2}

    ADATASPACE_TRANSFER_GAMMA2_6 ¶

    ADATASPACE_TRANSFER_GAMMA2_6 :: ADataSpace{transfer = .GAMMA2_6}

    ADATASPACE_TRANSFER_GAMMA2_8 ¶

    ADATASPACE_TRANSFER_GAMMA2_8 :: ADataSpace{transfer = .GAMMA2_8}

    ADATASPACE_TRANSFER_HLG ¶

    ADATASPACE_TRANSFER_HLG :: ADataSpace{transfer = .HLG}

    ADATASPACE_TRANSFER_LINEAR ¶

    ADATASPACE_TRANSFER_LINEAR :: ADataSpace{transfer = .LINEAR}

    ADATASPACE_TRANSFER_MASK ¶

    ADATASPACE_TRANSFER_MASK :: ADataSpace{transfer = ADataSpaceTransfer(0x1f)}

    ADATASPACE_TRANSFER_SMPTE_170M ¶

    ADATASPACE_TRANSFER_SMPTE_170M :: ADataSpace{transfer = .SMPTE_170M}

    ADATASPACE_TRANSFER_SRGB ¶

    ADATASPACE_TRANSFER_SRGB :: ADataSpace{transfer = .SRGB}

    ADATASPACE_TRANSFER_ST2084 ¶

    ADATASPACE_TRANSFER_ST2084 :: ADataSpace{transfer = .ST2084}

    ADATASPACE_TRANSFER_UNSPECIFIED ¶

    ADATASPACE_TRANSFER_UNSPECIFIED :: ADataSpace{}

    ADATASPACE_UNKNOWN ¶

    ADATASPACE_UNKNOWN :: ADataSpace{}

    AFONT_WEIGHT_EXTRA_BOLD ¶

    AFONT_WEIGHT_EXTRA_BOLD :: 800

    AFONT_WEIGHT_EXTRA_LIGHT ¶

    AFONT_WEIGHT_EXTRA_LIGHT :: 200

    AFONT_WEIGHT_SEMI_BOLD ¶

    AFONT_WEIGHT_SEMI_BOLD :: 600

    AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY ¶

    AHARDWAREBUFFER_USAGE_COMPOSER_OVERLAY :: AHardwareBuffer_UsageFlags{composer_overlay = true}

    AHARDWAREBUFFER_USAGE_CPU_READ_MASK ¶

    AHARDWAREBUFFER_USAGE_CPU_READ_MASK :: AHardwareBuffer_UsageFlags{cpu_read = AHardwareBuffer_CpuUsage(0xf)}

    AHARDWAREBUFFER_USAGE_CPU_READ_NEVER ¶

    AHARDWAREBUFFER_USAGE_CPU_READ_NEVER :: AHardwareBuffer_UsageFlags{}

    AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN ¶

    AHARDWAREBUFFER_USAGE_CPU_READ_OFTEN :: AHardwareBuffer_UsageFlags{cpu_read = .OFTEN}

    AHARDWAREBUFFER_USAGE_CPU_READ_RARELY ¶

    AHARDWAREBUFFER_USAGE_CPU_READ_RARELY :: AHardwareBuffer_UsageFlags{cpu_read = .RARELY}

    AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK ¶

    AHARDWAREBUFFER_USAGE_CPU_WRITE_MASK :: AHardwareBuffer_UsageFlags{cpu_write = AHardwareBuffer_CpuUsage(0xf)}

    AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER ¶

    AHARDWAREBUFFER_USAGE_CPU_WRITE_NEVER :: AHardwareBuffer_UsageFlags{}

    AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN ¶

    AHARDWAREBUFFER_USAGE_CPU_WRITE_OFTEN :: AHardwareBuffer_UsageFlags{cpu_write = .OFTEN}

    AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY ¶

    AHARDWAREBUFFER_USAGE_CPU_WRITE_RARELY :: AHardwareBuffer_UsageFlags{cpu_write = .RARELY}

    AHARDWAREBUFFER_USAGE_FRONT_BUFFER ¶

    AHARDWAREBUFFER_USAGE_FRONT_BUFFER :: AHardwareBuffer_UsageFlags{front_buffer = true}

    AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT ¶

    AHARDWAREBUFFER_USAGE_GPU_COLOR_OUTPUT :: AHardwareBuffer_UsageFlags{gpu_framebuffer = true}

    AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP ¶

    AHARDWAREBUFFER_USAGE_GPU_CUBE_MAP :: AHardwareBuffer_UsageFlags{gpu_cube_map = true}

    AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER ¶

    AHARDWAREBUFFER_USAGE_GPU_DATA_BUFFER :: AHardwareBuffer_UsageFlags{gpu_data_buffer = true}

    AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER ¶

    AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER :: AHardwareBuffer_UsageFlags{gpu_framebuffer = true}

    AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE ¶

    AHARDWAREBUFFER_USAGE_GPU_MIPMAP_COMPLETE :: AHardwareBuffer_UsageFlags{gpu_mipmap_complete = true}

    AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE ¶

    AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE :: AHardwareBuffer_UsageFlags{gpu_sampled_image = true}

    AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT ¶

    AHARDWAREBUFFER_USAGE_PROTECTED_CONTENT :: AHardwareBuffer_UsageFlags{protected_content = true}

    AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA ¶

    AHARDWAREBUFFER_USAGE_SENSOR_DIRECT_DATA :: AHardwareBuffer_UsageFlags{sensor_direct_data = true}

    AHARDWAREBUFFER_USAGE_VENDOR_0 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_0 :: AHardwareBuffer_UsageFlags{vendor_0_3 = 0x1}

    AHARDWAREBUFFER_USAGE_VENDOR_1 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_1 :: AHardwareBuffer_UsageFlags{vendor_0_3 = 0x2}

    AHARDWAREBUFFER_USAGE_VENDOR_10 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_10 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x40}

    AHARDWAREBUFFER_USAGE_VENDOR_11 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_11 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x80}

    AHARDWAREBUFFER_USAGE_VENDOR_12 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_12 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x100}

    AHARDWAREBUFFER_USAGE_VENDOR_13 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_13 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x200}

    AHARDWAREBUFFER_USAGE_VENDOR_14 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_14 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x400}

    AHARDWAREBUFFER_USAGE_VENDOR_15 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_15 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x800}

    AHARDWAREBUFFER_USAGE_VENDOR_16 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_16 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x1000}

    AHARDWAREBUFFER_USAGE_VENDOR_17 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_17 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x2000}

    AHARDWAREBUFFER_USAGE_VENDOR_18 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_18 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x4000}

    AHARDWAREBUFFER_USAGE_VENDOR_19 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_19 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x8000}

    AHARDWAREBUFFER_USAGE_VENDOR_2 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_2 :: AHardwareBuffer_UsageFlags{vendor_0_3 = 0x4}

    AHARDWAREBUFFER_USAGE_VENDOR_3 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_3 :: AHardwareBuffer_UsageFlags{vendor_0_3 = 0x8}

    AHARDWAREBUFFER_USAGE_VENDOR_4 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_4 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x1}

    AHARDWAREBUFFER_USAGE_VENDOR_5 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_5 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x2}

    AHARDWAREBUFFER_USAGE_VENDOR_6 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_6 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x4}

    AHARDWAREBUFFER_USAGE_VENDOR_7 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_7 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x8}

    AHARDWAREBUFFER_USAGE_VENDOR_8 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_8 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x10}

    AHARDWAREBUFFER_USAGE_VENDOR_9 ¶

    AHARDWAREBUFFER_USAGE_VENDOR_9 :: AHardwareBuffer_UsageFlags{vendor_4_19 = 0x20}

    AHARDWAREBUFFER_USAGE_VIDEO_ENCODE ¶

    AHARDWAREBUFFER_USAGE_VIDEO_ENCODE :: AHardwareBuffer_UsageFlags{video_encode = true}

    AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC ¶

    AINPUT_KEYBOARD_TYPE_NON_ALPHABETIC :: 1

    AINPUT_SOURCE_ANY ¶

    AINPUT_SOURCE_ANY: AInputSources : transmute(AInputSources)u32(0xffffff00)

    AINPUT_SOURCE_BLUETOOTH_STYLUS ¶

    AINPUT_SOURCE_BLUETOOTH_STYLUS :: AInputSources{.CLASS_POINTER, .STYLUS, .BLUETOOTH_STYLUS}

    AINPUT_SOURCE_CLASS_BUTTON ¶

    AINPUT_SOURCE_CLASS_BUTTON :: AInputSources{.CLASS_BUTTON}

    AINPUT_SOURCE_CLASS_JOYSTICK ¶

    AINPUT_SOURCE_CLASS_JOYSTICK :: AInputSources{.CLASS_JOYSTICK}

    AINPUT_SOURCE_CLASS_MASK ¶

    AINPUT_SOURCE_CLASS_MASK: AInputSources : transmute(AInputSources)u32(0xff)

    AINPUT_SOURCE_CLASS_NAVIGATION ¶

    AINPUT_SOURCE_CLASS_NAVIGATION :: AInputSources{.CLASS_NAVIGATION}

    AINPUT_SOURCE_CLASS_NONE ¶

    AINPUT_SOURCE_CLASS_NONE :: AInputSources{}

    AINPUT_SOURCE_CLASS_POINTER ¶

    AINPUT_SOURCE_CLASS_POINTER :: AInputSources{.CLASS_POINTER}

    AINPUT_SOURCE_CLASS_POSITION ¶

    AINPUT_SOURCE_CLASS_POSITION :: AInputSources{.CLASS_POSITION}

    AINPUT_SOURCE_DPAD ¶

    AINPUT_SOURCE_DPAD :: AInputSources{.CLASS_BUTTON, .DPAD}

    AINPUT_SOURCE_GAMEPAD ¶

    AINPUT_SOURCE_GAMEPAD :: AInputSources{.CLASS_BUTTON, .GAMEPAD}

    AINPUT_SOURCE_HDMI ¶

    AINPUT_SOURCE_HDMI :: AInputSources{.CLASS_BUTTON, .HDMI}

    AINPUT_SOURCE_JOYSTICK ¶

    AINPUT_SOURCE_JOYSTICK :: AInputSources{.CLASS_JOYSTICK, .JOYSTICK}

    AINPUT_SOURCE_KEYBOARD ¶

    AINPUT_SOURCE_KEYBOARD :: AInputSources{.CLASS_BUTTON, .KEYBOARD}

    AINPUT_SOURCE_MOUSE ¶

    AINPUT_SOURCE_MOUSE :: AInputSources{.CLASS_POINTER, .MOUSE}

    AINPUT_SOURCE_MOUSE_RELATIVE ¶

    AINPUT_SOURCE_MOUSE_RELATIVE :: AInputSources{.CLASS_NAVIGATION, .MOUSE_RELATIVE}

    AINPUT_SOURCE_ROTARY_ENCODER ¶

    AINPUT_SOURCE_ROTARY_ENCODER :: AInputSources{.ROTARY_ENCODER}

    AINPUT_SOURCE_SENSOR ¶

    AINPUT_SOURCE_SENSOR :: AInputSources{.SENSOR}

    AINPUT_SOURCE_STYLUS ¶

    AINPUT_SOURCE_STYLUS :: AInputSources{.CLASS_POINTER, .STYLUS}

    AINPUT_SOURCE_TOUCHPAD ¶

    AINPUT_SOURCE_TOUCHPAD :: AInputSources{.CLASS_POSITION, .TOUCHPAD}

    AINPUT_SOURCE_TOUCHSCREEN ¶

    AINPUT_SOURCE_TOUCHSCREEN :: AInputSources{.CLASS_POINTER, .TOUCHSCREEN}

    AINPUT_SOURCE_TOUCH_NAVIGATION ¶

    AINPUT_SOURCE_TOUCH_NAVIGATION :: AInputSources{.TOUCH_NAVIGATION}

    AINPUT_SOURCE_TRACKBALL ¶

    AINPUT_SOURCE_TRACKBALL :: AInputSources{.CLASS_NAVIGATION, .TRACKBALL}

    AINPUT_SOURCE_UNKNOWN ¶

    AINPUT_SOURCE_UNKNOWN :: AInputSources{}

    AMETA_NONE ¶

    AMETA_NONE :: AMetaState{}

    AMOTION_EVENT_ACTION_MASK ¶

    AMOTION_EVENT_ACTION_MASK :: AMotionEventPackedAction{action = AMotionEventAction(0xff)}

    AMOTION_EVENT_ACTION_POINTER_INDEX_MASK ¶

    AMOTION_EVENT_ACTION_POINTER_INDEX_MASK :: AMotionEventPackedAction{pointer_index = 0xff}

    AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT ¶

    AMOTION_EVENT_ACTION_POINTER_INDEX_SHIFT :: 8

    AMOTION_EVENT_EDGE_FLAG_NONE ¶

    AMOTION_EVENT_EDGE_FLAG_NONE :: AMotionEventEdgeFlags{}

    AMOTION_EVENT_MAXIMUM_VALID_AXIS_VALUE ¶

    AMOTION_EVENT_MAXIMUM_VALID_AXIS_VALUE :: 53

    ANDROID_DLEXT_VALID_FLAG_BITS ¶

    ANDROID_DLEXT_VALID_FLAG_BITS :: AndroidDlextFlags{.RESERVED_ADDRESS, .RESERVED_ADDRESS_HINT, .WRITE_RELRO, .USE_RELRO, .USE_LIBRARY_FD, .USE_LIBRARY_FD_OFFSET, .FORCE_LOAD, .USE_NAMESPACE, .RESERVED_ADDRESS_RECURSIVE}

    ASENSOR_DELAY_INVALID ¶

    ASENSOR_DELAY_INVALID :: -2147483648

    ASENSOR_MAGNETIC_FIELD_EARTH_MAX ¶

    ASENSOR_MAGNETIC_FIELD_EARTH_MAX :: 60.0

    ASENSOR_MAGNETIC_FIELD_EARTH_MIN ¶

    ASENSOR_MAGNETIC_FIELD_EARTH_MIN :: 30.0

    ASENSOR_STANDARD_GRAVITY ¶

    ASENSOR_STANDARD_GRAVITY :: 9.80665

    JNI_VERSION_1_1 ¶

    JNI_VERSION_1_1 :: 0x00010001

    JNI_VERSION_1_2 ¶

    JNI_VERSION_1_2 :: 0x00010002

    JNI_VERSION_1_4 ¶

    JNI_VERSION_1_4 :: 0x00010004

    JNI_VERSION_1_6 ¶

    JNI_VERSION_1_6 :: 0x00010006

    PROP_DIRNAME ¶

    PROP_DIRNAME :: "/dev/__properties__"

    PROP_SERVICE_FOR_SYSTEM_NAME ¶

    PROP_SERVICE_FOR_SYSTEM_NAME :: "property_service_for_system"

    PROP_SERVICE_NAME ¶

    PROP_SERVICE_NAME :: "property_service"

    Variables

    This section is empty.

    Procedures

    AAssetDir_close ¶

    AAssetDir_close :: proc "c" (assetDir: ^AAssetDir) ---

    AAssetDir_getNextFileName ¶

    AAssetDir_getNextFileName :: proc "c" (assetDir: ^AAssetDir) -> cstring ---

    AAssetDir_rewind ¶

    AAssetDir_rewind :: proc "c" (assetDir: ^AAssetDir) ---

    AAssetManager_fromJava ¶

    AAssetManager_fromJava :: proc "c" (env: ^JNIEnv, assetManager: rawptr) -> ^AAssetManager ---

    AAssetManager_open ¶

    AAssetManager_open :: proc "c" (
    	mgr:      ^AAssetManager, 
    	filename: cstring, 
    	mode:     AAssetMode, 
    ) -> ^AAsset ---

    AAssetManager_openDir ¶

    AAssetManager_openDir :: proc "c" (mgr: ^AAssetManager, dirName: cstring) -> ^AAssetDir ---

    AAsset_close ¶

    AAsset_close :: proc "c" (asset: ^AAsset) ---

    AAsset_getBuffer ¶

    AAsset_getBuffer :: proc "c" (asset: ^AAsset) -> rawptr ---

    AAsset_getLength ¶

    AAsset_getLength :: proc "c" (asset: ^AAsset) -> i64 ---

    AAsset_getLength64 ¶

    AAsset_getLength64 :: proc "c" (asset: ^AAsset) -> i64 ---

    AAsset_getRemainingLength ¶

    AAsset_getRemainingLength :: proc "c" (asset: ^AAsset) -> i64 ---

    AAsset_getRemainingLength64 ¶

    AAsset_getRemainingLength64 :: proc "c" (asset: ^AAsset) -> i64 ---

    AAsset_isAllocated ¶

    AAsset_isAllocated :: proc "c" (asset: ^AAsset) -> i32 ---

    AAsset_openFileDescriptor ¶

    AAsset_openFileDescriptor :: proc "c" (asset: ^AAsset, outStart: ^i64, outLength: ^i64) -> i32 ---

    AAsset_openFileDescriptor64 ¶

    AAsset_openFileDescriptor64 :: proc "c" (
    	asset:     ^AAsset, 
    	outStart:  ^i64, 
    	outLength: ^i64, 
    ) -> i32 ---

    AAsset_read ¶

    AAsset_read :: proc "c" (asset: ^AAsset, buf: rawptr, count: uint) -> i32 ---

    AAsset_seek ¶

    AAsset_seek :: proc "c" (asset: ^AAsset, offset: i64, whence: i32) -> i64 ---

    AAsset_seek64 ¶

    AAsset_seek64 :: proc "c" (asset: ^AAsset, offset: i64, whence: i32) -> i64 ---

    AChoreographerFrameCallbackData_getFrameTimeNanos ¶

    AChoreographerFrameCallbackData_getFrameTimeNanos :: proc "c" (data: ^AChoreographerFrameCallbackData) -> i64 ---
     

    API level 33

    AChoreographerFrameCallbackData_getFrameTimelineDeadlineNanos ¶

    AChoreographerFrameCallbackData_getFrameTimelineDeadlineNanos :: proc "c" (
    	data:  ^AChoreographerFrameCallbackData, 
    	index: uint, 
    ) -> i64 ---
     

    API level 33

    AChoreographerFrameCallbackData_getFrameTimelineExpectedPresentationTimeNanos ¶

    AChoreographerFrameCallbackData_getFrameTimelineExpectedPresentationTimeNanos :: proc "c" (
    	data:  ^AChoreographerFrameCallbackData, 
    	index: uint, 
    ) -> i64 ---
     

    API level 33

    AChoreographerFrameCallbackData_getFrameTimelineVsyncId ¶

    AChoreographerFrameCallbackData_getFrameTimelineVsyncId :: proc "c" (
    	data:  ^AChoreographerFrameCallbackData, 
    	index: uint, 
    ) -> i64 ---
     

    API level 33

    AChoreographerFrameCallbackData_getFrameTimelinesLength ¶

    AChoreographerFrameCallbackData_getFrameTimelinesLength :: proc "c" (data: ^AChoreographerFrameCallbackData) -> uint ---
     

    API level 33

    AChoreographerFrameCallbackData_getPreferredFrameTimelineIndex ¶

    AChoreographerFrameCallbackData_getPreferredFrameTimelineIndex :: proc "c" (data: ^AChoreographerFrameCallbackData) -> uint ---
     

    API level 33

    AChoreographer_getInstance ¶

    AChoreographer_getInstance :: proc "c" () -> ^AChoreographer ---

    AChoreographer_postFrameCallback ¶

    AChoreographer_postFrameCallback :: proc "c" (
    	choreographer: ^AChoreographer, 
    	callback:      AChoreographer_frameCallback, 
    	data:          rawptr, 
    ) ---

    AChoreographer_postFrameCallback64 ¶

    AChoreographer_postFrameCallback64 :: proc "c" (
    	choreographer: ^AChoreographer, 
    	callback:      AChoreographer_frameCallback64, 
    	data:          rawptr, 
    ) ---

    AChoreographer_postFrameCallbackDelayed ¶

    AChoreographer_postFrameCallbackDelayed :: proc "c" (
    	choreographer: ^AChoreographer, 
    	callback:      AChoreographer_frameCallback, 
    	data:          rawptr, 
    	delayMillis:   i64, 
    ) ---

    AChoreographer_postFrameCallbackDelayed64 ¶

    AChoreographer_postFrameCallbackDelayed64 :: proc "c" (
    	choreographer: ^AChoreographer, 
    	callback:      AChoreographer_frameCallback64, 
    	data:          rawptr, 
    	delayMillis:   u32, 
    ) ---

    AChoreographer_postVsyncCallback ¶

    AChoreographer_postVsyncCallback :: proc "c" (
    	choreographer: ^AChoreographer, 
    	callback:      AChoreographer_vsyncCallback, 
    	data:          rawptr, 
    ) ---
     

    API level 33

    AChoreographer_registerRefreshRateCallback ¶

    AChoreographer_registerRefreshRateCallback :: proc "c" (
    	choreographer: ^AChoreographer, 
    	_1:            AChoreographer_refreshRateCallback, 
    	data:          rawptr, 
    ) ---
     

    API level 30

    AChoreographer_unregisterRefreshRateCallback ¶

    AChoreographer_unregisterRefreshRateCallback :: proc "c" (
    	choreographer: ^AChoreographer, 
    	_1:            AChoreographer_refreshRateCallback, 
    	data:          rawptr, 
    ) ---
     

    API level 30

    AConfiguration_copy ¶

    AConfiguration_copy :: proc "c" (dest: ^AConfiguration, src: ^AConfiguration) ---

    AConfiguration_delete ¶

    AConfiguration_delete :: proc "c" (config: ^AConfiguration) ---

    AConfiguration_diff ¶

    AConfiguration_diff :: proc "c" (
    	config1: ^AConfiguration, 
    	config2: ^AConfiguration, 
    ) -> AConfigurationChanges ---

    AConfiguration_fromAssetManager ¶

    AConfiguration_fromAssetManager :: proc "c" (out: ^AConfiguration, am: ^AAssetManager) ---

    AConfiguration_getCountry ¶

    AConfiguration_getCountry :: proc "c" (config: ^AConfiguration, outCountry: [^]u8) ---

    AConfiguration_getDensity ¶

    AConfiguration_getDensity :: proc "c" (config: ^AConfiguration) -> i32 ---

    AConfiguration_getGrammaticalGender ¶

    AConfiguration_getGrammaticalGender :: proc "c" (config: ^AConfiguration) -> AConfigurationGrammaticalGender ---
     

    API level 34

    AConfiguration_getLanguage ¶

    AConfiguration_getLanguage :: proc "c" (config: ^AConfiguration, outLanguage: [^]u8) ---

    AConfiguration_getMcc ¶

    AConfiguration_getMcc :: proc "c" (config: ^AConfiguration) -> i32 ---

    AConfiguration_getMnc ¶

    AConfiguration_getMnc :: proc "c" (config: ^AConfiguration) -> i32 ---

    AConfiguration_getScreenHeightDp ¶

    AConfiguration_getScreenHeightDp :: proc "c" (config: ^AConfiguration) -> i32 ---

    AConfiguration_getScreenRound ¶

    AConfiguration_getScreenRound :: proc "c" (config: ^AConfiguration) -> AConfigurationScreenRound ---
     

    API level 30

    AConfiguration_getScreenWidthDp ¶

    AConfiguration_getScreenWidthDp :: proc "c" (config: ^AConfiguration) -> i32 ---

    AConfiguration_getSdkVersion ¶

    AConfiguration_getSdkVersion :: proc "c" (config: ^AConfiguration) -> i32 ---

    AConfiguration_getSmallestScreenWidthDp ¶

    AConfiguration_getSmallestScreenWidthDp :: proc "c" (config: ^AConfiguration) -> i32 ---

    AConfiguration_isBetterThan ¶

    AConfiguration_isBetterThan :: proc "c" (
    	base:      ^AConfiguration, 
    	test:      ^AConfiguration, 
    	requested: ^AConfiguration, 
    ) -> i32 ---

    AConfiguration_match ¶

    AConfiguration_match :: proc "c" (base: ^AConfiguration, requested: ^AConfiguration) -> i32 ---

    AConfiguration_setCountry ¶

    AConfiguration_setCountry :: proc "c" (config: ^AConfiguration, country: cstring) ---

    AConfiguration_setDensity ¶

    AConfiguration_setDensity :: proc "c" (config: ^AConfiguration, density: i32) ---

    AConfiguration_setGrammaticalGender ¶

    AConfiguration_setGrammaticalGender :: proc "c" (
    	config: ^AConfiguration, 
    	value:  AConfigurationGrammaticalGender, 
    ) ---
     

    API level 34

    AConfiguration_setKeyboard ¶

    AConfiguration_setKeyboard :: proc "c" (
    	config:   ^AConfiguration, 
    	keyboard: AConfigurationKeyboard, 
    ) ---

    AConfiguration_setKeysHidden ¶

    AConfiguration_setKeysHidden :: proc "c" (
    	config:     ^AConfiguration, 
    	keysHidden: AConfigurationKeysHidden, 
    ) ---

    AConfiguration_setLanguage ¶

    AConfiguration_setLanguage :: proc "c" (config: ^AConfiguration, language: cstring) ---

    AConfiguration_setLayoutDirection ¶

    AConfiguration_setLayoutDirection :: proc "c" (
    	config: ^AConfiguration, 
    	value:  AConfigurationLayoutDir, 
    ) ---

    AConfiguration_setMcc ¶

    AConfiguration_setMcc :: proc "c" (config: ^AConfiguration, mcc: i32) ---

    AConfiguration_setMnc ¶

    AConfiguration_setMnc :: proc "c" (config: ^AConfiguration, mnc: i32) ---

    AConfiguration_setNavHidden ¶

    AConfiguration_setNavHidden :: proc "c" (
    	config:    ^AConfiguration, 
    	navHidden: AConfigurationNavHidden, 
    ) ---

    AConfiguration_setNavigation ¶

    AConfiguration_setNavigation :: proc "c" (
    	config:     ^AConfiguration, 
    	navigation: AConfigurationNavigation, 
    ) ---

    AConfiguration_setOrientation ¶

    AConfiguration_setOrientation :: proc "c" (
    	config:      ^AConfiguration, 
    	orientation: AConfigurationOrientation, 
    ) ---

    AConfiguration_setScreenHeightDp ¶

    AConfiguration_setScreenHeightDp :: proc "c" (config: ^AConfiguration, value: i32) ---

    AConfiguration_setScreenLong ¶

    AConfiguration_setScreenLong :: proc "c" (
    	config:     ^AConfiguration, 
    	screenLong: AConfigurationScreenLong, 
    ) ---

    AConfiguration_setScreenSize ¶

    AConfiguration_setScreenSize :: proc "c" (
    	config:     ^AConfiguration, 
    	screenSize: AConfigurationScreenSize, 
    ) ---

    AConfiguration_setScreenWidthDp ¶

    AConfiguration_setScreenWidthDp :: proc "c" (config: ^AConfiguration, value: i32) ---

    AConfiguration_setSdkVersion ¶

    AConfiguration_setSdkVersion :: proc "c" (config: ^AConfiguration, sdkVersion: i32) ---

    AConfiguration_setSmallestScreenWidthDp ¶

    AConfiguration_setSmallestScreenWidthDp :: proc "c" (config: ^AConfiguration, value: i32) ---

    AConfiguration_setTouchscreen ¶

    AConfiguration_setTouchscreen :: proc "c" (
    	config:      ^AConfiguration, 
    	touchscreen: AConfigurationTouchscreen, 
    ) ---

    AConfiguration_setUiModeNight ¶

    AConfiguration_setUiModeNight :: proc "c" (
    	config:      ^AConfiguration, 
    	uiModeNight: AConfigurationUiModeNight, 
    ) ---

    AConfiguration_setUiModeType ¶

    AConfiguration_setUiModeType :: proc "c" (
    	config:     ^AConfiguration, 
    	uiModeType: AConfigurationUiModeType, 
    ) ---

    ACpuHeadroomParams_create ¶

    ACpuHeadroomParams_create :: proc "c" () -> ^ACpuHeadroomParams ---
     

    API level 36

    ACpuHeadroomParams_destroy ¶

    ACpuHeadroomParams_destroy :: proc "c" (params: ^ACpuHeadroomParams) ---
     

    API level 36

    ACpuHeadroomParams_getCalculationType ¶

    ACpuHeadroomParams_getCalculationType :: proc "c" (params: ^ACpuHeadroomParams) -> ACpuHeadroomCalculationType ---
     

    API level 36

    ACpuHeadroomParams_getCalculationWindowMillis ¶

    ACpuHeadroomParams_getCalculationWindowMillis :: proc "c" (params: ^ACpuHeadroomParams) -> i32 ---
     

    API level 36

    ACpuHeadroomParams_setCalculationType ¶

    ACpuHeadroomParams_setCalculationType :: proc "c" (
    	params:          ^ACpuHeadroomParams, 
    	calculationType: ACpuHeadroomCalculationType, 
    ) ---
     

    API level 36

    ACpuHeadroomParams_setCalculationWindowMillis ¶

    ACpuHeadroomParams_setCalculationWindowMillis :: proc "c" (
    	params:       ^ACpuHeadroomParams, 
    	windowMillis: i32, 
    ) ---
     

    API level 36

    ACpuHeadroomParams_setTids ¶

    ACpuHeadroomParams_setTids :: proc "c" (
    	params:   ^ACpuHeadroomParams, 
    	tids:     ^i32, 
    	tidsSize: uint, 
    ) ---
     

    API level 36

    ADisplayLutsEntry_createEntry ¶

    ADisplayLutsEntry_createEntry :: proc "c" (
    	buffer:    ^f32, 
    	length:    i32, 
    	dimension: ADisplayLuts_Dimension, 
    	key:       ADisplayLuts_SamplingKey, 
    ) -> ^ADisplayLutsEntry ---
     

    API level 36

    ADisplayLutsEntry_destroy ¶

    ADisplayLutsEntry_destroy :: proc "c" (entry: ^ADisplayLutsEntry) ---
     

    API level 36

    ADisplayLutsEntry_getBuffer ¶

    ADisplayLutsEntry_getBuffer :: proc "c" (entry: ^ADisplayLutsEntry) -> ^f32 ---
     

    API level 36

    ADisplayLutsEntry_getDimension ¶

    ADisplayLutsEntry_getDimension :: proc "c" (entry: ^ADisplayLutsEntry) -> ADisplayLuts_Dimension ---
     

    API level 36

    ADisplayLutsEntry_getSamplingKey ¶

    ADisplayLutsEntry_getSamplingKey :: proc "c" (entry: ^ADisplayLutsEntry) -> ADisplayLuts_SamplingKey ---
     

    API level 36

    ADisplayLutsEntry_getSize ¶

    ADisplayLutsEntry_getSize :: proc "c" (entry: ^ADisplayLutsEntry) -> i32 ---
     

    API level 36

    ADisplayLuts_create ¶

    ADisplayLuts_create :: proc "c" () -> ^ADisplayLuts ---
     

    API level 36

    ADisplayLuts_destroy ¶

    ADisplayLuts_destroy :: proc "c" (luts: ^ADisplayLuts) ---
     

    API level 36

    ADisplayLuts_setEntries ¶

    ADisplayLuts_setEntries :: proc "c" (
    	luts:       ^ADisplayLuts, 
    	entries:    ^^ADisplayLutsEntry, 
    	numEntries: i32, 
    ) ---
     

    API level 36

    AFileDescriptor_create ¶

    AFileDescriptor_create :: proc "c" (env: ^JNIEnv) -> rawptr ---
     

    API level 31

    AFileDescriptor_getFd ¶

    AFileDescriptor_getFd :: proc "c" (env: ^JNIEnv, fileDescriptor: rawptr) -> i32 ---
     

    API level 31

    AFileDescriptor_setFd ¶

    AFileDescriptor_setFd :: proc "c" (env: ^JNIEnv, fileDescriptor: rawptr, fd: i32) ---
     

    API level 31

    AFontMatcher_create ¶

    AFontMatcher_create :: proc "c" () -> ^AFontMatcher ---

    AFontMatcher_destroy ¶

    AFontMatcher_destroy :: proc "c" (matcher: ^AFontMatcher) ---

    AFontMatcher_match ¶

    AFontMatcher_match :: proc "c" (
    	matcher:      ^AFontMatcher, 
    	familyName:   cstring, 
    	text:         ^u16, 
    	textLength:   u32, 
    	runLengthOut: ^u32, 
    ) -> ^AFont ---

    AFontMatcher_setFamilyVariant ¶

    AFontMatcher_setFamilyVariant :: proc "c" (
    	matcher:       ^AFontMatcher, 
    	familyVariant: AFamilyVariant, 
    ) ---

    AFontMatcher_setLocales ¶

    AFontMatcher_setLocales :: proc "c" (matcher: ^AFontMatcher, languageTags: cstring) ---

    AFontMatcher_setStyle ¶

    AFontMatcher_setStyle :: proc "c" (matcher: ^AFontMatcher, weight: u16, italic: bool) ---

    AFont_close ¶

    AFont_close :: proc "c" (font: ^AFont) ---

    AFont_getAxisCount ¶

    AFont_getAxisCount :: proc "c" (font: ^AFont) -> uint ---

    AFont_getAxisTag ¶

    AFont_getAxisTag :: proc "c" (font: ^AFont, axisIndex: u32) -> u32 ---

    AFont_getAxisValue ¶

    AFont_getAxisValue :: proc "c" (font: ^AFont, axisIndex: u32) -> f32 ---

    AFont_getCollectionIndex ¶

    AFont_getCollectionIndex :: proc "c" (font: ^AFont) -> uint ---

    AFont_getFontFilePath ¶

    AFont_getFontFilePath :: proc "c" (font: ^AFont) -> cstring ---

    AFont_getLocale ¶

    AFont_getLocale :: proc "c" (font: ^AFont) -> cstring ---

    AFont_getWeight ¶

    AFont_getWeight :: proc "c" (font: ^AFont) -> u16 ---

    AFont_isItalic ¶

    AFont_isItalic :: proc "c" (font: ^AFont) -> bool ---

    AGpuHeadroomParams_create ¶

    AGpuHeadroomParams_create :: proc "c" () -> ^AGpuHeadroomParams ---
     

    API level 36

    AGpuHeadroomParams_destroy ¶

    AGpuHeadroomParams_destroy :: proc "c" (params: ^AGpuHeadroomParams) ---
     

    API level 36

    AGpuHeadroomParams_getCalculationType ¶

    AGpuHeadroomParams_getCalculationType :: proc "c" (params: ^AGpuHeadroomParams) -> AGpuHeadroomCalculationType ---
     

    API level 36

    AGpuHeadroomParams_getCalculationWindowMillis ¶

    AGpuHeadroomParams_getCalculationWindowMillis :: proc "c" (params: ^AGpuHeadroomParams) -> i32 ---
     

    API level 36

    AGpuHeadroomParams_setCalculationType ¶

    AGpuHeadroomParams_setCalculationType :: proc "c" (
    	params:          ^AGpuHeadroomParams, 
    	calculationType: AGpuHeadroomCalculationType, 
    ) ---
     

    API level 36

    AGpuHeadroomParams_setCalculationWindowMillis ¶

    AGpuHeadroomParams_setCalculationWindowMillis :: proc "c" (
    	params:       ^AGpuHeadroomParams, 
    	windowMillis: i32, 
    ) ---
     

    API level 36

    AHardwareBuffer_acquire ¶

    AHardwareBuffer_acquire :: proc "c" (buffer: ^AHardwareBuffer) ---

    AHardwareBuffer_allocate ¶

    AHardwareBuffer_allocate :: proc "c" (
    	desc:      ^AHardwareBuffer_Desc, 
    	outBuffer: ^^AHardwareBuffer, 
    ) -> i32 ---

    AHardwareBuffer_describe ¶

    AHardwareBuffer_describe :: proc "c" (
    	buffer:  ^AHardwareBuffer, 
    	outDesc: ^AHardwareBuffer_Desc, 
    ) ---

    AHardwareBuffer_fromHardwareBuffer ¶

    AHardwareBuffer_fromHardwareBuffer :: proc "c" (
    	env:               ^JNIEnv, 
    	hardwareBufferObj: rawptr, 
    ) -> ^AHardwareBuffer ---

    AHardwareBuffer_getId ¶

    AHardwareBuffer_getId :: proc "c" (buffer: ^AHardwareBuffer, outId: ^u64) -> i32 ---
     

    API level 31

    AHardwareBuffer_isSupported ¶

    AHardwareBuffer_isSupported :: proc "c" (desc: ^AHardwareBuffer_Desc) -> i32 ---

    AHardwareBuffer_lock ¶

    AHardwareBuffer_lock :: proc "c" (
    	buffer:            ^AHardwareBuffer, 
    	usage:             AHardwareBuffer_UsageFlags, 
    	fence:             i32, 
    	rect:              ^ARect, 
    	outVirtualAddress: ^rawptr, 
    ) -> i32 ---

    AHardwareBuffer_lockAndGetInfo ¶

    AHardwareBuffer_lockAndGetInfo :: proc "c" (
    	buffer:            ^AHardwareBuffer, 
    	usage:             AHardwareBuffer_UsageFlags, 
    	fence:             i32, 
    	rect:              ^ARect, 
    	outVirtualAddress: ^rawptr, 
    	outBytesPerPixel:  ^i32, 
    	outBytesPerStride: ^i32, 
    ) -> i32 ---

    AHardwareBuffer_lockPlanes ¶

    AHardwareBuffer_lockPlanes :: proc "c" (
    	buffer:    ^AHardwareBuffer, 
    	usage:     AHardwareBuffer_UsageFlags, 
    	fence:     i32, 
    	rect:      ^ARect, 
    	outPlanes: ^AHardwareBuffer_Planes, 
    ) -> i32 ---

    AHardwareBuffer_recvHandleFromUnixSocket ¶

    AHardwareBuffer_recvHandleFromUnixSocket :: proc "c" (
    	socketFd:  i32, 
    	outBuffer: ^^AHardwareBuffer, 
    ) -> i32 ---

    AHardwareBuffer_release ¶

    AHardwareBuffer_release :: proc "c" (buffer: ^AHardwareBuffer) ---

    AHardwareBuffer_sendHandleToUnixSocket ¶

    AHardwareBuffer_sendHandleToUnixSocket :: proc "c" (
    	buffer:   ^AHardwareBuffer, 
    	socketFd: i32, 
    ) -> i32 ---

    AHardwareBuffer_toHardwareBuffer ¶

    AHardwareBuffer_toHardwareBuffer :: proc "c" (
    	env:            ^JNIEnv, 
    	hardwareBuffer: ^AHardwareBuffer, 
    ) -> rawptr ---

    AHardwareBuffer_unlock ¶

    AHardwareBuffer_unlock :: proc "c" (buffer: ^AHardwareBuffer, fence: ^i32) -> i32 ---

    AInputEvent_getDeviceId ¶

    AInputEvent_getDeviceId :: proc "c" (event: ^AInputEvent) -> i32 ---

    AInputEvent_getSource ¶

    AInputEvent_getSource :: proc "c" (event: ^AInputEvent) -> AInputSources ---

    AInputEvent_getType ¶

    AInputEvent_getType :: proc "c" (event: ^AInputEvent) -> AInputEventType ---

    AInputEvent_release ¶

    AInputEvent_release :: proc "c" (event: ^AInputEvent) ---
     

    API level 31

    AInputEvent_toJava ¶

    AInputEvent_toJava :: proc "c" (env: ^JNIEnv, aInputEvent: ^AInputEvent) -> rawptr ---
     

    API level 35

    AInputQueue_attachLooper ¶

    AInputQueue_attachLooper :: proc "c" (
    	queue:    ^AInputQueue, 
    	looper:   ^ALooper, 
    	ident:    i32, 
    	callback: ALooper_callbackFunc, 
    	data:     rawptr, 
    ) ---

    AInputQueue_detachLooper ¶

    AInputQueue_detachLooper :: proc "c" (queue: ^AInputQueue) ---

    AInputQueue_finishEvent ¶

    AInputQueue_finishEvent :: proc "c" (queue: ^AInputQueue, event: ^AInputEvent, handled: i32) ---

    AInputQueue_fromJava ¶

    AInputQueue_fromJava :: proc "c" (env: ^JNIEnv, inputQueue: rawptr) -> ^AInputQueue ---
     

    API level 33

    AInputQueue_getEvent ¶

    AInputQueue_getEvent :: proc "c" (queue: ^AInputQueue, outEvent: ^^AInputEvent) -> i32 ---

    AInputQueue_hasEvents ¶

    AInputQueue_hasEvents :: proc "c" (queue: ^AInputQueue) -> i32 ---

    AInputQueue_preDispatchEvent ¶

    AInputQueue_preDispatchEvent :: proc "c" (queue: ^AInputQueue, event: ^AInputEvent) -> i32 ---

    AInputReceiverCallbacks_create ¶

    AInputReceiverCallbacks_create :: proc "c" (context_: rawptr) -> ^AInputReceiverCallbacks ---
     

    API level 35

    AInputReceiverCallbacks_release ¶

    AInputReceiverCallbacks_release :: proc "c" (callbacks: ^AInputReceiverCallbacks) ---
     

    API level 35

    AInputReceiverCallbacks_setKeyEventCallback ¶

    AInputReceiverCallbacks_setKeyEventCallback :: proc "c" (
    	callbacks:  ^AInputReceiverCallbacks, 
    	onKeyEvent: AInputReceiver_onKeyEvent, 
    ) ---
     

    API level 35

    AInputReceiverCallbacks_setMotionEventCallback ¶

    AInputReceiverCallbacks_setMotionEventCallback :: proc "c" (
    	callbacks:     ^AInputReceiverCallbacks, 
    	onMotionEvent: AInputReceiver_onMotionEvent, 
    ) ---
     

    API level 35

    AInputReceiver_createBatchedInputReceiver ¶

    AInputReceiver_createBatchedInputReceiver :: proc "c" (
    	aChoreographer:          ^AChoreographer, 
    	hostInputTransferToken:  ^AInputTransferToken, 
    	aSurfaceControl:         ^ASurfaceControl, 
    	aInputReceiverCallbacks: ^AInputReceiverCallbacks, 
    ) -> ^AInputReceiver ---
     

    API level 35

    AInputReceiver_createUnbatchedInputReceiver ¶

    AInputReceiver_createUnbatchedInputReceiver :: proc "c" (
    	aLooper:                 ^ALooper, 
    	hostInputTransferToken:  ^AInputTransferToken, 
    	aSurfaceControl:         ^ASurfaceControl, 
    	aInputReceiverCallbacks: ^AInputReceiverCallbacks, 
    ) -> ^AInputReceiver ---
     

    API level 35

    AInputReceiver_getInputTransferToken ¶

    AInputReceiver_getInputTransferToken :: proc "c" (aInputReceiver: ^AInputReceiver) -> ^AInputTransferToken ---
     

    API level 35

    AInputReceiver_release ¶

    AInputReceiver_release :: proc "c" (aInputReceiver: ^AInputReceiver) ---
     

    API level 35

    AInputTransferToken_fromJava ¶

    AInputTransferToken_fromJava :: proc "c" (
    	env:                   ^JNIEnv, 
    	inputTransferTokenObj: rawptr, 
    ) -> ^AInputTransferToken ---
     

    API level 35

    AInputTransferToken_release ¶

    AInputTransferToken_release :: proc "c" (aInputTransferToken: ^AInputTransferToken) ---
     

    API level 35

    AInputTransferToken_toJava ¶

    AInputTransferToken_toJava :: proc "c" (
    	env:                 ^JNIEnv, 
    	aInputTransferToken: ^AInputTransferToken, 
    ) -> rawptr ---
     

    API level 35

    AKeyEvent_fromJava ¶

    AKeyEvent_fromJava :: proc "c" (env: ^JNIEnv, keyEvent: rawptr) -> ^AInputEvent ---
     

    API level 31

    AKeyEvent_getAction ¶

    AKeyEvent_getAction :: proc "c" (key_event: ^AInputEvent) -> AKeyEventAction ---

    AKeyEvent_getDownTime ¶

    AKeyEvent_getDownTime :: proc "c" (key_event: ^AInputEvent) -> i64 ---

    AKeyEvent_getEventTime ¶

    AKeyEvent_getEventTime :: proc "c" (key_event: ^AInputEvent) -> i64 ---

    AKeyEvent_getFlags ¶

    AKeyEvent_getFlags :: proc "c" (key_event: ^AInputEvent) -> AKeyEventFlags ---

    AKeyEvent_getKeyCode ¶

    AKeyEvent_getKeyCode :: proc "c" (key_event: ^AInputEvent) -> AKeyCode ---

    AKeyEvent_getMetaState ¶

    AKeyEvent_getMetaState :: proc "c" (key_event: ^AInputEvent) -> AMetaState ---

    AKeyEvent_getRepeatCount ¶

    AKeyEvent_getRepeatCount :: proc "c" (key_event: ^AInputEvent) -> i32 ---

    AKeyEvent_getScanCode ¶

    AKeyEvent_getScanCode :: proc "c" (key_event: ^AInputEvent) -> i32 ---

    ALooper_acquire ¶

    ALooper_acquire :: proc "c" (looper: ^ALooper) ---

    ALooper_addFd ¶

    ALooper_addFd :: proc "c" (
    	looper:   ^ALooper, 
    	fd:       i32, 
    	ident:    i32, 
    	events:   ALooperEvents, 
    	callback: ALooper_callbackFunc, 
    	data:     rawptr, 
    ) -> i32 ---

    ALooper_forThread ¶

    ALooper_forThread :: proc "c" () -> ^ALooper ---

    ALooper_pollAll ¶

    ALooper_pollAll :: proc "c" (
    	timeoutMillis: i32, 
    	outFd:         ^i32, 
    	outEvents:     ^i32, 
    	outData:       ^rawptr, 
    ) -> i32 ---

    ALooper_pollOnce ¶

    ALooper_pollOnce :: proc "c" (
    	timeoutMillis: i32, 
    	outFd:         ^i32, 
    	outEvents:     ^i32, 
    	outData:       ^rawptr, 
    ) -> i32 ---

    ALooper_prepare ¶

    ALooper_prepare :: proc "c" (opts: ALooperPrepareOptions) -> ^ALooper ---

    ALooper_release ¶

    ALooper_release :: proc "c" (looper: ^ALooper) ---

    ALooper_removeFd ¶

    ALooper_removeFd :: proc "c" (looper: ^ALooper, fd: i32) -> i32 ---

    ALooper_wake ¶

    ALooper_wake :: proc "c" (looper: ^ALooper) ---

    AMotionEvent_fromJava ¶

    AMotionEvent_fromJava :: proc "c" (env: ^JNIEnv, motionEvent: rawptr) -> ^AInputEvent ---
     

    API level 31

    AMotionEvent_getAction ¶

    AMotionEvent_getAction :: proc "c" (motion_event: ^AInputEvent) -> AMotionEventPackedAction ---

    AMotionEvent_getActionButton ¶

    AMotionEvent_getActionButton :: proc "c" (motion_event: ^AInputEvent) -> AMotionEventButtons ---
     

    API level 33

    AMotionEvent_getAxisValue ¶

    AMotionEvent_getAxisValue :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	axis:          AMotionEventAxis, 
    	pointer_index: uint, 
    ) -> f32 ---

    AMotionEvent_getButtonState ¶

    AMotionEvent_getButtonState :: proc "c" (motion_event: ^AInputEvent) -> AMotionEventButtons ---

    AMotionEvent_getClassification ¶

    AMotionEvent_getClassification :: proc "c" (motion_event: ^AInputEvent) -> AMotionClassification ---
     

    API level 33

    AMotionEvent_getDownTime ¶

    AMotionEvent_getDownTime :: proc "c" (motion_event: ^AInputEvent) -> i64 ---

    AMotionEvent_getEdgeFlags ¶

    AMotionEvent_getEdgeFlags :: proc "c" (motion_event: ^AInputEvent) -> AMotionEventEdgeFlags ---

    AMotionEvent_getEventTime ¶

    AMotionEvent_getEventTime :: proc "c" (motion_event: ^AInputEvent) -> i64 ---

    AMotionEvent_getFlags ¶

    AMotionEvent_getFlags :: proc "c" (motion_event: ^AInputEvent) -> AMotionEventFlags ---

    AMotionEvent_getHistoricalAxisValue ¶

    AMotionEvent_getHistoricalAxisValue :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	axis:          AMotionEventAxis, 
    	pointer_index: uint, 
    	history_index: uint, 
    ) -> f32 ---

    AMotionEvent_getHistoricalEventTime ¶

    AMotionEvent_getHistoricalEventTime :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	history_index: uint, 
    ) -> i64 ---

    AMotionEvent_getHistoricalOrientation ¶

    AMotionEvent_getHistoricalOrientation :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    	history_index: uint, 
    ) -> f32 ---

    AMotionEvent_getHistoricalPressure ¶

    AMotionEvent_getHistoricalPressure :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    	history_index: uint, 
    ) -> f32 ---

    AMotionEvent_getHistoricalRawX ¶

    AMotionEvent_getHistoricalRawX :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    	history_index: uint, 
    ) -> f32 ---

    AMotionEvent_getHistoricalRawY ¶

    AMotionEvent_getHistoricalRawY :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    	history_index: uint, 
    ) -> f32 ---

    AMotionEvent_getHistoricalSize ¶

    AMotionEvent_getHistoricalSize :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    	history_index: uint, 
    ) -> f32 ---

    AMotionEvent_getHistoricalToolMajor ¶

    AMotionEvent_getHistoricalToolMajor :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    	history_index: uint, 
    ) -> f32 ---

    AMotionEvent_getHistoricalToolMinor ¶

    AMotionEvent_getHistoricalToolMinor :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    	history_index: uint, 
    ) -> f32 ---

    AMotionEvent_getHistoricalTouchMajor ¶

    AMotionEvent_getHistoricalTouchMajor :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    	history_index: uint, 
    ) -> f32 ---

    AMotionEvent_getHistoricalTouchMinor ¶

    AMotionEvent_getHistoricalTouchMinor :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    	history_index: uint, 
    ) -> f32 ---

    AMotionEvent_getHistoricalX ¶

    AMotionEvent_getHistoricalX :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    	history_index: uint, 
    ) -> f32 ---

    AMotionEvent_getHistoricalY ¶

    AMotionEvent_getHistoricalY :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    	history_index: uint, 
    ) -> f32 ---

    AMotionEvent_getHistorySize ¶

    AMotionEvent_getHistorySize :: proc "c" (motion_event: ^AInputEvent) -> uint ---

    AMotionEvent_getMetaState ¶

    AMotionEvent_getMetaState :: proc "c" (motion_event: ^AInputEvent) -> AMetaState ---

    AMotionEvent_getOrientation ¶

    AMotionEvent_getOrientation :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    ) -> f32 ---

    AMotionEvent_getPointerCount ¶

    AMotionEvent_getPointerCount :: proc "c" (motion_event: ^AInputEvent) -> uint ---

    AMotionEvent_getPointerId ¶

    AMotionEvent_getPointerId :: proc "c" (motion_event: ^AInputEvent, pointer_index: uint) -> i32 ---

    AMotionEvent_getPressure ¶

    AMotionEvent_getPressure :: proc "c" (motion_event: ^AInputEvent, pointer_index: uint) -> f32 ---

    AMotionEvent_getRawX ¶

    AMotionEvent_getRawX :: proc "c" (motion_event: ^AInputEvent, pointer_index: uint) -> f32 ---

    AMotionEvent_getRawY ¶

    AMotionEvent_getRawY :: proc "c" (motion_event: ^AInputEvent, pointer_index: uint) -> f32 ---

    AMotionEvent_getSize ¶

    AMotionEvent_getSize :: proc "c" (motion_event: ^AInputEvent, pointer_index: uint) -> f32 ---

    AMotionEvent_getToolMajor ¶

    AMotionEvent_getToolMajor :: proc "c" (motion_event: ^AInputEvent, pointer_index: uint) -> f32 ---

    AMotionEvent_getToolMinor ¶

    AMotionEvent_getToolMinor :: proc "c" (motion_event: ^AInputEvent, pointer_index: uint) -> f32 ---

    AMotionEvent_getToolType ¶

    AMotionEvent_getToolType :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    ) -> AMotionEventToolType ---

    AMotionEvent_getTouchMajor ¶

    AMotionEvent_getTouchMajor :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    ) -> f32 ---

    AMotionEvent_getTouchMinor ¶

    AMotionEvent_getTouchMinor :: proc "c" (
    	motion_event:  ^AInputEvent, 
    	pointer_index: uint, 
    ) -> f32 ---

    AMotionEvent_getX ¶

    AMotionEvent_getX :: proc "c" (motion_event: ^AInputEvent, pointer_index: uint) -> f32 ---

    AMotionEvent_getXOffset ¶

    AMotionEvent_getXOffset :: proc "c" (motion_event: ^AInputEvent) -> f32 ---

    AMotionEvent_getXPrecision ¶

    AMotionEvent_getXPrecision :: proc "c" (motion_event: ^AInputEvent) -> f32 ---

    AMotionEvent_getY ¶

    AMotionEvent_getY :: proc "c" (motion_event: ^AInputEvent, pointer_index: uint) -> f32 ---

    AMotionEvent_getYOffset ¶

    AMotionEvent_getYOffset :: proc "c" (motion_event: ^AInputEvent) -> f32 ---

    AMotionEvent_getYPrecision ¶

    AMotionEvent_getYPrecision :: proc "c" (motion_event: ^AInputEvent) -> f32 ---

    ANativeActivity_finish ¶

    ANativeActivity_finish :: proc "c" (activity: ^ANativeActivity) ---

    ANativeActivity_setWindowFlags ¶

    ANativeActivity_setWindowFlags :: proc "c" (
    	activity:    ^ANativeActivity, 
    	addFlags:    AWindowFlags, 
    	removeFlags: AWindowFlags, 
    ) ---

    ANativeActivity_setWindowFormat ¶

    ANativeActivity_setWindowFormat :: proc "c" (activity: ^ANativeActivity, format: i32) ---

    ANativeWindow_acquire ¶

    ANativeWindow_acquire :: proc "c" (window: ^ANativeWindow) ---

    ANativeWindow_clearFrameRate ¶

    ANativeWindow_clearFrameRate :: proc "contextless" (window: ^ANativeWindow) -> i32 {…}
     

    API level 31.

    ANativeWindow_fromSurface ¶

    ANativeWindow_fromSurface :: proc "c" (env: ^JNIEnv, surface: rawptr) -> ^ANativeWindow ---

    ANativeWindow_getBuffersDataSpace ¶

    ANativeWindow_getBuffersDataSpace :: proc "c" (window: ^ANativeWindow) -> ADataSpace ---

    ANativeWindow_getBuffersDefaultDataSpace ¶

    ANativeWindow_getBuffersDefaultDataSpace :: proc "c" (window: ^ANativeWindow) -> ADataSpace ---
     

    API level 34

    ANativeWindow_getHeight ¶

    ANativeWindow_getHeight :: proc "c" (window: ^ANativeWindow) -> i32 ---

    ANativeWindow_getWidth ¶

    ANativeWindow_getWidth :: proc "c" (window: ^ANativeWindow) -> i32 ---

    ANativeWindow_isProducerThrottlingEnabled ¶

    ANativeWindow_isProducerThrottlingEnabled :: proc "c" (
    	window:     ^ANativeWindow, 
    	outEnabled: ^bool, 
    ) -> i32 ---
     

    API level 37

    ANativeWindow_lock ¶

    ANativeWindow_lock :: proc "c" (
    	window:           ^ANativeWindow, 
    	outBuffer:        ^ANativeWindow_Buffer, 
    	inOutDirtyBounds: ^ARect, 
    ) -> i32 ---

    ANativeWindow_release ¶

    ANativeWindow_release :: proc "c" (window: ^ANativeWindow) ---

    ANativeWindow_setBuffersDataSpace ¶

    ANativeWindow_setBuffersDataSpace :: proc "c" (
    	window:    ^ANativeWindow, 
    	dataSpace: ADataSpace, 
    ) -> i32 ---

    ANativeWindow_setBuffersGeometry ¶

    ANativeWindow_setBuffersGeometry :: proc "c" (
    	window: ^ANativeWindow, 
    	width:  i32, 
    	height: i32, 
    	format: AHardwareBuffer_Format, 
    ) -> i32 ---

    ANativeWindow_setBuffersTransform ¶

    ANativeWindow_setBuffersTransform :: proc "c" (
    	window:    ^ANativeWindow, 
    	transform: ANativeWindowTransform, 
    ) -> i32 ---

    ANativeWindow_setFrameRate ¶

    ANativeWindow_setFrameRate :: proc "c" (
    	window:        ^ANativeWindow, 
    	frameRate:     f32, 
    	compatibility: ANativeWindow_FrameRateCompatibility, 
    ) -> i32 ---
     

    API level 30

    ANativeWindow_setFrameRateWithChangeStrategy ¶

    ANativeWindow_setFrameRateWithChangeStrategy :: proc "c" (
    	window:                  ^ANativeWindow, 
    	frameRate:               f32, 
    	compatibility:           ANativeWindow_FrameRateCompatibility, 
    	changeFrameRateStrategy: ANativeWindow_ChangeFrameRateStrategy, 
    ) -> i32 ---
     

    API level 31

    ANativeWindow_setProducerThrottlingEnabled ¶

    ANativeWindow_setProducerThrottlingEnabled :: proc "c" (
    	window:  ^ANativeWindow, 
    	enabled: bool, 
    ) -> i32 ---
     

    API level 37

    ANativeWindow_toSurface ¶

    ANativeWindow_toSurface :: proc "c" (env: ^JNIEnv, window: ^ANativeWindow) -> rawptr ---

    ANativeWindow_tryAllocateBuffers ¶

    ANativeWindow_tryAllocateBuffers :: proc "c" (window: ^ANativeWindow) ---
     

    API level 30

    ANativeWindow_unlockAndPost ¶

    ANativeWindow_unlockAndPost :: proc "c" (window: ^ANativeWindow) -> i32 ---

    ANpuBuffer_free ¶

    ANpuBuffer_free :: proc "c" (buffers: ^^ANpuBuffer, buffersLen: uint) -> i32 ---
     

    API level 37

    ANpuBuffer_loadAsync ¶

    ANpuBuffer_loadAsync :: proc "c" (
    	buf:           ^ANpuBuffer, 
    	fdToOwn:       i32, 
    	fileOffset:    i64, 
    	segmentLength: i64, 
    	bufferOffset:  i64, 
    	onLoad:        ANpuManager_LoadCallback, 
    ) ---
     

    API level 37

    ANpuBuffer_map ¶

    ANpuBuffer_map :: proc "c" (
    	buf:    ^ANpuBuffer, 
    	addr:   rawptr, 
    	length: uint, 
    	prot:   i32, 
    	flags:  i32, 
    	offset: i64, 
    ) -> rawptr ---
     

    API level 37

    ANpuBuffer_setPriority ¶

    ANpuBuffer_setPriority :: proc "c" (
    	buf:               ^ANpuBuffer, 
    	newBufferPriority: ANpuBuffer_Priority, 
    ) -> i32 ---
     

    API level 37

    ANpuBuffer_unmap ¶

    ANpuBuffer_unmap :: proc "c" (buf: ^ANpuBuffer, addr: rawptr, length: uint) -> i32 ---
     

    API level 37

    ANpuManager_AllocRequest_create ¶

    ANpuManager_AllocRequest_create :: proc "c" () -> ^ANpuManager_AllocRequest ---
     

    API level 37

    ANpuManager_AllocRequest_free ¶

    ANpuManager_AllocRequest_free :: proc "c" (request: ^ANpuManager_AllocRequest) ---
     

    API level 37

    ANpuManager_AllocRequest_setBufferPriority ¶

    ANpuManager_AllocRequest_setBufferPriority :: proc "c" (
    	request:        ^ANpuManager_AllocRequest, 
    	bufferPriority: ANpuBuffer_Priority, 
    ) ---
     

    API level 37

    ANpuManager_AllocRequest_setBufferType ¶

    ANpuManager_AllocRequest_setBufferType :: proc "c" (
    	request:    ^ANpuManager_AllocRequest, 
    	bufferType: ANpuBuffer_Type, 
    ) ---
     

    API level 37

    ANpuManager_AllocRequest_setCookie ¶

    ANpuManager_AllocRequest_setCookie :: proc "c" (
    	request:       ^ANpuManager_AllocRequest, 
    	cookie:        rawptr, 
    	cookieDeleter: ANpuManager_CookieDeleter, 
    ) ---
     

    API level 37

    ANpuManager_AllocRequest_setDeviceNumber ¶

    ANpuManager_AllocRequest_setDeviceNumber :: proc "c" (
    	request:      ^ANpuManager_AllocRequest, 
    	deviceNumber: i32, 
    ) ---
     

    API level 37

    ANpuManager_AllocRequest_setFileSegmentToLoad ¶

    ANpuManager_AllocRequest_setFileSegmentToLoad :: proc "c" (
    	request:       ^ANpuManager_AllocRequest, 
    	fdToOwn:       i32, 
    	fileOffset:    i64, 
    	segmentLength: i64, 
    	bufferOffset:  i64, 
    ) ---
     

    API level 37

    ANpuManager_AllocRequest_setOnAlloc ¶

    ANpuManager_AllocRequest_setOnAlloc :: proc "c" (
    	request: ^ANpuManager_AllocRequest, 
    	onAlloc: ANpuManager_AllocCallback, 
    ) ---
     

    API level 37

    ANpuManager_AllocRequest_setOnPreempt ¶

    ANpuManager_AllocRequest_setOnPreempt :: proc "c" (
    	request:   ^ANpuManager_AllocRequest, 
    	onPreempt: ANpuManager_PreemptCallback, 
    ) ---
     

    API level 37

    ANpuManager_AllocRequest_setProtectionFlags ¶

    ANpuManager_AllocRequest_setProtectionFlags :: proc "c" (
    	request: ^ANpuManager_AllocRequest, 
    	prot:    i32, 
    ) ---
     

    API level 37

    ANpuManager_AllocRequest_setSize ¶

    ANpuManager_AllocRequest_setSize :: proc "c" (request: ^ANpuManager_AllocRequest, size: i64) ---
     

    API level 37

    ANpuManager_allocAsync ¶

    ANpuManager_allocAsync :: proc "c" (requests: ^^ANpuManager_AllocRequest, requestsLen: uint) ---
     

    API level 37

    ANpuManager_isSupported ¶

    ANpuManager_isSupported :: proc "c" (
    	requests:       ^^ANpuManager_AllocRequest, 
    	requestsLen:    uint, 
    	outIsSupported: ^bool, 
    ) -> i32 ---
     

    API level 37

    AObbInfo_delete ¶

    AObbInfo_delete :: proc "c" (obbInfo: ^AObbInfo) ---

    AObbInfo_getFlags ¶

    AObbInfo_getFlags :: proc "c" (obbInfo: ^AObbInfo) -> i32 ---

    AObbInfo_getPackageName ¶

    AObbInfo_getPackageName :: proc "c" (obbInfo: ^AObbInfo) -> cstring ---

    AObbInfo_getVersion ¶

    AObbInfo_getVersion :: proc "c" (obbInfo: ^AObbInfo) -> i32 ---

    AObbScanner_getObbInfo ¶

    AObbScanner_getObbInfo :: proc "c" (filename: cstring) -> ^AObbInfo ---

    APerformanceHint_borrowSessionFromJava ¶

    APerformanceHint_borrowSessionFromJava :: proc "c" (
    	env:        ^JNIEnv, 
    	sessionObj: rawptr, 
    ) -> ^APerformanceHintSession ---
     

    API level 36

    APerformanceHint_closeSession ¶

    APerformanceHint_closeSession :: proc "c" (session: ^APerformanceHintSession) ---
     

    API level 33

    APerformanceHint_createSession ¶

    APerformanceHint_createSession :: proc "c" (
    	manager:                        ^APerformanceHintManager, 
    	threadIds:                      ^i32, 
    	size:                           uint, 
    	initialTargetWorkDurationNanos: i64, 
    ) -> ^APerformanceHintSession ---
     

    API level 33

    APerformanceHint_createSessionUsingConfig ¶

    APerformanceHint_createSessionUsingConfig :: proc "c" (
    	manager:    ^APerformanceHintManager, 
    	config:     ^ASessionCreationConfig, 
    	sessionOut: ^^APerformanceHintSession, 
    ) -> i32 ---
     

    API level 36

    APerformanceHint_getManager ¶

    APerformanceHint_getManager :: proc "c" () -> ^APerformanceHintManager ---
     

    API level 33

    APerformanceHint_getMaxGraphicsPipelineThreadsCount ¶

    APerformanceHint_getMaxGraphicsPipelineThreadsCount :: proc "c" (manager: ^APerformanceHintManager) -> i32 ---
     

    API level 36

    APerformanceHint_getPreferredUpdateRateNanos ¶

    APerformanceHint_getPreferredUpdateRateNanos :: proc "c" (manager: ^APerformanceHintManager) -> i64 ---
     

    API level 33

    APerformanceHint_isFeatureSupported ¶

    APerformanceHint_isFeatureSupported :: proc "c" (feature: APerformanceHintFeature) -> bool ---
     

    API level 36

    APerformanceHint_notifyWorkloadIncrease ¶

    APerformanceHint_notifyWorkloadIncrease :: proc "c" (
    	session:    ^APerformanceHintSession, 
    	cpu:        bool, 
    	gpu:        bool, 
    	identifier: cstring, 
    ) -> i32 ---
     

    API level 36

    APerformanceHint_notifyWorkloadReset ¶

    APerformanceHint_notifyWorkloadReset :: proc "c" (
    	session:    ^APerformanceHintSession, 
    	cpu:        bool, 
    	gpu:        bool, 
    	identifier: cstring, 
    ) -> i32 ---
     

    API level 36

    APerformanceHint_notifyWorkloadSpike ¶

    APerformanceHint_notifyWorkloadSpike :: proc "c" (
    	session:    ^APerformanceHintSession, 
    	cpu:        bool, 
    	gpu:        bool, 
    	identifier: cstring, 
    ) -> i32 ---
     

    API level 36

    APerformanceHint_reportActualWorkDuration ¶

    APerformanceHint_reportActualWorkDuration :: proc "c" (
    	session:             ^APerformanceHintSession, 
    	actualDurationNanos: i64, 
    ) -> i32 ---
     

    API level 33

    APerformanceHint_reportActualWorkDuration2 ¶

    APerformanceHint_reportActualWorkDuration2 :: proc "c" (
    	session:      ^APerformanceHintSession, 
    	workDuration: ^AWorkDuration, 
    ) -> i32 ---
     

    API level 35

    APerformanceHint_setNativeSurfaces ¶

    APerformanceHint_setNativeSurfaces :: proc "c" (
    	session:             ^APerformanceHintSession, 
    	nativeWindows:       ^^ANativeWindow, 
    	nativeWindowsSize:   uint, 
    	surfaceControls:     ^^ASurfaceControl, 
    	surfaceControlsSize: uint, 
    ) -> i32 ---
     

    API level 36

    APerformanceHint_setPreferPowerEfficiency ¶

    APerformanceHint_setPreferPowerEfficiency :: proc "c" (
    	session: ^APerformanceHintSession, 
    	enabled: bool, 
    ) -> i32 ---
     

    API level 35

    APerformanceHint_setThreads ¶

    APerformanceHint_setThreads :: proc "c" (
    	session:   ^APerformanceHintSession, 
    	threadIds: ^i32, 
    	size:      uint, 
    ) -> i32 ---
     

    API level 34

    APerformanceHint_updateTargetWorkDuration ¶

    APerformanceHint_updateTargetWorkDuration :: proc "c" (
    	session:             ^APerformanceHintSession, 
    	targetDurationNanos: i64, 
    ) -> i32 ---
     

    API level 33

    APermissionManager_checkPermission ¶

    APermissionManager_checkPermission :: proc "c" (
    	permission: cstring, 
    	pid:        i32, 
    	uid:        u32, 
    	outResult:  ^APermissionManagerPermission, 
    ) -> APermissionManagerStatus ---
     

    API level 31

    ASensorEventQueue_disableSensor ¶

    ASensorEventQueue_disableSensor :: proc "c" (
    	queue:  ^ASensorEventQueue, 
    	sensor: ^ASensor, 
    ) -> i32 ---

    ASensorEventQueue_enableSensor ¶

    ASensorEventQueue_enableSensor :: proc "c" (
    	queue:  ^ASensorEventQueue, 
    	sensor: ^ASensor, 
    ) -> i32 ---

    ASensorEventQueue_getEvents ¶

    ASensorEventQueue_getEvents :: proc "c" (
    	queue:  ^ASensorEventQueue, 
    	events: ^ASensorEvent, 
    	count:  uint, 
    ) -> int ---

    ASensorEventQueue_hasEvents ¶

    ASensorEventQueue_hasEvents :: proc "c" (queue: ^ASensorEventQueue) -> i32 ---

    ASensorEventQueue_registerSensor ¶

    ASensorEventQueue_registerSensor :: proc "c" (
    	queue:                   ^ASensorEventQueue, 
    	sensor:                  ^ASensor, 
    	samplingPeriodUs:        i32, 
    	maxBatchReportLatencyUs: i64, 
    ) -> i32 ---

    ASensorEventQueue_requestAdditionalInfoEvents ¶

    ASensorEventQueue_requestAdditionalInfoEvents :: proc "c" (
    	queue:  ^ASensorEventQueue, 
    	enable: bool, 
    ) -> i32 ---

    ASensorEventQueue_setEventRate ¶

    ASensorEventQueue_setEventRate :: proc "c" (
    	queue:  ^ASensorEventQueue, 
    	sensor: ^ASensor, 
    	usec:   i32, 
    ) -> i32 ---

    ASensorManager_configureDirectReport ¶

    ASensorManager_configureDirectReport :: proc "c" (
    	manager:   ^ASensorManager, 
    	sensor:    ^ASensor, 
    	channelId: i32, 
    	rate:      ASensorDirectRate, 
    ) -> i32 ---

    ASensorManager_createEventQueue ¶

    ASensorManager_createEventQueue :: proc "c" (
    	manager:  ^ASensorManager, 
    	looper:   ^ALooper, 
    	ident:    i32, 
    	callback: ALooper_callbackFunc, 
    	data:     rawptr, 
    ) -> ^ASensorEventQueue ---

    ASensorManager_createHardwareBufferDirectChannel ¶

    ASensorManager_createHardwareBufferDirectChannel :: proc "c" (
    	manager: ^ASensorManager, 
    	buffer:  ^AHardwareBuffer, 
    	size:    uint, 
    ) -> i32 ---

    ASensorManager_createSharedMemoryDirectChannel ¶

    ASensorManager_createSharedMemoryDirectChannel :: proc "c" (
    	manager: ^ASensorManager, 
    	fd:      i32, 
    	size:    uint, 
    ) -> i32 ---

    ASensorManager_destroyDirectChannel ¶

    ASensorManager_destroyDirectChannel :: proc "c" (manager: ^ASensorManager, channelId: i32) ---

    ASensorManager_destroyEventQueue ¶

    ASensorManager_destroyEventQueue :: proc "c" (
    	manager: ^ASensorManager, 
    	queue:   ^ASensorEventQueue, 
    ) -> i32 ---

    ASensorManager_getDefaultSensor ¶

    ASensorManager_getDefaultSensor :: proc "c" (
    	manager: ^ASensorManager, 
    	type:    ASensorType, 
    ) -> ^ASensor ---

    ASensorManager_getDefaultSensorEx ¶

    ASensorManager_getDefaultSensorEx :: proc "c" (
    	manager: ^ASensorManager, 
    	type:    ASensorType, 
    	wakeUp:  bool, 
    ) -> ^ASensor ---

    ASensorManager_getDynamicSensorList ¶

    ASensorManager_getDynamicSensorList :: proc "c" (
    	manager: ^ASensorManager, 
    	list:    ^^^ASensor, 
    ) -> int ---
     

    API level 33

    ASensorManager_getInstance ¶

    ASensorManager_getInstance :: proc "c" () -> ^ASensorManager ---

    ASensorManager_getInstanceForPackage ¶

    ASensorManager_getInstanceForPackage :: proc "c" (packageName: cstring) -> ^ASensorManager ---

    ASensorManager_getSensorList ¶

    ASensorManager_getSensorList :: proc "c" (manager: ^ASensorManager, list: ^^^ASensor) -> i32 ---

    ASensor_getFifoMaxEventCount ¶

    ASensor_getFifoMaxEventCount :: proc "c" (sensor: ^ASensor) -> i32 ---

    ASensor_getFifoReservedEventCount ¶

    ASensor_getFifoReservedEventCount :: proc "c" (sensor: ^ASensor) -> i32 ---

    ASensor_getHandle ¶

    ASensor_getHandle :: proc "c" (sensor: ^ASensor) -> i32 ---

    ASensor_getHighestDirectReportRateLevel ¶

    ASensor_getHighestDirectReportRateLevel :: proc "c" (sensor: ^ASensor) -> ASensorDirectRate ---

    ASensor_getMinDelay ¶

    ASensor_getMinDelay :: proc "c" (sensor: ^ASensor) -> i32 ---

    ASensor_getName ¶

    ASensor_getName :: proc "c" (sensor: ^ASensor) -> cstring ---

    ASensor_getReportingMode ¶

    ASensor_getReportingMode :: proc "c" (sensor: ^ASensor) -> AReportingMode ---

    ASensor_getResolution ¶

    ASensor_getResolution :: proc "c" (sensor: ^ASensor) -> f32 ---

    ASensor_getStringType ¶

    ASensor_getStringType :: proc "c" (sensor: ^ASensor) -> cstring ---

    ASensor_getType ¶

    ASensor_getType :: proc "c" (sensor: ^ASensor) -> ASensorType ---

    ASensor_getVendor ¶

    ASensor_getVendor :: proc "c" (sensor: ^ASensor) -> cstring ---

    ASensor_isDirectChannelTypeSupported ¶

    ASensor_isDirectChannelTypeSupported :: proc "c" (
    	sensor:      ^ASensor, 
    	channelType: ASensorDirectChannelType, 
    ) -> bool ---

    ASensor_isWakeUpSensor ¶

    ASensor_isWakeUpSensor :: proc "c" (sensor: ^ASensor) -> bool ---

    ASessionCreationConfig_create ¶

    ASessionCreationConfig_create :: proc "c" () -> ^ASessionCreationConfig ---
     

    API level 36

    ASessionCreationConfig_release ¶

    ASessionCreationConfig_release :: proc "c" (config: ^ASessionCreationConfig) ---
     

    API level 36

    ASessionCreationConfig_setGraphicsPipeline ¶

    ASessionCreationConfig_setGraphicsPipeline :: proc "c" (
    	config:  ^ASessionCreationConfig, 
    	enabled: bool, 
    ) ---
     

    API level 36

    ASessionCreationConfig_setNativeSurfaces ¶

    ASessionCreationConfig_setNativeSurfaces :: proc "c" (
    	config:              ^ASessionCreationConfig, 
    	nativeWindows:       ^^ANativeWindow, 
    	nativeWindowsSize:   uint, 
    	surfaceControls:     ^^ASurfaceControl, 
    	surfaceControlsSize: uint, 
    ) ---
     

    API level 36

    ASessionCreationConfig_setPreferPowerEfficiency ¶

    ASessionCreationConfig_setPreferPowerEfficiency :: proc "c" (
    	config:  ^ASessionCreationConfig, 
    	enabled: bool, 
    ) ---
     

    API level 36

    ASessionCreationConfig_setTargetWorkDurationNanos ¶

    ASessionCreationConfig_setTargetWorkDurationNanos :: proc "c" (
    	config:                  ^ASessionCreationConfig, 
    	targetWorkDurationNanos: i64, 
    ) ---
     

    API level 36

    ASessionCreationConfig_setTids ¶

    ASessionCreationConfig_setTids :: proc "c" (
    	config: ^ASessionCreationConfig, 
    	tids:   ^i32, 
    	size:   uint, 
    ) ---
     

    API level 36

    ASessionCreationConfig_setUseAutoTiming ¶

    ASessionCreationConfig_setUseAutoTiming :: proc "c" (
    	config: ^ASessionCreationConfig, 
    	cpu:    bool, 
    	gpu:    bool, 
    ) ---
     

    API level 36

    ASharedMemory_create ¶

    ASharedMemory_create :: proc "c" (name: cstring, size: uint) -> i32 ---

    ASharedMemory_dupFromJava ¶

    ASharedMemory_dupFromJava :: proc "c" (env: ^JNIEnv, sharedMemory: rawptr) -> i32 ---

    ASharedMemory_getSize ¶

    ASharedMemory_getSize :: proc "c" (fd: i32) -> uint ---

    ASharedMemory_setProt ¶

    ASharedMemory_setProt :: proc "c" (fd: i32, prot: i32) -> i32 ---

    AStorageManager_delete ¶

    AStorageManager_delete :: proc "c" (mgr: ^AStorageManager) ---

    AStorageManager_getMountedObbPath ¶

    AStorageManager_getMountedObbPath :: proc "c" (
    	mgr:      ^AStorageManager, 
    	filename: cstring, 
    ) -> cstring ---

    AStorageManager_isObbMounted ¶

    AStorageManager_isObbMounted :: proc "c" (mgr: ^AStorageManager, filename: cstring) -> i32 ---

    AStorageManager_mountObb ¶

    AStorageManager_mountObb :: proc "c" (
    	mgr:      ^AStorageManager, 
    	filename: cstring, 
    	key:      cstring, 
    	cb:       AStorageManager_obbCallbackFunc, 
    	data:     rawptr, 
    ) ---

    AStorageManager_unmountObb ¶

    AStorageManager_unmountObb :: proc "c" (
    	mgr:      ^AStorageManager, 
    	filename: cstring, 
    	force:    i32, 
    	cb:       AStorageManager_obbCallbackFunc, 
    	data:     rawptr, 
    ) ---

    ASurfaceControl_acquire ¶

    ASurfaceControl_acquire :: proc "c" (surface_control: ^ASurfaceControl) ---
     

    API level 31

    ASurfaceControl_create ¶

    ASurfaceControl_create :: proc "c" (
    	parent:     ^ASurfaceControl, 
    	debug_name: cstring, 
    ) -> ^ASurfaceControl ---

    ASurfaceControl_createFromWindow ¶

    ASurfaceControl_createFromWindow :: proc "c" (
    	parent:     ^ANativeWindow, 
    	debug_name: cstring, 
    ) -> ^ASurfaceControl ---

    ASurfaceControl_fromJava ¶

    ASurfaceControl_fromJava :: proc "c" (
    	env:               ^JNIEnv, 
    	surfaceControlObj: rawptr, 
    ) -> ^ASurfaceControl ---
     

    API level 34

    ASurfaceControl_release ¶

    ASurfaceControl_release :: proc "c" (surface_control: ^ASurfaceControl) ---

    ASurfaceTexture_acquireANativeWindow ¶

    ASurfaceTexture_acquireANativeWindow :: proc "c" (st: ^ASurfaceTexture) -> ^ANativeWindow ---

    ASurfaceTexture_attachToGLContext ¶

    ASurfaceTexture_attachToGLContext :: proc "c" (st: ^ASurfaceTexture, texName: u32) -> i32 ---

    ASurfaceTexture_detachFromGLContext ¶

    ASurfaceTexture_detachFromGLContext :: proc "c" (st: ^ASurfaceTexture) -> i32 ---

    ASurfaceTexture_fromSurfaceTexture ¶

    ASurfaceTexture_fromSurfaceTexture :: proc "c" (
    	env:            ^JNIEnv, 
    	surfacetexture: rawptr, 
    ) -> ^ASurfaceTexture ---

    ASurfaceTexture_getTimestamp ¶

    ASurfaceTexture_getTimestamp :: proc "c" (st: ^ASurfaceTexture) -> i64 ---

    ASurfaceTexture_getTransformMatrix ¶

    ASurfaceTexture_getTransformMatrix :: proc "c" (st: ^ASurfaceTexture, mtx: ^f32) ---

    ASurfaceTexture_release ¶

    ASurfaceTexture_release :: proc "c" (st: ^ASurfaceTexture) ---

    ASurfaceTexture_updateTexImage ¶

    ASurfaceTexture_updateTexImage :: proc "c" (st: ^ASurfaceTexture) -> i32 ---

    ASurfaceTransactionStats_getASurfaceControls ¶

    ASurfaceTransactionStats_getASurfaceControls :: proc "c" (
    	surface_transaction_stats: ^ASurfaceTransactionStats, 
    	outASurfaceControls:       ^^^ASurfaceControl, 
    	outASurfaceControlsSize:   ^uint, 
    ) ---

    ASurfaceTransactionStats_getAcquireTime ¶

    ASurfaceTransactionStats_getAcquireTime :: proc "c" (
    	surface_transaction_stats: ^ASurfaceTransactionStats, 
    	surface_control:           ^ASurfaceControl, 
    ) -> i64 ---

    ASurfaceTransactionStats_getLatchTime ¶

    ASurfaceTransactionStats_getLatchTime :: proc "c" (surface_transaction_stats: ^ASurfaceTransactionStats) -> i64 ---

    ASurfaceTransactionStats_getPresentFenceFd ¶

    ASurfaceTransactionStats_getPresentFenceFd :: proc "c" (surface_transaction_stats: ^ASurfaceTransactionStats) -> i32 ---

    ASurfaceTransactionStats_getPreviousReleaseFenceFd ¶

    ASurfaceTransactionStats_getPreviousReleaseFenceFd :: proc "c" (
    	surface_transaction_stats: ^ASurfaceTransactionStats, 
    	surface_control:           ^ASurfaceControl, 
    ) -> i32 ---

    ASurfaceTransactionStats_releaseASurfaceControls ¶

    ASurfaceTransactionStats_releaseASurfaceControls :: proc "c" (surface_controls: ^^ASurfaceControl) ---

    ASurfaceTransaction_apply ¶

    ASurfaceTransaction_apply :: proc "c" (transaction: ^ASurfaceTransaction) ---

    ASurfaceTransaction_clearFrameRate ¶

    ASurfaceTransaction_clearFrameRate :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    ) ---
     

    API level 34

    ASurfaceTransaction_delete ¶

    ASurfaceTransaction_delete :: proc "c" (transaction: ^ASurfaceTransaction) ---

    ASurfaceTransaction_fromJava ¶

    ASurfaceTransaction_fromJava :: proc "c" (
    	env:            ^JNIEnv, 
    	transactionObj: rawptr, 
    ) -> ^ASurfaceTransaction ---
     

    API level 34

    ASurfaceTransaction_reparent ¶

    ASurfaceTransaction_reparent :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	new_parent:      ^ASurfaceControl, 
    ) ---

    ASurfaceTransaction_setBuffer ¶

    ASurfaceTransaction_setBuffer :: proc "c" (
    	transaction:      ^ASurfaceTransaction, 
    	surface_control:  ^ASurfaceControl, 
    	buffer:           ^AHardwareBuffer, 
    	acquire_fence_fd: i32, 
    ) ---

    ASurfaceTransaction_setBufferAlpha ¶

    ASurfaceTransaction_setBufferAlpha :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	alpha:           f32, 
    ) ---

    ASurfaceTransaction_setBufferDataSpace ¶

    ASurfaceTransaction_setBufferDataSpace :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	data_space:      ADataSpace, 
    ) ---

    ASurfaceTransaction_setBufferTransform ¶

    ASurfaceTransaction_setBufferTransform :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	transform:       ANativeWindowTransform, 
    ) ---
     

    API level 31

    ASurfaceTransaction_setBufferTransparency ¶

    ASurfaceTransaction_setBufferTransparency :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	transparency:    ASurfaceTransactionTransparency, 
    ) ---

    ASurfaceTransaction_setBufferWithRelease ¶

    ASurfaceTransaction_setBufferWithRelease :: proc "c" (
    	transaction:      ^ASurfaceTransaction, 
    	surface_control:  ^ASurfaceControl, 
    	buffer:           ^AHardwareBuffer, 
    	acquire_fence_fd: i32, 
    	context_:         rawptr, 
    	func:             ASurfaceTransaction_OnBufferRelease, 
    ) ---
     

    API level 36

    ASurfaceTransaction_setColor ¶

    ASurfaceTransaction_setColor :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	r:               f32, 
    	g:               f32, 
    	b:               f32, 
    	alpha:           f32, 
    	dataspace:       ADataSpace, 
    ) ---

    ASurfaceTransaction_setCrop ¶

    ASurfaceTransaction_setCrop :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	crop:            ^ARect, 
    ) ---
     

    API level 31

    ASurfaceTransaction_setDamageRegion ¶

    ASurfaceTransaction_setDamageRegion :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	rects:           ^ARect, 
    	count:           u32, 
    ) ---

    ASurfaceTransaction_setDesiredHdrHeadroom ¶

    ASurfaceTransaction_setDesiredHdrHeadroom :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	desiredHeadroom: f32, 
    ) ---
     

    API level 35

    ASurfaceTransaction_setDesiredPresentTime ¶

    ASurfaceTransaction_setDesiredPresentTime :: proc "c" (
    	transaction:        ^ASurfaceTransaction, 
    	desiredPresentTime: i64, 
    ) ---

    ASurfaceTransaction_setEnableBackPressure ¶

    ASurfaceTransaction_setEnableBackPressure :: proc "c" (
    	transaction:        ^ASurfaceTransaction, 
    	surface_control:    ^ASurfaceControl, 
    	enableBackPressure: bool, 
    ) ---
     

    API level 31

    ASurfaceTransaction_setExtendedRangeBrightness ¶

    ASurfaceTransaction_setExtendedRangeBrightness :: proc "c" (
    	transaction:        ^ASurfaceTransaction, 
    	surface_control:    ^ASurfaceControl, 
    	currentBufferRatio: f32, 
    	desiredRatio:       f32, 
    ) ---
     

    API level 34

    ASurfaceTransaction_setFrameRate ¶

    ASurfaceTransaction_setFrameRate :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	frameRate:       f32, 
    	compatibility:   ANativeWindow_FrameRateCompatibility, 
    ) ---
     

    API level 30

    ASurfaceTransaction_setFrameRateWithChangeStrategy ¶

    ASurfaceTransaction_setFrameRateWithChangeStrategy :: proc "c" (
    	transaction:             ^ASurfaceTransaction, 
    	surface_control:         ^ASurfaceControl, 
    	frameRate:               f32, 
    	compatibility:           ANativeWindow_FrameRateCompatibility, 
    	changeFrameRateStrategy: ANativeWindow_ChangeFrameRateStrategy, 
    ) ---
     

    API level 31

    ASurfaceTransaction_setFrameTimeline ¶

    ASurfaceTransaction_setFrameTimeline :: proc "c" (
    	transaction: ^ASurfaceTransaction, 
    	vsyncId:     i64, 
    ) ---
     

    API level 33

    ASurfaceTransaction_setGeometry ¶

    ASurfaceTransaction_setGeometry :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	source:          ^ARect, 
    	destination:     ^ARect, 
    	transform:       ANativeWindowTransform, 
    ) ---

    ASurfaceTransaction_setHdrMetadata_cta861_3 ¶

    ASurfaceTransaction_setHdrMetadata_cta861_3 :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	metadata:        ^AHdrMetadata_cta861_3, 
    ) ---

    ASurfaceTransaction_setHdrMetadata_smpte2086 ¶

    ASurfaceTransaction_setHdrMetadata_smpte2086 :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	metadata:        ^AHdrMetadata_smpte2086, 
    ) ---

    ASurfaceTransaction_setLuts ¶

    ASurfaceTransaction_setLuts :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	luts:            ^ADisplayLuts, 
    ) ---
     

    API level 36

    ASurfaceTransaction_setOnCommit ¶

    ASurfaceTransaction_setOnCommit :: proc "c" (
    	transaction: ^ASurfaceTransaction, 
    	context_:    rawptr, 
    	func:        ASurfaceTransaction_OnCommit, 
    ) ---
     

    API level 31

    ASurfaceTransaction_setOnComplete ¶

    ASurfaceTransaction_setOnComplete :: proc "c" (
    	transaction: ^ASurfaceTransaction, 
    	context_:    rawptr, 
    	func:        ASurfaceTransaction_OnComplete, 
    ) ---

    ASurfaceTransaction_setPosition ¶

    ASurfaceTransaction_setPosition :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	x:               i32, 
    	y:               i32, 
    ) ---
     

    API level 31

    ASurfaceTransaction_setScale ¶

    ASurfaceTransaction_setScale :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	xScale:          f32, 
    	yScale:          f32, 
    ) ---
     

    API level 31

    ASurfaceTransaction_setVisibility ¶

    ASurfaceTransaction_setVisibility :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	visibility:      ASurfaceTransactionVisibility, 
    ) ---

    ASurfaceTransaction_setZOrder ¶

    ASurfaceTransaction_setZOrder :: proc "c" (
    	transaction:     ^ASurfaceTransaction, 
    	surface_control: ^ASurfaceControl, 
    	z_order:         i32, 
    ) ---

    ASystemFontIterator_close ¶

    ASystemFontIterator_close :: proc "c" (iterator: ^ASystemFontIterator) ---

    ASystemFontIterator_next ¶

    ASystemFontIterator_next :: proc "c" (iterator: ^ASystemFontIterator) -> ^AFont ---

    ASystemFontIterator_open ¶

    ASystemFontIterator_open :: proc "c" () -> ^ASystemFontIterator ---

    ASystemHealth_getCpuHeadroom ¶

    ASystemHealth_getCpuHeadroom :: proc "c" (
    	params:      ^ACpuHeadroomParams, 
    	outHeadroom: ^f32, 
    ) -> i32 ---
     

    API level 36

    ASystemHealth_getCpuHeadroomCalculationWindowRange ¶

    ASystemHealth_getCpuHeadroomCalculationWindowRange :: proc "c" (
    	outMinMillis: ^i32, 
    	outMaxMillis: ^i32, 
    ) -> i32 ---
     

    API level 36

    ASystemHealth_getCpuHeadroomMinIntervalMillis ¶

    ASystemHealth_getCpuHeadroomMinIntervalMillis :: proc "c" (outMinIntervalMillis: ^i64) -> i32 ---
     

    API level 36

    ASystemHealth_getGpuHeadroom ¶

    ASystemHealth_getGpuHeadroom :: proc "c" (
    	params:      ^AGpuHeadroomParams, 
    	outHeadroom: ^f32, 
    ) -> i32 ---
     

    API level 36

    ASystemHealth_getGpuHeadroomCalculationWindowRange ¶

    ASystemHealth_getGpuHeadroomCalculationWindowRange :: proc "c" (
    	outMinMillis: ^i32, 
    	outMaxMillis: ^i32, 
    ) -> i32 ---
     

    API level 36

    ASystemHealth_getGpuHeadroomMinIntervalMillis ¶

    ASystemHealth_getGpuHeadroomMinIntervalMillis :: proc "c" (outMinIntervalMillis: ^i64) -> i32 ---
     

    API level 36

    ASystemHealth_getMaxCpuHeadroomTidsSize ¶

    ASystemHealth_getMaxCpuHeadroomTidsSize :: proc "c" (outSize: ^uint) -> i32 ---
     

    API level 36

    AThermal_acquireManager ¶

    AThermal_acquireManager :: proc "c" () -> ^AThermalManager ---
     

    API level 30

    AThermal_getCurrentThermalStatus ¶

    AThermal_getCurrentThermalStatus :: proc "c" (manager: ^AThermalManager) -> AThermalStatus ---
     

    API level 30

    AThermal_getThermalHeadroom ¶

    AThermal_getThermalHeadroom :: proc "c" (
    	manager:         ^AThermalManager, 
    	forecastSeconds: i32, 
    ) -> f32 ---
     

    API level 31

    AThermal_getThermalHeadroomThresholds ¶

    AThermal_getThermalHeadroomThresholds :: proc "c" (
    	manager:       ^AThermalManager, 
    	outThresholds: ^^AThermalHeadroomThreshold, 
    	size:          ^uint, 
    ) -> i32 ---
     

    API level 35

    AThermal_registerThermalHeadroomListener ¶

    AThermal_registerThermalHeadroomListener :: proc "c" (
    	manager:  ^AThermalManager, 
    	callback: AThermal_HeadroomCallback, 
    	data:     rawptr, 
    ) -> i32 ---
     

    API level 36

    AThermal_registerThermalStatusListener ¶

    AThermal_registerThermalStatusListener :: proc "c" (
    	manager:  ^AThermalManager, 
    	callback: AThermal_StatusCallback, 
    	data:     rawptr, 
    ) -> i32 ---
     

    API level 30

    AThermal_releaseManager ¶

    AThermal_releaseManager :: proc "c" (manager: ^AThermalManager) ---
     

    API level 30

    AThermal_unregisterThermalHeadroomListener ¶

    AThermal_unregisterThermalHeadroomListener :: proc "c" (
    	manager:  ^AThermalManager, 
    	callback: AThermal_HeadroomCallback, 
    	data:     rawptr, 
    ) -> i32 ---
     

    API level 36

    AThermal_unregisterThermalStatusListener ¶

    AThermal_unregisterThermalStatusListener :: proc "c" (
    	manager:  ^AThermalManager, 
    	callback: AThermal_StatusCallback, 
    	data:     rawptr, 
    ) -> i32 ---
     

    API level 30

    ATrace_beginAsyncSection ¶

    ATrace_beginAsyncSection :: proc "c" (sectionName: cstring, cookie: i32) ---

    ATrace_beginSection ¶

    ATrace_beginSection :: proc "c" (sectionName: cstring) ---

    ATrace_endAsyncSection ¶

    ATrace_endAsyncSection :: proc "c" (sectionName: cstring, cookie: i32) ---

    ATrace_endSection ¶

    ATrace_endSection :: proc "c" () ---

    ATrace_isEnabled ¶

    ATrace_isEnabled :: proc "c" () -> bool ---

    ATrace_setCounter ¶

    ATrace_setCounter :: proc "c" (counterName: cstring, counterValue: i64) ---

    AWorkDuration_create ¶

    AWorkDuration_create :: proc "c" () -> ^AWorkDuration ---
     

    API level 35

    AWorkDuration_release ¶

    AWorkDuration_release :: proc "c" (aWorkDuration: ^AWorkDuration) ---
     

    API level 35

    AWorkDuration_setActualCpuDurationNanos ¶

    AWorkDuration_setActualCpuDurationNanos :: proc "c" (
    	aWorkDuration:          ^AWorkDuration, 
    	actualCpuDurationNanos: i64, 
    ) ---
     

    API level 35

    AWorkDuration_setActualGpuDurationNanos ¶

    AWorkDuration_setActualGpuDurationNanos :: proc "c" (
    	aWorkDuration:          ^AWorkDuration, 
    	actualGpuDurationNanos: i64, 
    ) ---
     

    API level 35

    AWorkDuration_setActualTotalDurationNanos ¶

    AWorkDuration_setActualTotalDurationNanos :: proc "c" (
    	aWorkDuration:            ^AWorkDuration, 
    	actualTotalDurationNanos: i64, 
    ) ---
     

    API level 35

    AWorkDuration_setWorkPeriodStartTimestampNanos ¶

    AWorkDuration_setWorkPeriodStartTimestampNanos :: proc "c" (
    	aWorkDuration:                 ^AWorkDuration, 
    	workPeriodStartTimestampNanos: i64, 
    ) ---
     

    API level 35

    JNI_CreateJavaVM ¶

    JNI_CreateJavaVM :: proc "c" (_0: ^^JavaVM, _1: ^^JNIEnv, _2: rawptr) -> i32 ---
     

    API level 31

    JNI_GetCreatedJavaVMs ¶

    JNI_GetCreatedJavaVMs :: proc "c" (_0: ^^JavaVM, _1: i32, _2: ^i32) -> i32 ---
     

    API level 31

    JNI_GetDefaultJavaVMInitArgs ¶

    JNI_GetDefaultJavaVMInitArgs :: proc "c" (_0: rawptr) -> i32 ---
     

    API level 31

    android_crash_detail_register ¶

    android_crash_detail_register :: proc "c" (
    	name:      rawptr, 
    	name_size: uint, 
    	data:      rawptr, 
    	data_size: uint, 
    ) -> ^crash_detail_t ---
     

    API level 35

    android_crash_detail_replace_data ¶

    android_crash_detail_replace_data :: proc "c" (
    	crash_detail: ^crash_detail_t, 
    	data:         rawptr, 
    	data_size:    uint, 
    ) ---
     

    API level 35

    android_crash_detail_replace_name ¶

    android_crash_detail_replace_name :: proc "c" (
    	crash_detail: ^crash_detail_t, 
    	name:         rawptr, 
    	name_size:    uint, 
    ) ---
     

    API level 35

    android_crash_detail_unregister ¶

    android_crash_detail_unregister :: proc "c" (crash_detail: ^crash_detail_t) ---
     

    API level 35

    android_dlopen_ext ¶

    android_dlopen_ext :: proc "c" (
    	filename: cstring, 
    	flags:    i32, 
    	info:     ^android_dlextinfo, 
    ) -> rawptr ---

    android_fdsan_close_with_tag ¶

    android_fdsan_close_with_tag :: proc "c" (fd: i32, tag: u64) -> i32 ---

    android_fdsan_create_owner_tag ¶

    android_fdsan_create_owner_tag :: proc "c" (type: android_fdsan_owner_type, tag: u64) -> u64 ---

    android_fdsan_exchange_owner_tag ¶

    android_fdsan_exchange_owner_tag :: proc "c" (fd: i32, expected_tag: u64, new_tag: u64) ---

    android_fdsan_get_error_level ¶

    android_fdsan_get_error_level :: proc "c" () -> android_fdsan_error_level ---

    android_fdsan_get_owner_tag ¶

    android_fdsan_get_owner_tag :: proc "c" (fd: i32) -> u64 ---

    android_fdsan_get_tag_type ¶

    android_fdsan_get_tag_type :: proc "c" (tag: u64) -> cstring ---

    android_fdsan_get_tag_value ¶

    android_fdsan_get_tag_value :: proc "c" (tag: u64) -> u64 ---

    android_get_application_target_sdk_version ¶

    android_get_application_target_sdk_version :: proc "c" () -> i32 ---

    android_get_device_api_level ¶

    android_get_device_api_level :: proc "c" () -> i32 ---

    android_getaddrinfofornetwork ¶

    android_getaddrinfofornetwork :: proc "c" (
    	network: u64, 
    	node:    cstring, 
    	service: cstring, 
    	hints:   ^posix.addrinfo, 
    	res:     ^^posix.addrinfo, 
    ) -> i32 ---

    android_getnetworkblockedreason ¶

    android_getnetworkblockedreason :: proc "c" (sockfd: i32) -> i32 ---
     

    API level 37

    android_getprocdns ¶

    android_getprocdns :: proc "c" (network: ^u64) -> i32 ---
     

    API level 31

    android_getprocnetwork ¶

    android_getprocnetwork :: proc "c" (network: ^u64) -> i32 ---
     

    API level 31

    android_res_cancel ¶

    android_res_cancel :: proc "c" (nsend_fd: i32) ---

    android_res_nquery ¶

    android_res_nquery :: proc "c" (
    	network:  u64, 
    	dname:    cstring, 
    	ns_class: i32, 
    	ns_type:  i32, 
    	flags:    ResNsendFlags, 
    ) -> i32 ---

    android_res_nresult ¶

    android_res_nresult :: proc "c" (fd: i32, rcode: ^i32, answer: ^u8, anslen: uint) -> i32 ---

    android_res_nsend ¶

    android_res_nsend :: proc "c" (
    	network: u64, 
    	msg:     ^u8, 
    	msglen:  uint, 
    	flags:   ResNsendFlags, 
    ) -> i32 ---

    android_set_abort_message ¶

    android_set_abort_message :: proc "c" (msg: cstring) ---

    android_setprocdns ¶

    android_setprocdns :: proc "c" (network: u64) -> i32 ---
     

    API level 31

    android_setprocnetwork ¶

    android_setprocnetwork :: proc "c" (network: u64) -> i32 ---

    android_setsocknetwork ¶

    android_setsocknetwork :: proc "c" (network: u64, fd: i32) -> i32 ---

    android_tag_socket ¶

    android_tag_socket :: proc "c" (sockfd: i32, tag: u32) -> i32 ---
     

    API level 33

    android_tag_socket_with_uid ¶

    android_tag_socket_with_uid :: proc "c" (sockfd: i32, tag: u32, uid: u32) -> i32 ---
     

    API level 33

    android_untag_socket ¶

    android_untag_socket :: proc "c" (sockfd: i32) -> i32 ---
     

    API level 33

    asset_list ¶

    asset_list :: proc(
    	path:      string, 
    	allocator := context.allocator, 
    ) -> (names: []string, ok: bool) {…}
     

    The names of the files and directories directly in the asset directory path, relative to the APK's assets directory, in no particular order. "" is the top, which also holds a few directories of the system's own, like images and webkit. Free them with asset_list_delete.

    It calls Java's AssetManager.list through JNI. The NDK's AAssetDir lists files only, never directories.

    Allocates Using Provided Allocator

    asset_list_delete ¶

    asset_list_delete :: proc(names: []string, allocator := context.allocator) {…}
     

    Free the names asset_list returned.

    asset_manager ¶

    asset_manager :: proc "contextless" () -> ^AAssetManager {…}
     

    The app's AAssetManager, or nil before asset_set_manager.

    asset_open ¶

    asset_open :: proc "contextless" (
    	path: string, 
    	mode: AAssetMode = AAssetMode.UNKNOWN, 
    ) -> ^AAsset {…}
     

    Open the asset at path, relative to the APK's assets directory.

    Returns nil if there is no such file, or no asset manager. Close it with AAsset_close, or through asset_to_stream.

    asset_read_entire_file ¶

    asset_read_entire_file :: proc(
    	path:      string, 
    	allocator := context.allocator, 
    	loc := #caller_location, 
    ) -> (data: []u8, ok: bool) {…}
     

    Read the asset at path, relative to the APK's assets directory.

    Allocates Using Provided Allocator

    asset_set_manager ¶

    asset_set_manager :: proc "contextless" (env: ^JNIEnv, java_manager: rawptr) -> bool {…}
     

    Keep the app's android.content.res.AssetManager for the asset_* procedures and core:os's /android_asset paths.

    core:sys/android/native_app_glue sets the application's before main. Anything else calls it once, e.g. with getAssets() of the application's Context. A global reference to it is kept for the rest of the process.

    asset_to_stream ¶

    asset_to_stream :: proc "contextless" (asset: ^AAsset) -> io.Stream {…}
     

    An io.Stream over asset, which the stream then owns: .Close and .Destroy close the asset.

    It reads, seeks, and reports its size. .Read_At seeks there and back, so the stream must not be shared between threads.

    jni_env ¶

    jni_env :: proc "contextless" () -> ^JNIEnv {…}
     

    This thread's JNIEnv.

    A thread Java did not start is attached on first use, and detached when it exits. Returns nil before jni_set_vm, or if attaching fails.

    jni_set_vm ¶

    jni_set_vm :: proc "contextless" (vm: ^JavaVM) {…}
     

    Set the process's JavaVM, which jni_env and the vendor:android/java wrappers use.

    core:sys/android/native_app_glue sets it from the activity. Anything else calls it once, e.g. from an exported JNI_OnLoad.

    jni_take_exception ¶

    jni_take_exception :: proc "contextless" (env: ^JNIEnv) -> rawptr {…}
     

    Clear the exception pending on env, if any, and return it as a local reference.

    Every JNI call that can throw must be followed by this (or by env->ExceptionClear()). Calling JNI with an exception pending aborts the app.

    jni_vm ¶

    jni_vm :: proc "contextless" () -> ^JavaVM {…}
     

    The process's JavaVM, or nil before jni_set_vm.

    redirect_stdio_to_logcat ¶

    redirect_stdio_to_logcat :: proc "contextless" (tag: string = "Odin") -> bool {…}
     

    Send the process's stdout and stderr to logcat, one entry per line, tagged with tag (up to 63 bytes). stdout is logged at .INFO and stderr at .WARN, each read by a thread of its own. Lines from one keep their order, but a line of stdout and a line of stderr can reach logcat in either order.

    An Android app's stdout and stderr go to /dev/null otherwise. core:sys/android/native_app_glue calls this before main, tagged with the package name, unless the app is built with -define:ODIN_ANDROID_STDIO_TO_LOGCAT=false. C code writing through libc.stdout is switched to line buffering.

    Procedure Groups

    This section is empty.

    Source Files

    Generation Information

    Generated with odin version dev-2026-10 (vendor "odin") Windows_amd64 @ 2026-10-31 23:54:16.590839100 +0000 UTC