func LooperPrepare(opts int32) *Looper {
	copts, _ := (C.int)(opts), cgoAllocsUnknown
	__ret := C.ALooper_prepare(copts)
	__v := *(**Looper)(unsafe.Pointer(&__ret))
	return __v
}
LooperPrepare function as declared in android/looper.h:65
package android
import "C"
import "unsafe"
func AssetManagerOpenDir(mgr *AssetManager, dirName string) *AssetDir {
	cmgr, _ := (*C.AAssetManager)(unsafe.Pointer(mgr)), cgoAllocsUnknown
	cdirName, _ := unpackPCharString(dirName)
	__ret := C.AAssetManager_openDir(cmgr, cdirName)
	__v := *(**AssetDir)(unsafe.Pointer(&__ret))
	return __v
}
func AssetManagerOpen(mgr *AssetManager, filename string, mode int32) *Asset {
	cmgr, _ := (*C.AAssetManager)(unsafe.Pointer(mgr)), cgoAllocsUnknown
	cfilename, _ := unpackPCharString(filename)
	cmode, _ := (C.int)(mode), cgoAllocsUnknown
	__ret := C.AAssetManager_open(cmgr, cfilename, cmode)
	__v := *(**Asset)(unsafe.Pointer(&__ret))
	return __v
}
func AssetDirGetNextFileName(assetDir *AssetDir) string {
	cassetDir, _ := (*C.AAssetDir)(unsafe.Pointer(assetDir)), cgoAllocsUnknown
	__ret := C.AAssetDir_getNextFileName(cassetDir)
	__v := packPCharString(__ret)
	return __v
}
func AssetDirRewind(assetDir *AssetDir) {
	cassetDir, _ := (*C.AAssetDir)(unsafe.Pointer(assetDir)), cgoAllocsUnknown
	C.AAssetDir_rewind(cassetDir)
}
func AssetDirClose(assetDir *AssetDir) {
	cassetDir, _ := (*C.AAssetDir)(unsafe.Pointer(assetDir)), cgoAllocsUnknown
	C.AAssetDir_close(cassetDir)
}
func AssetRead(asset *Asset, buf unsafe.Pointer, count uint32) int32 {
	casset, _ := (*C.AAsset)(unsafe.Pointer(asset)), cgoAllocsUnknown
	cbuf, _ := buf, cgoAllocsUnknown
	ccount, _ := (C.size_t)(count), cgoAllocsUnknown
	__ret := C.AAsset_read(casset, cbuf, ccount)
	__v := (int32)(__ret)
	return __v
}
func AssetSeek(asset *Asset, offset int, whence int32) int {
	casset, _ := (*C.AAsset)(unsafe.Pointer(asset)), cgoAllocsUnknown
	coffset, _ := (C.off_t)(offset), cgoAllocsUnknown
	cwhence, _ := (C.int)(whence), cgoAllocsUnknown
	__ret := C.AAsset_seek(casset, coffset, cwhence)
	__v := (int)(__ret)
	return __v
}
func AssetSeek64(asset *Asset, offset int64, whence int32) int64 {
	casset, _ := (*C.AAsset)(unsafe.Pointer(asset)), cgoAllocsUnknown
	coffset, _ := (C.off64_t)(offset), cgoAllocsUnknown
	cwhence, _ := (C.int)(whence), cgoAllocsUnknown
	__ret := C.AAsset_seek64(casset, coffset, cwhence)
	__v := (int64)(__ret)
	return __v
}
func AssetClose(asset *Asset) {
	casset, _ := (*C.AAsset)(unsafe.Pointer(asset)), cgoAllocsUnknown
	C.AAsset_close(casset)
}
func AssetGetBuffer(asset *Asset) unsafe.Pointer {
	casset, _ := (*C.AAsset)(unsafe.Pointer(asset)), cgoAllocsUnknown
	__ret := C.AAsset_getBuffer(casset)
	__v := *(*unsafe.Pointer)(unsafe.Pointer(&__ret))
	return __v
}
func AssetGetLength(asset *Asset) int {
	casset, _ := (*C.AAsset)(unsafe.Pointer(asset)), cgoAllocsUnknown
	__ret := C.AAsset_getLength(casset)
	__v := (int)(__ret)
	return __v
}
func AssetGetLength64(asset *Asset) int64 {
	casset, _ := (*C.AAsset)(unsafe.Pointer(asset)), cgoAllocsUnknown
	__ret := C.AAsset_getLength64(casset)
	__v := (int64)(__ret)
	return __v
}
func AssetGetRemainingLength(asset *Asset) int {
	casset, _ := (*C.AAsset)(unsafe.Pointer(asset)), cgoAllocsUnknown
	__ret := C.AAsset_getRemainingLength(casset)
	__v := (int)(__ret)
	return __v
}
func AssetGetRemainingLength64(asset *Asset) int64 {
	casset, _ := (*C.AAsset)(unsafe.Pointer(asset)), cgoAllocsUnknown
	__ret := C.AAsset_getRemainingLength64(casset)
	__v := (int64)(__ret)
	return __v
}
func AssetOpenFileDescriptor(asset *Asset, outStart *int, outLength *int) int32 {
	casset, _ := (*C.AAsset)(unsafe.Pointer(asset)), cgoAllocsUnknown
	coutStart, _ := (*C.off_t)(unsafe.Pointer(outStart)), cgoAllocsUnknown
	coutLength, _ := (*C.off_t)(unsafe.Pointer(outLength)), cgoAllocsUnknown
	__ret := C.AAsset_openFileDescriptor(casset, coutStart, coutLength)
	__v := (int32)(__ret)
	return __v
}
func AssetOpenFileDescriptor64(asset *Asset, outStart *int64, outLength *int64) int32 {
	casset, _ := (*C.AAsset)(unsafe.Pointer(asset)), cgoAllocsUnknown
	coutStart, _ := (*C.off64_t)(unsafe.Pointer(outStart)), cgoAllocsUnknown
	coutLength, _ := (*C.off64_t)(unsafe.Pointer(outLength)), cgoAllocsUnknown
	__ret := C.AAsset_openFileDescriptor64(casset, coutStart, coutLength)
	__v := (int32)(__ret)
	return __v
}
func AssetIsAllocated(asset *Asset) int32 {
	casset, _ := (*C.AAsset)(unsafe.Pointer(asset)), cgoAllocsUnknown
	__ret := C.AAsset_isAllocated(casset)
	__v := (int32)(__ret)
	return __v
}
func AssetManagerFromJava(env *JNIEnv, assetManager Jobject) *AssetManager {
	cenv, _ := (*C.JNIEnv)(unsafe.Pointer(env)), cgoAllocsUnknown
	cassetManager, _ := (C.jobject)(assetManager), cgoAllocsUnknown
	__ret := C.AAssetManager_fromJava(cenv, cassetManager)
	__v := *(**AssetManager)(unsafe.Pointer(&__ret))
	return __v
}
func ConfigurationNew() *Configuration {
	__ret := C.AConfiguration_new()
	__v := *(**Configuration)(unsafe.Pointer(&__ret))
	return __v
}
func ConfigurationDelete(config *Configuration) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	C.AConfiguration_delete(cconfig)
}
func ConfigurationFromAssetManager(out *Configuration, am *AssetManager) {
	cout, _ := (*C.AConfiguration)(unsafe.Pointer(out)), cgoAllocsUnknown
	cam, _ := (*C.AAssetManager)(unsafe.Pointer(am)), cgoAllocsUnknown
	C.AConfiguration_fromAssetManager(cout, cam)
}
func ConfigurationCopy(dest *Configuration, src *Configuration) {
	cdest, _ := (*C.AConfiguration)(unsafe.Pointer(dest)), cgoAllocsUnknown
	csrc, _ := (*C.AConfiguration)(unsafe.Pointer(src)), cgoAllocsUnknown
	C.AConfiguration_copy(cdest, csrc)
}
func ConfigurationGetMcc(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getMcc(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetMcc(config *Configuration, mcc int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	cmcc, _ := (C.int32_t)(mcc), cgoAllocsUnknown
	C.AConfiguration_setMcc(cconfig, cmcc)
}
func ConfigurationGetMnc(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getMnc(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetMnc(config *Configuration, mnc int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	cmnc, _ := (C.int32_t)(mnc), cgoAllocsUnknown
	C.AConfiguration_setMnc(cconfig, cmnc)
}
func ConfigurationGetLanguage(config *Configuration, outLanguage *byte) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	coutLanguage, _ := (*C.char)(unsafe.Pointer(outLanguage)), cgoAllocsUnknown
	C.AConfiguration_getLanguage(cconfig, coutLanguage)
}
func ConfigurationSetLanguage(config *Configuration, language string) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	clanguage, _ := unpackPCharString(language)
	C.AConfiguration_setLanguage(cconfig, clanguage)
}
func ConfigurationGetCountry(config *Configuration, outCountry *byte) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	coutCountry, _ := (*C.char)(unsafe.Pointer(outCountry)), cgoAllocsUnknown
	C.AConfiguration_getCountry(cconfig, coutCountry)
}
func ConfigurationSetCountry(config *Configuration, country string) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	ccountry, _ := unpackPCharString(country)
	C.AConfiguration_setCountry(cconfig, ccountry)
}
func ConfigurationGetOrientation(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getOrientation(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetOrientation(config *Configuration, orientation int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	corientation, _ := (C.int32_t)(orientation), cgoAllocsUnknown
	C.AConfiguration_setOrientation(cconfig, corientation)
}
func ConfigurationGetTouchscreen(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getTouchscreen(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetTouchscreen(config *Configuration, touchscreen int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	ctouchscreen, _ := (C.int32_t)(touchscreen), cgoAllocsUnknown
	C.AConfiguration_setTouchscreen(cconfig, ctouchscreen)
}
func ConfigurationGetDensity(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getDensity(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetDensity(config *Configuration, density int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	cdensity, _ := (C.int32_t)(density), cgoAllocsUnknown
	C.AConfiguration_setDensity(cconfig, cdensity)
}
func ConfigurationGetKeyboard(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getKeyboard(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetKeyboard(config *Configuration, keyboard int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	ckeyboard, _ := (C.int32_t)(keyboard), cgoAllocsUnknown
	C.AConfiguration_setKeyboard(cconfig, ckeyboard)
}
func ConfigurationGetNavigation(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getNavigation(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetNavigation(config *Configuration, navigation int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	cnavigation, _ := (C.int32_t)(navigation), cgoAllocsUnknown
	C.AConfiguration_setNavigation(cconfig, cnavigation)
}
func ConfigurationGetKeysHidden(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getKeysHidden(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetKeysHidden(config *Configuration, keysHidden int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	ckeysHidden, _ := (C.int32_t)(keysHidden), cgoAllocsUnknown
	C.AConfiguration_setKeysHidden(cconfig, ckeysHidden)
}
func ConfigurationGetNavHidden(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getNavHidden(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetNavHidden(config *Configuration, navHidden int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	cnavHidden, _ := (C.int32_t)(navHidden), cgoAllocsUnknown
	C.AConfiguration_setNavHidden(cconfig, cnavHidden)
}
func ConfigurationGetSdkVersion(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getSdkVersion(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetSdkVersion(config *Configuration, sdkVersion int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	csdkVersion, _ := (C.int32_t)(sdkVersion), cgoAllocsUnknown
	C.AConfiguration_setSdkVersion(cconfig, csdkVersion)
}
func ConfigurationGetScreenSize(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getScreenSize(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetScreenSize(config *Configuration, screenSize int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	cscreenSize, _ := (C.int32_t)(screenSize), cgoAllocsUnknown
	C.AConfiguration_setScreenSize(cconfig, cscreenSize)
}
func ConfigurationGetScreenLong(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getScreenLong(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetScreenLong(config *Configuration, screenLong int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	cscreenLong, _ := (C.int32_t)(screenLong), cgoAllocsUnknown
	C.AConfiguration_setScreenLong(cconfig, cscreenLong)
}
func ConfigurationGetUiModeType(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getUiModeType(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetUiModeType(config *Configuration, uiModeType int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	cuiModeType, _ := (C.int32_t)(uiModeType), cgoAllocsUnknown
	C.AConfiguration_setUiModeType(cconfig, cuiModeType)
}
func ConfigurationGetUiModeNight(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getUiModeNight(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetUiModeNight(config *Configuration, uiModeNight int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	cuiModeNight, _ := (C.int32_t)(uiModeNight), cgoAllocsUnknown
	C.AConfiguration_setUiModeNight(cconfig, cuiModeNight)
}
func ConfigurationGetScreenWidthDp(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getScreenWidthDp(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetScreenWidthDp(config *Configuration, value int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	cvalue, _ := (C.int32_t)(value), cgoAllocsUnknown
	C.AConfiguration_setScreenWidthDp(cconfig, cvalue)
}
func ConfigurationGetScreenHeightDp(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getScreenHeightDp(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetScreenHeightDp(config *Configuration, value int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	cvalue, _ := (C.int32_t)(value), cgoAllocsUnknown
	C.AConfiguration_setScreenHeightDp(cconfig, cvalue)
}
func ConfigurationGetSmallestScreenWidthDp(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getSmallestScreenWidthDp(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetSmallestScreenWidthDp(config *Configuration, value int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	cvalue, _ := (C.int32_t)(value), cgoAllocsUnknown
	C.AConfiguration_setSmallestScreenWidthDp(cconfig, cvalue)
}
func ConfigurationGetLayoutDirection(config *Configuration) int32 {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	__ret := C.AConfiguration_getLayoutDirection(cconfig)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationSetLayoutDirection(config *Configuration, value int32) {
	cconfig, _ := (*C.AConfiguration)(unsafe.Pointer(config)), cgoAllocsUnknown
	cvalue, _ := (C.int32_t)(value), cgoAllocsUnknown
	C.AConfiguration_setLayoutDirection(cconfig, cvalue)
}
func ConfigurationDiff(config1 *Configuration, config2 *Configuration) int32 {
	cconfig1, _ := (*C.AConfiguration)(unsafe.Pointer(config1)), cgoAllocsUnknown
	cconfig2, _ := (*C.AConfiguration)(unsafe.Pointer(config2)), cgoAllocsUnknown
	__ret := C.AConfiguration_diff(cconfig1, cconfig2)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationMatch(base *Configuration, requested *Configuration) int32 {
	cbase, _ := (*C.AConfiguration)(unsafe.Pointer(base)), cgoAllocsUnknown
	crequested, _ := (*C.AConfiguration)(unsafe.Pointer(requested)), cgoAllocsUnknown
	__ret := C.AConfiguration_match(cbase, crequested)
	__v := (int32)(__ret)
	return __v
}
func ConfigurationIsBetterThan(base *Configuration, test *Configuration, requested *Configuration) int32 {
	cbase, _ := (*C.AConfiguration)(unsafe.Pointer(base)), cgoAllocsUnknown
	ctest, _ := (*C.AConfiguration)(unsafe.Pointer(test)), cgoAllocsUnknown
	crequested, _ := (*C.AConfiguration)(unsafe.Pointer(requested)), cgoAllocsUnknown
	__ret := C.AConfiguration_isBetterThan(cbase, ctest, crequested)
	__v := (int32)(__ret)
	return __v
}
func LogWrite(prio int32, tag string, text string) int32 {
	cprio, _ := (C.int)(prio), cgoAllocsUnknown
	ctag, _ := unpackPCharString(tag)
	ctext, _ := unpackPCharString(text)
	__ret := C.__android_log_write(cprio, ctag, ctext)
	__v := (int32)(__ret)
	return __v
}
func LooperForThread() *Looper {
	__ret := C.ALooper_forThread()
	__v := *(**Looper)(unsafe.Pointer(&__ret))
	return __v
}