From 0b6929c5223648e5d0789e8c13db6806f153d5fc Mon Sep 17 00:00:00 2001 From: Greg Date: Tue, 16 Jun 2020 22:26:54 -0400 Subject: [PATCH] Add bouncing ball and acceleration sensor to examples/sensors --- android27/extra.go | 48 + android27/main.go | 1748 +++++++++++++-------------- android28/extra.go | 48 + android28/main.go | 2024 ++++++++++++++++---------------- android29/extra.go | 48 + android29/main.go | 1932 +++++++++++++++--------------- examples/sensors/main.go | 96 +- examples/sensors/os_android.go | 83 +- 8 files changed, 3148 insertions(+), 2879 deletions(-) create mode 100644 android27/extra.go create mode 100644 android28/extra.go create mode 100644 android29/extra.go diff --git a/android27/extra.go b/android27/extra.go new file mode 100644 index 0000000..d369da4 --- /dev/null +++ b/android27/extra.go @@ -0,0 +1,48 @@ +package android27 + +/* +#cgo CFLAGS: -x objective-c -fno-objc-arc +#cgo LDFLAGS: -landroid -llog -lnativewindow -lm + +#import +#import + +typedef struct { + float x; + float y; + float z; + int8_t status; +} ASensorVector2; + +ASensorVector2 +ASensorAcceleration(ASensorEvent* event) { + ASensorVector2 ret; + ret.x = event->acceleration.x; + ret.y = event->acceleration.y; + ret.z = event->acceleration.z; + ret.status = event->acceleration.status; + return ret; +} + +ASensorEventQueue* +ASensorManager_createEventQueue2(ASensorManager* manager, ALooper* looper, int ident) { + return ASensorManager_createEventQueue(manager, looper, ident, 0, 0); +} +*/ +import "C" + +type ASensorVector C.ASensorVector2 + +func (x ASensorVector) X() Float { return (Float)(x.x) } +func (x ASensorVector) Y() Float { return (Float)(x.y) } +func (x ASensorVector) Z() Float { return (Float)(x.z) } + +func (x *ASensorEvent) Acceleration() ASensorVector { + return (ASensorVector)(C.ASensorAcceleration(x)) +} + +func ASensorManagerCreateEventQueue(manager *ASensorManager, looper *ALooper, ident int) *ASensorEventQueue { + ret := (*ASensorEventQueue)(C.ASensorManager_createEventQueue2((*C.ASensorManager)(manager), (*C.ALooper)(looper), (C.int)(ident))) + return ret +} + diff --git a/android27/main.go b/android27/main.go index 1f4221d..c464f5b 100644 --- a/android27/main.go +++ b/android27/main.go @@ -6,12 +6,18 @@ package android27 #cgo LDFLAGS: -landroid -llog -lnativewindow -lm #import + #import + #import + #import + #import + #import + */ import "C" @@ -26,39 +32,21 @@ func (o *Id) Ptr() unsafe.Pointer { if o == nil { return nil }; return o.ptr } type Double C.double -type Float C.float - -type ALooper = C.struct_ALooper - type Int C.int -type ASensorManager = C.struct_ASensorManager - type ASensorEventQueue = C.struct_ASensorEventQueue -type Uintmax_t C.uint64_t - -type Char C.char - type ASensor = C.struct_ASensor -type Mode_t C.__mode_t - -type AHardwareBuffer = C.struct_AHardwareBuffer - -type Uint64_t C.__uint64_t - -type Int32_t C.__int32_t - -type ARect = C.struct_ARect - -type ANativeWindow = C.struct_ANativeWindow - -type Dev_t C.uint64_t - type Bool C.bool -type Stat_t = C.struct_stat +type Char C.char + +type Mode_t C.__mode_t + +type Float C.float + +type LongLong C.longlong type Ssize_t C.__kernel_ssize_t @@ -66,44 +54,41 @@ type ASensorEvent = C.struct_ASensorEvent type Size_t C.ulong -type Stat64_t = C.struct_stat64 +type AHardwareBuffer = C.AHardwareBuffer -type Long C.long - -type LongLong C.longlong - -type ASensorList *C.ASensorRef - -type Timespec = C.struct_timespec - -type ANativeWindow_Buffer = C.struct_ANativeWindow_Buffer +type ASensorManager = C.struct_ASensorManager type Intmax_t C.int64_t -type AHardwareBuffer_Desc = C.struct_AHardwareBuffer_Desc +type Int32_t C.__int32_t + +type ANativeWindow = C.struct_ANativeWindow + +type Stat_t = C.struct_stat + +type Long C.long + +type Uintmax_t C.uint64_t + +type ALooper = C.struct_ALooper + +type Uint64_t C.__uint64_t + +type ARect = C.struct_ARect + +type Stat64_t = C.struct_stat64 + +type AHardwareBuffer_Desc = C.AHardwareBuffer_Desc + +type Dev_t C.uint64_t + +type Timespec = C.struct_timespec type Int64_t C.__int64_t -const WINDOW_FORMAT_RGBA_8888 = C.WINDOW_FORMAT_RGBA_8888 -const WINDOW_FORMAT_RGBX_8888 = C.WINDOW_FORMAT_RGBX_8888 -const WINDOW_FORMAT_RGB_565 = C.WINDOW_FORMAT_RGB_565 -const ANATIVEWINDOW_TRANSFORM_IDENTITY = C.ANATIVEWINDOW_TRANSFORM_IDENTITY -const ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL = C.ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL -const ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL = C.ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL -const ANATIVEWINDOW_TRANSFORM_ROTATE_90 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_90 -const ANATIVEWINDOW_TRANSFORM_ROTATE_180 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_180 -const ANATIVEWINDOW_TRANSFORM_ROTATE_270 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_270 - -const ANDROID_LOG_UNKNOWN = C.ANDROID_LOG_UNKNOWN -const ANDROID_LOG_DEFAULT = C.ANDROID_LOG_DEFAULT -const ANDROID_LOG_VERBOSE = C.ANDROID_LOG_VERBOSE -const ANDROID_LOG_DEBUG = C.ANDROID_LOG_DEBUG -const ANDROID_LOG_INFO = C.ANDROID_LOG_INFO -const ANDROID_LOG_WARN = C.ANDROID_LOG_WARN -const ANDROID_LOG_ERROR = C.ANDROID_LOG_ERROR -const ANDROID_LOG_FATAL = C.ANDROID_LOG_FATAL -const ANDROID_LOG_SILENT = C.ANDROID_LOG_SILENT +type ASensorList *C.ASensorRef +type ANativeWindow_Buffer = C.struct_ANativeWindow_Buffer const LOG_ID_MIN = C.LOG_ID_MIN const LOG_ID_MAIN = C.LOG_ID_MAIN const LOG_ID_RADIO = C.LOG_ID_RADIO @@ -181,6 +166,27 @@ const AHARDWAREBUFFER_USAGE_VENDOR_17 = C.AHARDWAREBUFFER_USAGE_VENDOR_17 const AHARDWAREBUFFER_USAGE_VENDOR_18 = C.AHARDWAREBUFFER_USAGE_VENDOR_18 const AHARDWAREBUFFER_USAGE_VENDOR_19 = C.AHARDWAREBUFFER_USAGE_VENDOR_19 +const WINDOW_FORMAT_RGBA_8888 = C.WINDOW_FORMAT_RGBA_8888 +const WINDOW_FORMAT_RGBX_8888 = C.WINDOW_FORMAT_RGBX_8888 +const WINDOW_FORMAT_RGB_565 = C.WINDOW_FORMAT_RGB_565 + +const ANATIVEWINDOW_TRANSFORM_IDENTITY = C.ANATIVEWINDOW_TRANSFORM_IDENTITY +const ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL = C.ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL +const ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL = C.ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL +const ANATIVEWINDOW_TRANSFORM_ROTATE_90 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_90 +const ANATIVEWINDOW_TRANSFORM_ROTATE_180 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_180 +const ANATIVEWINDOW_TRANSFORM_ROTATE_270 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_270 + +const ANDROID_LOG_UNKNOWN = C.ANDROID_LOG_UNKNOWN +const ANDROID_LOG_DEFAULT = C.ANDROID_LOG_DEFAULT +const ANDROID_LOG_VERBOSE = C.ANDROID_LOG_VERBOSE +const ANDROID_LOG_DEBUG = C.ANDROID_LOG_DEBUG +const ANDROID_LOG_INFO = C.ANDROID_LOG_INFO +const ANDROID_LOG_WARN = C.ANDROID_LOG_WARN +const ANDROID_LOG_ERROR = C.ANDROID_LOG_ERROR +const ANDROID_LOG_FATAL = C.ANDROID_LOG_FATAL +const ANDROID_LOG_SILENT = C.ANDROID_LOG_SILENT + const ALOOPER_PREPARE_ALLOW_NON_CALLBACKS = C.ALOOPER_PREPARE_ALLOW_NON_CALLBACKS const ALOOPER_POLL_WAKE = C.ALOOPER_POLL_WAKE @@ -267,8 +273,53 @@ func (c *Char) Free() { C.free(unsafe.Pointer(c)) } -func Modf(__x Double, __integral_part *Double) Double { - ret := (Double)(C.modf((C.double)(__x), (*C.double)(__integral_part))) +func Nextafter(__x Double, __y Double) Double { + ret := (Double)(C.nextafter((C.double)(__x), (C.double)(__y))) + return ret +} + +func ASensorEventQueueEnableSensor(queue *ASensorEventQueue, sensor *ASensor) Int { + ret := (Int)(C.ASensorEventQueue_enableSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor))) + return ret +} + +func ASensorIsWakeUpSensor(sensor *ASensor) Bool { + ret := (Bool)(C.ASensor_isWakeUpSensor((*C.ASensor)(sensor))) + return ret +} + +func Mkfifo(__path *Char, __mode Mode_t) Int { + ret := (Int)(C.mkfifo((*C.char)(__path), (C.mode_t)(__mode))) + return ret +} + +func AndroidGetApplicationTargetSdkVersion() Int { + ret := (Int)(C.android_get_application_target_sdk_version()) + return ret +} + +func Ldexp(__x Double, __exponent Int) Double { + ret := (Double)(C.ldexp((C.double)(__x), (C.int)(__exponent))) + return ret +} + +func Truncf(__x Float) Float { + ret := (Float)(C.truncf((C.float)(__x))) + return ret +} + +func Fmod(__x Double, __y Double) Double { + ret := (Double)(C.fmod((C.double)(__x), (C.double)(__y))) + return ret +} + +func ASensorGetMinDelay(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getMinDelay((*C.ASensor)(sensor))) + return ret +} + +func Remainderf(__x Float, __y Float) Float { + ret := (Float)(C.remainderf((C.float)(__x), (C.float)(__y))) return ret } @@ -277,47 +328,18 @@ func Fmaf(__x Float, __y Float, __z Float) Float { return ret } -func ALooperAcquire(looper *ALooper) { - C.ALooper_acquire((*C.ALooper)(looper)) -} - -func Fmod(__x Double, __y Double) Double { - ret := (Double)(C.fmod((C.double)(__x), (C.double)(__y))) +func ASensorGetStringType(sensor *ASensor) *Char { + ret := (*Char)(unsafe.Pointer(C.ASensor_getStringType((*C.ASensor)(sensor)))) return ret } -func Log2f(__x Float) Float { - ret := (Float)(C.log2f((C.float)(__x))) +func Atan2f(__y Float, __x Float) Float { + ret := (Float)(C.atan2f((C.float)(__y), (C.float)(__x))) return ret } -func Log10f(__x Float) Float { - ret := (Float)(C.log10f((C.float)(__x))) - return ret -} - -func Sqrt(__x Double) Double { - ret := (Double)(C.sqrt((C.double)(__x))) - return ret -} - -func Copysignf(__value Float, __sign Float) Float { - ret := (Float)(C.copysignf((C.float)(__value), (C.float)(__sign))) - return ret -} - -func Fmin(__x Double, __y Double) Double { - ret := (Double)(C.fmin((C.double)(__x), (C.double)(__y))) - return ret -} - -func ASensorManagerDestroyEventQueue(manager *ASensorManager, queue *ASensorEventQueue) Int { - ret := (Int)(C.ASensorManager_destroyEventQueue((*C.ASensorManager)(manager), (*C.ASensorEventQueue)(queue))) - return ret -} - -func Frexpf(__x Float, __exponent *Int) Float { - ret := (Float)(C.frexpf((C.float)(__x), (*C.int)(__exponent))) +func Logf(__x Float) Float { + ret := (Float)(C.logf((C.float)(__x))) return ret } @@ -326,38 +348,103 @@ func Logb(__x Double) Double { return ret } -func Cbrtf(__x Float) Float { - ret := (Float)(C.cbrtf((C.float)(__x))) +func Scalbnf(__x Float, __exponent Int) Float { + ret := (Float)(C.scalbnf((C.float)(__x), (C.int)(__exponent))) return ret } -func Strtoumax(__s *Char, __end_ptr []*Char, __base Int) Uintmax_t { - ret := (Uintmax_t)(C.strtoumax((*C.char)(__s), (**C.char)(unsafe.Pointer(&__end_ptr[0])), (C.int)(__base))) +func Remquo(__x Double, __y Double, __quotient_bits *Int) Double { + ret := (Double)(C.remquo((C.double)(__x), (C.double)(__y), (*C.int)(__quotient_bits))) return ret } -func ASensorGetStringType(sensor *ASensor) *Char { - ret := (*Char)(unsafe.Pointer(C.ASensor_getStringType((*C.ASensor)(sensor)))) +func Fdim(__x Double, __y Double) Double { + ret := (Double)(C.fdim((C.double)(__x), (C.double)(__y))) return ret } -func ASensorGetHighestDirectReportRateLevel(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getHighestDirectReportRateLevel((*C.ASensor)(sensor))) +func J1(__x Double) Double { + ret := (Double)(C.j1((C.double)(__x))) return ret } -func Mkdirat(__dir_fd Int, __path *Char, __mode Mode_t) Int { - ret := (Int)(C.mkdirat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode))) +func Sinhf(__x Float) Float { + ret := (Float)(C.sinhf((C.float)(__x))) return ret } -func AHardwareBufferLock(buffer *AHardwareBuffer, usage Uint64_t, fence Int32_t, rect *ARect, outVirtualAddress *unsafe.Pointer) Int { - ret := (Int)(C.AHardwareBuffer_lock((*C.AHardwareBuffer)(buffer), (C.uint64_t)(usage), (C.int32_t)(fence), (*C.ARect)(rect), outVirtualAddress)) +func Llround(__x Double) LongLong { + ret := (LongLong)(C.llround((C.double)(__x))) return ret } -func Sqrtf(__x Float) Float { - ret := (Float)(C.sqrtf((C.float)(__x))) +func Sin(__x Double) Double { + ret := (Double)(C.sin((C.double)(__x))) + return ret +} + +func ASensorEventQueueGetEvents(queue *ASensorEventQueue, events *ASensorEvent, count Size_t) Ssize_t { + ret := (Ssize_t)(C.ASensorEventQueue_getEvents((*C.ASensorEventQueue)(queue), (*C.ASensorEvent)(events), (C.size_t)(count))) + return ret +} + +func AHardwareBufferRecvHandleFromUnixSocket(socketFd Int, outBuffer []*AHardwareBuffer) Int { + ret := (Int)(C.AHardwareBuffer_recvHandleFromUnixSocket((C.int)(socketFd), (**C.AHardwareBuffer)(unsafe.Pointer(&outBuffer[0])))) + return ret +} + +func ASensorManagerGetDefaultSensor(manager *ASensorManager, type_ Int) *ASensor { + ret := (*ASensor)(unsafe.Pointer(C.ASensorManager_getDefaultSensor((*C.ASensorManager)(manager), (C.int)(type_)))) + return ret +} + +func Imaxabs(__i Intmax_t) Intmax_t { + ret := (Intmax_t)(C.imaxabs((C.intmax_t)(__i))) + return ret +} + +func ANativeWindowUnlockAndPost(window *ANativeWindow) Int32_t { + ret := (Int32_t)(C.ANativeWindow_unlockAndPost((*C.ANativeWindow)(window))) + return ret +} + +func Ceil(__x Double) Double { + ret := (Double)(C.ceil((C.double)(__x))) + return ret +} + +func Nextafterf(__x Float, __y Float) Float { + ret := (Float)(C.nextafterf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Atan(__x Double) Double { + ret := (Double)(C.atan((C.double)(__x))) + return ret +} + +func Fma(__x Double, __y Double, __z Double) Double { + ret := (Double)(C.fma((C.double)(__x), (C.double)(__y), (C.double)(__z))) + return ret +} + +func Stat(__path *Char, __buf *Stat_t) Int { + ret := (Int)(C.stat((*C.char)(__path), (*C.struct_stat)(__buf))) + return ret +} + +func Llrintf(__x Float) LongLong { + ret := (LongLong)(C.llrintf((C.float)(__x))) + return ret +} + +func Round(__x Double) Double { + ret := (Double)(C.round((C.double)(__x))) + return ret +} + +func Lroundf(__x Float) Long { + ret := (Long)(C.lroundf((C.float)(__x))) return ret } @@ -366,53 +453,53 @@ func ANativeWindowSetBuffersGeometry(window *ANativeWindow, width Int32_t, heigh return ret } -func Rintf(__x Float) Float { - ret := (Float)(C.rintf((C.float)(__x))) +func Logbf(__x Float) Float { + ret := (Float)(C.logbf((C.float)(__x))) return ret } -func ASensorEventQueueSetEventRate(queue *ASensorEventQueue, sensor *ASensor, usec Int32_t) Int { - ret := (Int)(C.ASensorEventQueue_setEventRate((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor), (C.int32_t)(usec))) +func Pow(__x Double, __y Double) Double { + ret := (Double)(C.pow((C.double)(__x), (C.double)(__y))) return ret } -func Mknod(__path *Char, __mode Mode_t, __dev Dev_t) Int { - ret := (Int)(C.mknod((*C.char)(__path), (C.mode_t)(__mode), (C.dev_t)(__dev))) +func Erfc(__x Double) Double { + ret := (Double)(C.erfc((C.double)(__x))) return ret } -func Atanh(__x Double) Double { - ret := (Double)(C.atanh((C.double)(__x))) +func Tgamma(__x Double) Double { + ret := (Double)(C.tgamma((C.double)(__x))) return ret } -func Expm1(__x Double) Double { - ret := (Double)(C.expm1((C.double)(__x))) +func Lrintf(__x Float) Long { + ret := (Long)(C.lrintf((C.float)(__x))) return ret } -func Exp2(__x Double) Double { - ret := (Double)(C.exp2((C.double)(__x))) +func Chmod(__path *Char, __mode Mode_t) Int { + ret := (Int)(C.chmod((*C.char)(__path), (C.mode_t)(__mode))) return ret } -func ASensorGetFifoMaxEventCount(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getFifoMaxEventCount((*C.ASensor)(sensor))) +func Acos(__x Double) Double { + ret := (Double)(C.acos((C.double)(__x))) return ret } -func Atoi(__s *Char) Int { - ret := (Int)(C.atoi((*C.char)(__s))) +func ASensorManagerCreateHardwareBufferDirectChannel(manager *ASensorManager, buffer *AHardwareBuffer, size Size_t) Int { + ret := (Int)(C.ASensorManager_createHardwareBufferDirectChannel((*C.ASensorManager)(manager), (*C.AHardwareBuffer)(buffer), (C.size_t)(size))) return ret } -func Cosh(__x Double) Double { - ret := (Double)(C.cosh((C.double)(__x))) +func Strtoumax(__s *Char, __end_ptr []*Char, __base Int) Uintmax_t { + ret := (Uintmax_t)(C.strtoumax((*C.char)(__s), (**C.char)(unsafe.Pointer(&__end_ptr[0])), (C.int)(__base))) return ret } -func Nearbyintf(__x Float) Float { - ret := (Float)(C.nearbyintf((C.float)(__x))) +func Isinf(__x Double) Int { + ret := (Int)(C.isinf((C.double)(__x))) return ret } @@ -421,8 +508,116 @@ func Yn(__n Int, __x Double) Double { return ret } -func AHardwareBufferRecvHandleFromUnixSocket(socketFd Int, outBuffer []*AHardwareBuffer) Int { - ret := (Int)(C.AHardwareBuffer_recvHandleFromUnixSocket((C.int)(socketFd), (**C.AHardwareBuffer)(unsafe.Pointer(&outBuffer[0])))) +func ALooperWake(looper *ALooper) { + C.ALooper_wake((*C.ALooper)(looper)) +} + +func Llrint(__x Double) LongLong { + ret := (LongLong)(C.llrint((C.double)(__x))) + return ret +} + +func AHardwareBufferLock(buffer *AHardwareBuffer, usage Uint64_t, fence Int32_t, rect *ARect, outVirtualAddress *unsafe.Pointer) Int { + ret := (Int)(C.AHardwareBuffer_lock((*C.AHardwareBuffer)(buffer), (C.uint64_t)(usage), (C.int32_t)(fence), (*C.ARect)(rect), outVirtualAddress)) + return ret +} + +func ASensorManagerCreateSharedMemoryDirectChannel(manager *ASensorManager, fd Int, size Size_t) Int { + ret := (Int)(C.ASensorManager_createSharedMemoryDirectChannel((*C.ASensorManager)(manager), (C.int)(fd), (C.size_t)(size))) + return ret +} + +func ASensorGetResolution(sensor *ASensor) Float { + ret := (Float)(C.ASensor_getResolution((*C.ASensor)(sensor))) + return ret +} + +func Scalbln(__x Double, __exponent Long) Double { + ret := (Double)(C.scalbln((C.double)(__x), (C.long)(__exponent))) + return ret +} + +func Floorf(__x Float) Float { + ret := (Float)(C.floorf((C.float)(__x))) + return ret +} + +func Acosh(__x Double) Double { + ret := (Double)(C.acosh((C.double)(__x))) + return ret +} + +func Expm1f(__x Float) Float { + ret := (Float)(C.expm1f((C.float)(__x))) + return ret +} + +func Y1(__x Double) Double { + ret := (Double)(C.y1((C.double)(__x))) + return ret +} + +func Acosf(__x Float) Float { + ret := (Float)(C.acosf((C.float)(__x))) + return ret +} + +func Ilogb(__x Double) Int { + ret := (Int)(C.ilogb((C.double)(__x))) + return ret +} + +func Remainder(__x Double, __y Double) Double { + ret := (Double)(C.remainder((C.double)(__x), (C.double)(__y))) + return ret +} + +func Mkfifoat(__dir_fd Int, __path *Char, __mode Mode_t) Int { + ret := (Int)(C.mkfifoat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode))) + return ret +} + +func ANativeWindowAcquire(window *ANativeWindow) { + C.ANativeWindow_acquire((*C.ANativeWindow)(window)) +} + +func AndroidLogBufWrite(bufID Int, prio Int, tag *Char, text *Char) Int { + ret := (Int)(C.__android_log_buf_write((C.int)(bufID), (C.int)(prio), (*C.char)(tag), (*C.char)(text))) + return ret +} + +func Ilogbf(__x Float) Int { + ret := (Int)(C.ilogbf((C.float)(__x))) + return ret +} + +func J0(__x Double) Double { + ret := (Double)(C.j0((C.double)(__x))) + return ret +} + +func ASensorGetReportingMode(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getReportingMode((*C.ASensor)(sensor))) + return ret +} + +func ALooperPollAll(timeoutMillis Int, outFd *Int, outEvents *Int, outData *unsafe.Pointer) Int { + ret := (Int)(C.ALooper_pollAll((C.int)(timeoutMillis), (*C.int)(outFd), (*C.int)(outEvents), outData)) + return ret +} + +func Cosf(__x Float) Float { + ret := (Float)(C.cosf((C.float)(__x))) + return ret +} + +func Tgammaf(__x Float) Float { + ret := (Float)(C.tgammaf((C.float)(__x))) + return ret +} + +func Fstatat64(__dir_fd Int, __path *Char, __buf *Stat64_t, __flags Int) Int { + ret := (Int)(C.fstatat64((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_stat64)(__buf), (C.int)(__flags))) return ret } @@ -436,489 +631,18 @@ func Log(__x Double) Double { return ret } -func ASensorEventQueueHasEvents(queue *ASensorEventQueue) Int { - ret := (Int)(C.ASensorEventQueue_hasEvents((*C.ASensorEventQueue)(queue))) - return ret -} - -func Asinf(__x Float) Float { - ret := (Float)(C.asinf((C.float)(__x))) - return ret -} - -func Atan(__x Double) Double { - ret := (Double)(C.atan((C.double)(__x))) - return ret -} - -func Expf(__x Float) Float { - ret := (Float)(C.expf((C.float)(__x))) - return ret -} - -func Mkfifoat(__dir_fd Int, __path *Char, __mode Mode_t) Int { - ret := (Int)(C.mkfifoat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode))) - return ret -} - -func AHardwareBufferSendHandleToUnixSocket(buffer *AHardwareBuffer, socketFd Int) Int { - ret := (Int)(C.AHardwareBuffer_sendHandleToUnixSocket((*C.AHardwareBuffer)(buffer), (C.int)(socketFd))) - return ret -} - -func ASensorIsDirectChannelTypeSupported(sensor *ASensor, channelType Int) Bool { - ret := (Bool)(C.ASensor_isDirectChannelTypeSupported((*C.ASensor)(sensor), (C.int)(channelType))) - return ret -} - -func Tgammaf(__x Float) Float { - ret := (Float)(C.tgammaf((C.float)(__x))) - return ret -} - -func J1(__x Double) Double { - ret := (Double)(C.j1((C.double)(__x))) - return ret -} - -func Fstat(__fd Int, __buf *Stat_t) Int { - ret := (Int)(C.fstat((C.int)(__fd), (*C.struct_stat)(__buf))) - return ret -} - -func Lstat(__path *Char, __buf *Stat_t) Int { - ret := (Int)(C.lstat((*C.char)(__path), (*C.struct_stat)(__buf))) - return ret -} - -func Umask(__mask Mode_t) Mode_t { - ret := (Mode_t)(C.umask((C.mode_t)(__mask))) - return ret -} - -func ALooperWake(looper *ALooper) { - C.ALooper_wake((*C.ALooper)(looper)) -} - -func Logbf(__x Float) Float { - ret := (Float)(C.logbf((C.float)(__x))) - return ret -} - -func Ceilf(__x Float) Float { - ret := (Float)(C.ceilf((C.float)(__x))) - return ret -} - -func Mkdir(__path *Char, __mode Mode_t) Int { - ret := (Int)(C.mkdir((*C.char)(__path), (C.mode_t)(__mode))) - return ret -} - -func AHardwareBufferAcquire(buffer *AHardwareBuffer) { - C.AHardwareBuffer_acquire((*C.AHardwareBuffer)(buffer)) -} - -func Y1(__x Double) Double { - ret := (Double)(C.y1((C.double)(__x))) - return ret -} - -func ASensorGetVendor(sensor *ASensor) *Char { - ret := (*Char)(unsafe.Pointer(C.ASensor_getVendor((*C.ASensor)(sensor)))) - return ret -} - -func Exp(__x Double) Double { - ret := (Double)(C.exp((C.double)(__x))) - return ret -} - -func Scalbnf(__x Float, __exponent Int) Float { - ret := (Float)(C.scalbnf((C.float)(__x), (C.int)(__exponent))) - return ret -} - -func Truncf(__x Float) Float { - ret := (Float)(C.truncf((C.float)(__x))) - return ret -} - -func Asin(__x Double) Double { - ret := (Double)(C.asin((C.double)(__x))) - return ret -} - -func Erfcf(__x Float) Float { - ret := (Float)(C.erfcf((C.float)(__x))) - return ret -} - -func Fmaxf(__x Float, __y Float) Float { - ret := (Float)(C.fmaxf((C.float)(__x), (C.float)(__y))) - return ret -} - -func ASensorEventQueueGetEvents(queue *ASensorEventQueue, events *ASensorEvent, count Size_t) Ssize_t { - ret := (Ssize_t)(C.ASensorEventQueue_getEvents((*C.ASensorEventQueue)(queue), (*C.ASensorEvent)(events), (C.size_t)(count))) - return ret -} - -func ALooperForThread() *ALooper { - ret := (*ALooper)(unsafe.Pointer(C.ALooper_forThread())) - return ret -} - -func Nearbyint(__x Double) Double { - ret := (Double)(C.nearbyint((C.double)(__x))) - return ret -} - -func ASensorEventQueueDisableSensor(queue *ASensorEventQueue, sensor *ASensor) Int { - ret := (Int)(C.ASensorEventQueue_disableSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor))) - return ret -} - -func Fstat64(__fd Int, __buf *Stat64_t) Int { - ret := (Int)(C.fstat64((C.int)(__fd), (*C.struct_stat64)(__buf))) - return ret -} - -func AndroidLogWrite(prio Int, tag *Char, text *Char) Int { - ret := (Int)(C.__android_log_write((C.int)(prio), (*C.char)(tag), (*C.char)(text))) - return ret -} - -func Scalbln(__x Double, __exponent Long) Double { - ret := (Double)(C.scalbln((C.double)(__x), (C.long)(__exponent))) - return ret -} - -func Fmax(__x Double, __y Double) Double { - ret := (Double)(C.fmax((C.double)(__x), (C.double)(__y))) - return ret -} - -func Log10(__x Double) Double { - ret := (Double)(C.log10((C.double)(__x))) - return ret -} - -func Modff(__x Float, __integral_part *Float) Float { - ret := (Float)(C.modff((C.float)(__x), (*C.float)(__integral_part))) - return ret -} - -func Ceil(__x Double) Double { - ret := (Double)(C.ceil((C.double)(__x))) - return ret -} - -func Llrintf(__x Float) LongLong { - ret := (LongLong)(C.llrintf((C.float)(__x))) - return ret -} - -func ASensorManagerGetSensorList(manager *ASensorManager, list *ASensorList) Int { - ret := (Int)(C.ASensorManager_getSensorList((*C.ASensorManager)(manager), (*C.ASensorList)(list))) - return ret -} - -func SystemPropertyGet(__name *Char, __value *Char) Int { - ret := (Int)(C.__system_property_get((*C.char)(__name), (*C.char)(__value))) - return ret -} - -func Erfc(__x Double) Double { - ret := (Double)(C.erfc((C.double)(__x))) - return ret -} - -func Lround(__x Double) Long { - ret := (Long)(C.lround((C.double)(__x))) - return ret -} - -func Lroundf(__x Float) Long { - ret := (Long)(C.lroundf((C.float)(__x))) - return ret -} - -func Fdimf(__x Float, __y Float) Float { - ret := (Float)(C.fdimf((C.float)(__x), (C.float)(__y))) - return ret -} - -func ANativeWindowGetFormat(window *ANativeWindow) Int32_t { - ret := (Int32_t)(C.ANativeWindow_getFormat((*C.ANativeWindow)(window))) - return ret -} - -func Asinh(__x Double) Double { - ret := (Double)(C.asinh((C.double)(__x))) - return ret -} - -func Fabs(__x Double) Double { - ret := (Double)(C.fabs((C.double)(__x))) - return ret -} - -func ASensorGetFifoReservedEventCount(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getFifoReservedEventCount((*C.ASensor)(sensor))) - return ret -} - -func Utimensat(__dir_fd Int, __path *Char, __times *Timespec, __flags Int) Int { - ret := (Int)(C.utimensat((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_timespec)(__times), (C.int)(__flags))) - return ret -} - -func ANativeWindowLock(window *ANativeWindow, outBuffer *ANativeWindow_Buffer, inOutDirtyBounds *ARect) Int32_t { - ret := (Int32_t)(C.ANativeWindow_lock((*C.ANativeWindow)(window), (*C.ANativeWindow_Buffer)(outBuffer), (*C.ARect)(inOutDirtyBounds))) - return ret -} - -func Futimens(__dir_fd Int, __times *Timespec) Int { - ret := (Int)(C.futimens((C.int)(__dir_fd), (*C.struct_timespec)(__times))) - return ret -} - -func ASensorGetResolution(sensor *ASensor) Float { - ret := (Float)(C.ASensor_getResolution((*C.ASensor)(sensor))) - return ret -} - -func Sin(__x Double) Double { - ret := (Double)(C.sin((C.double)(__x))) - return ret -} - -func Floor(__x Double) Double { - ret := (Double)(C.floor((C.double)(__x))) - return ret -} - -func Acosh(__x Double) Double { - ret := (Double)(C.acosh((C.double)(__x))) - return ret -} - -func J0(__x Double) Double { - ret := (Double)(C.j0((C.double)(__x))) - return ret -} - -func Sinf(__x Float) Float { - ret := (Float)(C.sinf((C.float)(__x))) - return ret -} - -func Ilogbf(__x Float) Int { - ret := (Int)(C.ilogbf((C.float)(__x))) - return ret -} - -func Remquo(__x Double, __y Double, __quotient_bits *Int) Double { - ret := (Double)(C.remquo((C.double)(__x), (C.double)(__y), (*C.int)(__quotient_bits))) - return ret -} - -func Nextafter(__x Double, __y Double) Double { - ret := (Double)(C.nextafter((C.double)(__x), (C.double)(__y))) - return ret -} - -func Chmod(__path *Char, __mode Mode_t) Int { - ret := (Int)(C.chmod((*C.char)(__path), (C.mode_t)(__mode))) - return ret -} - -func ALooperRemoveFd(looper *ALooper, fd Int) Int { - ret := (Int)(C.ALooper_removeFd((*C.ALooper)(looper), (C.int)(fd))) - return ret -} - -func Llroundf(__x Float) LongLong { - ret := (LongLong)(C.llroundf((C.float)(__x))) - return ret -} - -func Nextafterf(__x Float, __y Float) Float { - ret := (Float)(C.nextafterf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Fchmodat(__dir_fd Int, __path *Char, __mode Mode_t, __flags Int) Int { - ret := (Int)(C.fchmodat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode), (C.int)(__flags))) - return ret -} - -func Floorf(__x Float) Float { - ret := (Float)(C.floorf((C.float)(__x))) - return ret -} - -func Frexp(__x Double, __exponent *Int) Double { - ret := (Double)(C.frexp((C.double)(__x), (*C.int)(__exponent))) - return ret -} - -func Log1pf(__x Float) Float { - ret := (Float)(C.log1pf((C.float)(__x))) - return ret -} - -func ANativeWindowAcquire(window *ANativeWindow) { - C.ANativeWindow_acquire((*C.ANativeWindow)(window)) -} - -func Log2(__x Double) Double { - ret := (Double)(C.log2((C.double)(__x))) - return ret -} - -func Remquof(__x Float, __y Float, __quotient_bits *Int) Float { - ret := (Float)(C.remquof((C.float)(__x), (C.float)(__y), (*C.int)(__quotient_bits))) - return ret -} - -func Expm1f(__x Float) Float { - ret := (Float)(C.expm1f((C.float)(__x))) - return ret -} - func Erff(__x Float) Float { ret := (Float)(C.erff((C.float)(__x))) return ret } -func ASensorManagerGetInstanceForPackage(packageName *Char) *ASensorManager { - ret := (*ASensorManager)(unsafe.Pointer(C.ASensorManager_getInstanceForPackage((*C.char)(packageName)))) +func Lgammaf(__x Float) Float { + ret := (Float)(C.lgammaf((C.float)(__x))) return ret } -func ALooperPollAll(timeoutMillis Int, outFd *Int, outEvents *Int, outData *unsafe.Pointer) Int { - ret := (Int)(C.ALooper_pollAll((C.int)(timeoutMillis), (*C.int)(outFd), (*C.int)(outEvents), outData)) - return ret -} - -func Stat(__path *Char, __buf *Stat_t) Int { - ret := (Int)(C.stat((*C.char)(__path), (*C.struct_stat)(__buf))) - return ret -} - -func Strtoimax(__s *Char, __end_ptr []*Char, __base Int) Intmax_t { - ret := (Intmax_t)(C.strtoimax((*C.char)(__s), (**C.char)(unsafe.Pointer(&__end_ptr[0])), (C.int)(__base))) - return ret -} - -func Ilogb(__x Double) Int { - ret := (Int)(C.ilogb((C.double)(__x))) - return ret -} - -func Lgamma(__x Double) Double { - ret := (Double)(C.lgamma((C.double)(__x))) - return ret -} - -func Sinhf(__x Float) Float { - ret := (Float)(C.sinhf((C.float)(__x))) - return ret -} - -func Fma(__x Double, __y Double, __z Double) Double { - ret := (Double)(C.fma((C.double)(__x), (C.double)(__y), (C.double)(__z))) - return ret -} - -func Fmodf(__x Float, __y Float) Float { - ret := (Float)(C.fmodf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Log1p(__x Double) Double { - ret := (Double)(C.log1p((C.double)(__x))) - return ret -} - -func Ldexp(__x Double, __exponent Int) Double { - ret := (Double)(C.ldexp((C.double)(__x), (C.int)(__exponent))) - return ret -} - -func Remainderf(__x Float, __y Float) Float { - ret := (Float)(C.remainderf((C.float)(__x), (C.float)(__y))) - return ret -} - -func ASensorManagerCreateHardwareBufferDirectChannel(manager *ASensorManager, buffer *AHardwareBuffer, size Size_t) Int { - ret := (Int)(C.ASensorManager_createHardwareBufferDirectChannel((*C.ASensorManager)(manager), (*C.AHardwareBuffer)(buffer), (C.size_t)(size))) - return ret -} - -func Imaxabs(__i Intmax_t) Intmax_t { - ret := (Intmax_t)(C.imaxabs((C.intmax_t)(__i))) - return ret -} - -func Acosf(__x Float) Float { - ret := (Float)(C.acosf((C.float)(__x))) - return ret -} - -func ALooperPrepare(opts Int) *ALooper { - ret := (*ALooper)(unsafe.Pointer(C.ALooper_prepare((C.int)(opts)))) - return ret -} - -func Lrintf(__x Float) Long { - ret := (Long)(C.lrintf((C.float)(__x))) - return ret -} - -func Nan(__kind *Char) Double { - ret := (Double)(C.nan((*C.char)(__kind))) - return ret -} - -func ANativeWindowRelease(window *ANativeWindow) { - C.ANativeWindow_release((*C.ANativeWindow)(window)) -} - -func Erf(__x Double) Double { - ret := (Double)(C.erf((C.double)(__x))) - return ret -} - -func Remainder(__x Double, __y Double) Double { - ret := (Double)(C.remainder((C.double)(__x), (C.double)(__y))) - return ret -} - -func Fchmod(__fd Int, __mode Mode_t) Int { - ret := (Int)(C.fchmod((C.int)(__fd), (C.mode_t)(__mode))) - return ret -} - -func Lstat64(__path *Char, __buf *Stat64_t) Int { - ret := (Int)(C.lstat64((*C.char)(__path), (*C.struct_stat64)(__buf))) - return ret -} - -func ANativeWindowGetWidth(window *ANativeWindow) Int32_t { - ret := (Int32_t)(C.ANativeWindow_getWidth((*C.ANativeWindow)(window))) - return ret -} - -func Exp2f(__x Float) Float { - ret := (Float)(C.exp2f((C.float)(__x))) - return ret -} - -func ASensorManagerGetDefaultSensor(manager *ASensorManager, type_ Int) *ASensor { - ret := (*ASensor)(unsafe.Pointer(C.ASensorManager_getDefaultSensor((*C.ASensorManager)(manager), (C.int)(type_)))) +func Hypot(__x Double, __y Double) Double { + ret := (Double)(C.hypot((C.double)(__x), (C.double)(__y))) return ret } @@ -927,13 +651,142 @@ func ASensorGetName(sensor *ASensor) *Char { return ret } -func Mknodat(__dir_fd Int, __path *Char, __mode Mode_t, __dev Dev_t) Int { - ret := (Int)(C.mknodat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode), (C.dev_t)(__dev))) +func AHardwareBufferRelease(buffer *AHardwareBuffer) { + C.AHardwareBuffer_release((*C.AHardwareBuffer)(buffer)) +} + +func ALooperForThread() *ALooper { + ret := (*ALooper)(unsafe.Pointer(C.ALooper_forThread())) return ret } -func Atanf(__x Float) Float { - ret := (Float)(C.atanf((C.float)(__x))) +func Fdimf(__x Float, __y Float) Float { + ret := (Float)(C.fdimf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Roundf(__x Float) Float { + ret := (Float)(C.roundf((C.float)(__x))) + return ret +} + +func AHardwareBufferAllocate(desc *AHardwareBuffer_Desc, outBuffer []*AHardwareBuffer) Int { + ret := (Int)(C.AHardwareBuffer_allocate((*C.AHardwareBuffer_Desc)(desc), (**C.AHardwareBuffer)(unsafe.Pointer(&outBuffer[0])))) + return ret +} + +func Remquof(__x Float, __y Float, __quotient_bits *Int) Float { + ret := (Float)(C.remquof((C.float)(__x), (C.float)(__y), (*C.int)(__quotient_bits))) + return ret +} + +func Tan(__x Double) Double { + ret := (Double)(C.tan((C.double)(__x))) + return ret +} + +func Fmodf(__x Float, __y Float) Float { + ret := (Float)(C.fmodf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Jn(__n Int, __x Double) Double { + ret := (Double)(C.jn((C.int)(__n), (C.double)(__x))) + return ret +} + +func ALooperRemoveFd(looper *ALooper, fd Int) Int { + ret := (Int)(C.ALooper_removeFd((*C.ALooper)(looper), (C.int)(fd))) + return ret +} + +func Asinhf(__x Float) Float { + ret := (Float)(C.asinhf((C.float)(__x))) + return ret +} + +func Atanhf(__x Float) Float { + ret := (Float)(C.atanhf((C.float)(__x))) + return ret +} + +func Erfcf(__x Float) Float { + ret := (Float)(C.erfcf((C.float)(__x))) + return ret +} + +func Mknod(__path *Char, __mode Mode_t, __dev Dev_t) Int { + ret := (Int)(C.mknod((*C.char)(__path), (C.mode_t)(__mode), (C.dev_t)(__dev))) + return ret +} + +func Asinf(__x Float) Float { + ret := (Float)(C.asinf((C.float)(__x))) + return ret +} + +func Expf(__x Float) Float { + ret := (Float)(C.expf((C.float)(__x))) + return ret +} + +func Log10(__x Double) Double { + ret := (Double)(C.log10((C.double)(__x))) + return ret +} + +func Log10f(__x Float) Float { + ret := (Float)(C.log10f((C.float)(__x))) + return ret +} + +func Mkdir(__path *Char, __mode Mode_t) Int { + ret := (Int)(C.mkdir((*C.char)(__path), (C.mode_t)(__mode))) + return ret +} + +func Expm1(__x Double) Double { + ret := (Double)(C.expm1((C.double)(__x))) + return ret +} + +func ASensorIsDirectChannelTypeSupported(sensor *ASensor, channelType Int) Bool { + ret := (Bool)(C.ASensor_isDirectChannelTypeSupported((*C.ASensor)(sensor), (C.int)(channelType))) + return ret +} + +func Frexp(__x Double, __exponent *Int) Double { + ret := (Double)(C.frexp((C.double)(__x), (*C.int)(__exponent))) + return ret +} + +func ASensorEventQueueHasEvents(queue *ASensorEventQueue) Int { + ret := (Int)(C.ASensorEventQueue_hasEvents((*C.ASensorEventQueue)(queue))) + return ret +} + +func Tanh(__x Double) Double { + ret := (Double)(C.tanh((C.double)(__x))) + return ret +} + +func Fabs(__x Double) Double { + ret := (Double)(C.fabs((C.double)(__x))) + return ret +} + +func Lround(__x Double) Long { + ret := (Long)(C.lround((C.double)(__x))) + return ret +} + +func ASensorGetFifoMaxEventCount(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getFifoMaxEventCount((*C.ASensor)(sensor))) + return ret +} + +func ANativeWindowGetHeight(window *ANativeWindow) Int32_t { + ret := (Int32_t)(C.ANativeWindow_getHeight((*C.ANativeWindow)(window))) return ret } @@ -947,274 +800,42 @@ func Sinh(__x Double) Double { return ret } -func Lgammaf(__x Float) Float { - ret := (Float)(C.lgammaf((C.float)(__x))) - return ret -} - -func ASensorManagerDestroyDirectChannel(manager *ASensorManager, channelId Int) { - C.ASensorManager_destroyDirectChannel((*C.ASensorManager)(manager), (C.int)(channelId)) -} - -func ASensorGetReportingMode(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getReportingMode((*C.ASensor)(sensor))) - return ret -} - -func AHardwareBufferDescribe(buffer *AHardwareBuffer, outDesc *AHardwareBuffer_Desc) { - C.AHardwareBuffer_describe((*C.AHardwareBuffer)(buffer), (*C.AHardwareBuffer_Desc)(outDesc)) -} - -func Powf(__x Float, __y Float) Float { - ret := (Float)(C.powf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Llround(__x Double) LongLong { - ret := (LongLong)(C.llround((C.double)(__x))) - return ret -} - -func Jn(__n Int, __x Double) Double { - ret := (Double)(C.jn((C.int)(__n), (C.double)(__x))) - return ret -} - -func ASensorEventQueueEnableSensor(queue *ASensorEventQueue, sensor *ASensor) Int { - ret := (Int)(C.ASensorEventQueue_enableSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor))) - return ret -} - -func Cos(__x Double) Double { - ret := (Double)(C.cos((C.double)(__x))) - return ret -} - -func Tgamma(__x Double) Double { - ret := (Double)(C.tgamma((C.double)(__x))) - return ret -} - -func Fminf(__x Float, __y Float) Float { - ret := (Float)(C.fminf((C.float)(__x), (C.float)(__y))) - return ret -} - -func AHardwareBufferAllocate(desc *AHardwareBuffer_Desc, outBuffer []*AHardwareBuffer) Int { - ret := (Int)(C.AHardwareBuffer_allocate((*C.AHardwareBuffer_Desc)(desc), (**C.AHardwareBuffer)(unsafe.Pointer(&outBuffer[0])))) - return ret -} - func Tanhf(__x Float) Float { ret := (Float)(C.tanhf((C.float)(__x))) return ret } -func Ldexpf(__x Float, __exponent Int) Float { - ret := (Float)(C.ldexpf((C.float)(__x), (C.int)(__exponent))) - return ret -} - -func Cbrt(__x Double) Double { - ret := (Double)(C.cbrt((C.double)(__x))) - return ret -} - -func Hypot(__x Double, __y Double) Double { - ret := (Double)(C.hypot((C.double)(__x), (C.double)(__y))) - return ret -} - -func Pow(__x Double, __y Double) Double { - ret := (Double)(C.pow((C.double)(__x), (C.double)(__y))) - return ret -} - -func Atan2f(__y Float, __x Float) Float { - ret := (Float)(C.atan2f((C.float)(__y), (C.float)(__x))) - return ret -} - -func Tanf(__x Float) Float { - ret := (Float)(C.tanf((C.float)(__x))) - return ret -} - -func Fstatat64(__dir_fd Int, __path *Char, __buf *Stat64_t, __flags Int) Int { - ret := (Int)(C.fstatat64((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_stat64)(__buf), (C.int)(__flags))) - return ret -} - -func Mkfifo(__path *Char, __mode Mode_t) Int { - ret := (Int)(C.mkfifo((*C.char)(__path), (C.mode_t)(__mode))) - return ret -} - -func ALooperRelease(looper *ALooper) { - C.ALooper_release((*C.ALooper)(looper)) -} - -func Scalblnf(__x Float, __exponent Long) Float { - ret := (Float)(C.scalblnf((C.float)(__x), (C.long)(__exponent))) - return ret -} - -func ASensorManagerGetDefaultSensorEx(manager *ASensorManager, type_ Int, wakeUp Bool) *ASensor { - ret := (*ASensor)(unsafe.Pointer(C.ASensorManager_getDefaultSensorEx((*C.ASensorManager)(manager), (C.int)(type_), (C.bool)(wakeUp)))) - return ret -} - -func Atanhf(__x Float) Float { - ret := (Float)(C.atanhf((C.float)(__x))) - return ret -} - -func Coshf(__x Float) Float { - ret := (Float)(C.coshf((C.float)(__x))) - return ret -} - -func Scalbn(__x Double, __exponent Int) Double { - ret := (Double)(C.scalbn((C.double)(__x), (C.int)(__exponent))) - return ret -} - -func Hypotf(__x Float, __y Float) Float { - ret := (Float)(C.hypotf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Rint(__x Double) Double { - ret := (Double)(C.rint((C.double)(__x))) - return ret -} - -func Lrint(__x Double) Long { - ret := (Long)(C.lrint((C.double)(__x))) - return ret -} - -func Fdim(__x Double, __y Double) Double { - ret := (Double)(C.fdim((C.double)(__x), (C.double)(__y))) - return ret -} - -func Tan(__x Double) Double { - ret := (Double)(C.tan((C.double)(__x))) - return ret -} - -func ASensorGetType(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getType((*C.ASensor)(sensor))) - return ret -} - -func ANativeWindowSetBuffersTransform(window *ANativeWindow, transform Int32_t) Int32_t { - ret := (Int32_t)(C.ANativeWindow_setBuffersTransform((*C.ANativeWindow)(window), (C.int32_t)(transform))) - return ret -} - -func ALooperPollOnce(timeoutMillis Int, outFd *Int, outEvents *Int, outData *unsafe.Pointer) Int { - ret := (Int)(C.ALooper_pollOnce((C.int)(timeoutMillis), (*C.int)(outFd), (*C.int)(outEvents), outData)) - return ret -} - -func Cosf(__x Float) Float { - ret := (Float)(C.cosf((C.float)(__x))) - return ret -} - -func Llrint(__x Double) LongLong { - ret := (LongLong)(C.llrint((C.double)(__x))) - return ret -} - -func ASensorIsWakeUpSensor(sensor *ASensor) Bool { - ret := (Bool)(C.ASensor_isWakeUpSensor((*C.ASensor)(sensor))) - return ret -} - -func AHardwareBufferUnlock(buffer *AHardwareBuffer, fence *Int32_t) Int { - ret := (Int)(C.AHardwareBuffer_unlock((*C.AHardwareBuffer)(buffer), (*C.int32_t)(fence))) - return ret -} - -func Round(__x Double) Double { - ret := (Double)(C.round((C.double)(__x))) - return ret -} - -func Nanf(__kind *Char) Float { - ret := (Float)(C.nanf((*C.char)(__kind))) - return ret -} - -func AHardwareBufferRelease(buffer *AHardwareBuffer) { - C.AHardwareBuffer_release((*C.AHardwareBuffer)(buffer)) -} - -func Acos(__x Double) Double { - ret := (Double)(C.acos((C.double)(__x))) - return ret -} - -func ASensorGetMinDelay(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getMinDelay((*C.ASensor)(sensor))) - return ret -} - -func AndroidGetApplicationTargetSdkVersion() Int { - ret := (Int)(C.android_get_application_target_sdk_version()) - return ret -} - -func ASensorEventQueueRegisterSensor(queue *ASensorEventQueue, sensor *ASensor, samplingPeriodUs Int32_t, maxBatchReportLatencyUs Int64_t) Int { - ret := (Int)(C.ASensorEventQueue_registerSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor), (C.int32_t)(samplingPeriodUs), (C.int64_t)(maxBatchReportLatencyUs))) - return ret -} - -func Fstatat(__dir_fd Int, __path *Char, __buf *Stat_t, __flags Int) Int { - ret := (Int)(C.fstatat((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_stat)(__buf), (C.int)(__flags))) - return ret -} - -func ANativeWindowUnlockAndPost(window *ANativeWindow) Int32_t { - ret := (Int32_t)(C.ANativeWindow_unlockAndPost((*C.ANativeWindow)(window))) - return ret -} - -func ASensorManagerConfigureDirectReport(manager *ASensorManager, sensor *ASensor, channelId Int, rate Int) Int { - ret := (Int)(C.ASensorManager_configureDirectReport((*C.ASensorManager)(manager), (*C.ASensor)(sensor), (C.int)(channelId), (C.int)(rate))) - return ret -} - -func Tanh(__x Double) Double { - ret := (Double)(C.tanh((C.double)(__x))) - return ret -} - -func Logf(__x Float) Float { - ret := (Float)(C.logf((C.float)(__x))) - return ret -} - func Y0(__x Double) Double { ret := (Double)(C.y0((C.double)(__x))) return ret } -func AndroidGetDeviceApiLevel() Int { - ret := (Int)(C.android_get_device_api_level()) +func Ceilf(__x Float) Float { + ret := (Float)(C.ceilf((C.float)(__x))) return ret } -func Isnan(__x Double) Int { - ret := (Int)(C.isnan((C.double)(__x))) +func Fmax(__x Double, __y Double) Double { + ret := (Double)(C.fmax((C.double)(__x), (C.double)(__y))) return ret } -func Asinhf(__x Float) Float { - ret := (Float)(C.asinhf((C.float)(__x))) +func Fstatat(__dir_fd Int, __path *Char, __buf *Stat_t, __flags Int) Int { + ret := (Int)(C.fstatat((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_stat)(__buf), (C.int)(__flags))) + return ret +} + +func ALooperRelease(looper *ALooper) { + C.ALooper_release((*C.ALooper)(looper)) +} + +func ALooperPollOnce(timeoutMillis Int, outFd *Int, outEvents *Int, outData *unsafe.Pointer) Int { + ret := (Int)(C.ALooper_pollOnce((C.int)(timeoutMillis), (*C.int)(outFd), (*C.int)(outEvents), outData)) + return ret +} + +func Modf(__x Double, __integral_part *Double) Double { + ret := (Double)(C.modf((C.double)(__x), (*C.double)(__integral_part))) return ret } @@ -1223,8 +844,81 @@ func Trunc(__x Double) Double { return ret } -func Fabsf(__x Float) Float { - ret := (Float)(C.fabsf((C.float)(__x))) +func ASensorManagerGetDefaultSensorEx(manager *ASensorManager, type_ Int, wakeUp Bool) *ASensor { + ret := (*ASensor)(unsafe.Pointer(C.ASensorManager_getDefaultSensorEx((*C.ASensorManager)(manager), (C.int)(type_), (C.bool)(wakeUp)))) + return ret +} + +func ASensorGetVendor(sensor *ASensor) *Char { + ret := (*Char)(unsafe.Pointer(C.ASensor_getVendor((*C.ASensor)(sensor)))) + return ret +} + +func Mknodat(__dir_fd Int, __path *Char, __mode Mode_t, __dev Dev_t) Int { + ret := (Int)(C.mknodat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode), (C.dev_t)(__dev))) + return ret +} + +func ASensorGetType(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getType((*C.ASensor)(sensor))) + return ret +} + +func ANativeWindowRelease(window *ANativeWindow) { + C.ANativeWindow_release((*C.ANativeWindow)(window)) +} + +func Erf(__x Double) Double { + ret := (Double)(C.erf((C.double)(__x))) + return ret +} + +func Lgamma(__x Double) Double { + ret := (Double)(C.lgamma((C.double)(__x))) + return ret +} + +func ASensorManagerDestroyDirectChannel(manager *ASensorManager, channelId Int) { + C.ASensorManager_destroyDirectChannel((*C.ASensorManager)(manager), (C.int)(channelId)) +} + +func Isnan(__x Double) Int { + ret := (Int)(C.isnan((C.double)(__x))) + return ret +} + +func SystemPropertyGet(__name *Char, __value *Char) Int { + ret := (Int)(C.__system_property_get((*C.char)(__name), (*C.char)(__value))) + return ret +} + +func Nearbyintf(__x Float) Float { + ret := (Float)(C.nearbyintf((C.float)(__x))) + return ret +} + +func Asinh(__x Double) Double { + ret := (Double)(C.asinh((C.double)(__x))) + return ret +} + +func Powf(__x Float, __y Float) Float { + ret := (Float)(C.powf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Lrint(__x Double) Long { + ret := (Long)(C.lrint((C.double)(__x))) + return ret +} + +func Fstat(__fd Int, __buf *Stat_t) Int { + ret := (Int)(C.fstat((C.int)(__fd), (*C.struct_stat)(__buf))) + return ret +} + +func AHardwareBufferUnlock(buffer *AHardwareBuffer, fence *Int32_t) Int { + ret := (Int)(C.AHardwareBuffer_unlock((*C.AHardwareBuffer)(buffer), (*C.int32_t)(fence))) return ret } @@ -1233,23 +927,63 @@ func Copysign(__value Double, __sign Double) Double { return ret } -func Isinf(__x Double) Int { - ret := (Int)(C.isinf((C.double)(__x))) +func Atanh(__x Double) Double { + ret := (Double)(C.atanh((C.double)(__x))) return ret } -func ASensorManagerCreateSharedMemoryDirectChannel(manager *ASensorManager, fd Int, size Size_t) Int { - ret := (Int)(C.ASensorManager_createSharedMemoryDirectChannel((*C.ASensorManager)(manager), (C.int)(fd), (C.size_t)(size))) +func Cosh(__x Double) Double { + ret := (Double)(C.cosh((C.double)(__x))) return ret } -func ANativeWindowGetHeight(window *ANativeWindow) Int32_t { - ret := (Int32_t)(C.ANativeWindow_getHeight((*C.ANativeWindow)(window))) +func Utimensat(__dir_fd Int, __path *Char, __times *Timespec, __flags Int) Int { + ret := (Int)(C.utimensat((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_timespec)(__times), (C.int)(__flags))) return ret } -func Roundf(__x Float) Float { - ret := (Float)(C.roundf((C.float)(__x))) +func AndroidLogWrite(prio Int, tag *Char, text *Char) Int { + ret := (Int)(C.__android_log_write((C.int)(prio), (*C.char)(tag), (*C.char)(text))) + return ret +} + +func Log1pf(__x Float) Float { + ret := (Float)(C.log1pf((C.float)(__x))) + return ret +} + +func Rintf(__x Float) Float { + ret := (Float)(C.rintf((C.float)(__x))) + return ret +} + +func Fminf(__x Float, __y Float) Float { + ret := (Float)(C.fminf((C.float)(__x), (C.float)(__y))) + return ret +} + +func ASensorGetHighestDirectReportRateLevel(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getHighestDirectReportRateLevel((*C.ASensor)(sensor))) + return ret +} + +func Lstat64(__path *Char, __buf *Stat64_t) Int { + ret := (Int)(C.lstat64((*C.char)(__path), (*C.struct_stat64)(__buf))) + return ret +} + +func ANativeWindowGetFormat(window *ANativeWindow) Int32_t { + ret := (Int32_t)(C.ANativeWindow_getFormat((*C.ANativeWindow)(window))) + return ret +} + +func Atanf(__x Float) Float { + ret := (Float)(C.atanf((C.float)(__x))) + return ret +} + +func Log1p(__x Double) Double { + ret := (Double)(C.log1p((C.double)(__x))) return ret } @@ -1258,7 +992,279 @@ func Stat64(__path *Char, __buf *Stat64_t) Int { return ret } -func AndroidLogBufWrite(bufID Int, prio Int, tag *Char, text *Char) Int { - ret := (Int)(C.__android_log_buf_write((C.int)(bufID), (C.int)(prio), (*C.char)(tag), (*C.char)(text))) +func Cos(__x Double) Double { + ret := (Double)(C.cos((C.double)(__x))) + return ret +} + +func Scalblnf(__x Float, __exponent Long) Float { + ret := (Float)(C.scalblnf((C.float)(__x), (C.long)(__exponent))) + return ret +} + +func Hypotf(__x Float, __y Float) Float { + ret := (Float)(C.hypotf((C.float)(__x), (C.float)(__y))) + return ret +} + +func ASensorManagerConfigureDirectReport(manager *ASensorManager, sensor *ASensor, channelId Int, rate Int) Int { + ret := (Int)(C.ASensorManager_configureDirectReport((*C.ASensorManager)(manager), (*C.ASensor)(sensor), (C.int)(channelId), (C.int)(rate))) + return ret +} + +func Fchmod(__fd Int, __mode Mode_t) Int { + ret := (Int)(C.fchmod((C.int)(__fd), (C.mode_t)(__mode))) + return ret +} + +func AHardwareBufferAcquire(buffer *AHardwareBuffer) { + C.AHardwareBuffer_acquire((*C.AHardwareBuffer)(buffer)) +} + +func AHardwareBufferSendHandleToUnixSocket(buffer *AHardwareBuffer, socketFd Int) Int { + ret := (Int)(C.AHardwareBuffer_sendHandleToUnixSocket((*C.AHardwareBuffer)(buffer), (C.int)(socketFd))) + return ret +} + +func Sinf(__x Float) Float { + ret := (Float)(C.sinf((C.float)(__x))) + return ret +} + +func Exp2f(__x Float) Float { + ret := (Float)(C.exp2f((C.float)(__x))) + return ret +} + +func Exp2(__x Double) Double { + ret := (Double)(C.exp2((C.double)(__x))) + return ret +} + +func ASensorEventQueueSetEventRate(queue *ASensorEventQueue, sensor *ASensor, usec Int32_t) Int { + ret := (Int)(C.ASensorEventQueue_setEventRate((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor), (C.int32_t)(usec))) + return ret +} + +func Modff(__x Float, __integral_part *Float) Float { + ret := (Float)(C.modff((C.float)(__x), (*C.float)(__integral_part))) + return ret +} + +func ASensorManagerDestroyEventQueue(manager *ASensorManager, queue *ASensorEventQueue) Int { + ret := (Int)(C.ASensorManager_destroyEventQueue((*C.ASensorManager)(manager), (*C.ASensorEventQueue)(queue))) + return ret +} + +func Fstat64(__fd Int, __buf *Stat64_t) Int { + ret := (Int)(C.fstat64((C.int)(__fd), (*C.struct_stat64)(__buf))) + return ret +} + +func Asin(__x Double) Double { + ret := (Double)(C.asin((C.double)(__x))) + return ret +} + +func Tanf(__x Float) Float { + ret := (Float)(C.tanf((C.float)(__x))) + return ret +} + +func Coshf(__x Float) Float { + ret := (Float)(C.coshf((C.float)(__x))) + return ret +} + +func Log2(__x Double) Double { + ret := (Double)(C.log2((C.double)(__x))) + return ret +} + +func Frexpf(__x Float, __exponent *Int) Float { + ret := (Float)(C.frexpf((C.float)(__x), (*C.int)(__exponent))) + return ret +} + +func Fabsf(__x Float) Float { + ret := (Float)(C.fabsf((C.float)(__x))) + return ret +} + +func Sqrt(__x Double) Double { + ret := (Double)(C.sqrt((C.double)(__x))) + return ret +} + +func Lstat(__path *Char, __buf *Stat_t) Int { + ret := (Int)(C.lstat((*C.char)(__path), (*C.struct_stat)(__buf))) + return ret +} + +func ANativeWindowGetWidth(window *ANativeWindow) Int32_t { + ret := (Int32_t)(C.ANativeWindow_getWidth((*C.ANativeWindow)(window))) + return ret +} + +func Nearbyint(__x Double) Double { + ret := (Double)(C.nearbyint((C.double)(__x))) + return ret +} + +func ASensorEventQueueRegisterSensor(queue *ASensorEventQueue, sensor *ASensor, samplingPeriodUs Int32_t, maxBatchReportLatencyUs Int64_t) Int { + ret := (Int)(C.ASensorEventQueue_registerSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor), (C.int32_t)(samplingPeriodUs), (C.int64_t)(maxBatchReportLatencyUs))) + return ret +} + +func ASensorEventQueueDisableSensor(queue *ASensorEventQueue, sensor *ASensor) Int { + ret := (Int)(C.ASensorEventQueue_disableSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor))) + return ret +} + +func AndroidGetDeviceApiLevel() Int { + ret := (Int)(C.android_get_device_api_level()) + return ret +} + +func Exp(__x Double) Double { + ret := (Double)(C.exp((C.double)(__x))) + return ret +} + +func Nanf(__kind *Char) Float { + ret := (Float)(C.nanf((*C.char)(__kind))) + return ret +} + +func Llroundf(__x Float) LongLong { + ret := (LongLong)(C.llroundf((C.float)(__x))) + return ret +} + +func Copysignf(__value Float, __sign Float) Float { + ret := (Float)(C.copysignf((C.float)(__value), (C.float)(__sign))) + return ret +} + +func ASensorManagerGetSensorList(manager *ASensorManager, list *ASensorList) Int { + ret := (Int)(C.ASensorManager_getSensorList((*C.ASensorManager)(manager), (*C.ASensorList)(list))) + return ret +} + +func Atoi(__s *Char) Int { + ret := (Int)(C.atoi((*C.char)(__s))) + return ret +} + +func Ldexpf(__x Float, __exponent Int) Float { + ret := (Float)(C.ldexpf((C.float)(__x), (C.int)(__exponent))) + return ret +} + +func Log2f(__x Float) Float { + ret := (Float)(C.log2f((C.float)(__x))) + return ret +} + +func Rint(__x Double) Double { + ret := (Double)(C.rint((C.double)(__x))) + return ret +} + +func ASensorGetFifoReservedEventCount(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getFifoReservedEventCount((*C.ASensor)(sensor))) + return ret +} + +func Mkdirat(__dir_fd Int, __path *Char, __mode Mode_t) Int { + ret := (Int)(C.mkdirat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode))) + return ret +} + +func ANativeWindowSetBuffersTransform(window *ANativeWindow, transform Int32_t) Int32_t { + ret := (Int32_t)(C.ANativeWindow_setBuffersTransform((*C.ANativeWindow)(window), (C.int32_t)(transform))) + return ret +} + +func ALooperPrepare(opts Int) *ALooper { + ret := (*ALooper)(unsafe.Pointer(C.ALooper_prepare((C.int)(opts)))) + return ret +} + +func ALooperAcquire(looper *ALooper) { + C.ALooper_acquire((*C.ALooper)(looper)) +} + +func Futimens(__dir_fd Int, __times *Timespec) Int { + ret := (Int)(C.futimens((C.int)(__dir_fd), (*C.struct_timespec)(__times))) + return ret +} + +func AHardwareBufferDescribe(buffer *AHardwareBuffer, outDesc *AHardwareBuffer_Desc) { + C.AHardwareBuffer_describe((*C.AHardwareBuffer)(buffer), (*C.AHardwareBuffer_Desc)(outDesc)) +} + +func Cbrt(__x Double) Double { + ret := (Double)(C.cbrt((C.double)(__x))) + return ret +} + +func Fmaxf(__x Float, __y Float) Float { + ret := (Float)(C.fmaxf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Strtoimax(__s *Char, __end_ptr []*Char, __base Int) Intmax_t { + ret := (Intmax_t)(C.strtoimax((*C.char)(__s), (**C.char)(unsafe.Pointer(&__end_ptr[0])), (C.int)(__base))) + return ret +} + +func Scalbn(__x Double, __exponent Int) Double { + ret := (Double)(C.scalbn((C.double)(__x), (C.int)(__exponent))) + return ret +} + +func Sqrtf(__x Float) Float { + ret := (Float)(C.sqrtf((C.float)(__x))) + return ret +} + +func ASensorManagerGetInstanceForPackage(packageName *Char) *ASensorManager { + ret := (*ASensorManager)(unsafe.Pointer(C.ASensorManager_getInstanceForPackage((*C.char)(packageName)))) + return ret +} + +func Cbrtf(__x Float) Float { + ret := (Float)(C.cbrtf((C.float)(__x))) + return ret +} + +func Fmin(__x Double, __y Double) Double { + ret := (Double)(C.fmin((C.double)(__x), (C.double)(__y))) + return ret +} + +func Umask(__mask Mode_t) Mode_t { + ret := (Mode_t)(C.umask((C.mode_t)(__mask))) + return ret +} + +func Nan(__kind *Char) Double { + ret := (Double)(C.nan((*C.char)(__kind))) + return ret +} + +func Fchmodat(__dir_fd Int, __path *Char, __mode Mode_t, __flags Int) Int { + ret := (Int)(C.fchmodat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode), (C.int)(__flags))) + return ret +} + +func ANativeWindowLock(window *ANativeWindow, outBuffer *ANativeWindow_Buffer, inOutDirtyBounds *ARect) Int32_t { + ret := (Int32_t)(C.ANativeWindow_lock((*C.ANativeWindow)(window), (*C.ANativeWindow_Buffer)(outBuffer), (*C.ARect)(inOutDirtyBounds))) + return ret +} + +func Floor(__x Double) Double { + ret := (Double)(C.floor((C.double)(__x))) return ret } diff --git a/android28/extra.go b/android28/extra.go new file mode 100644 index 0000000..aa630e4 --- /dev/null +++ b/android28/extra.go @@ -0,0 +1,48 @@ +package android28 + +/* +#cgo CFLAGS: -x objective-c -fno-objc-arc +#cgo LDFLAGS: -landroid -llog -lnativewindow -lm + +#import +#import + +typedef struct { + float x; + float y; + float z; + int8_t status; +} ASensorVector2; + +ASensorVector2 +ASensorAcceleration(ASensorEvent* event) { + ASensorVector2 ret; + ret.x = event->acceleration.x; + ret.y = event->acceleration.y; + ret.z = event->acceleration.z; + ret.status = event->acceleration.status; + return ret; +} + +ASensorEventQueue* +ASensorManager_createEventQueue2(ASensorManager* manager, ALooper* looper, int ident) { + return ASensorManager_createEventQueue(manager, looper, ident, 0, 0); +} +*/ +import "C" + +type ASensorVector C.ASensorVector2 + +func (x ASensorVector) X() Float { return (Float)(x.x) } +func (x ASensorVector) Y() Float { return (Float)(x.y) } +func (x ASensorVector) Z() Float { return (Float)(x.z) } + +func (x *ASensorEvent) Acceleration() ASensorVector { + return (ASensorVector)(C.ASensorAcceleration(x)) +} + +func ASensorManagerCreateEventQueue(manager *ASensorManager, looper *ALooper, ident int) *ASensorEventQueue { + ret := (*ASensorEventQueue)(C.ASensorManager_createEventQueue2((*C.ASensorManager)(manager), (*C.ALooper)(looper), (C.int)(ident))) + return ret +} + diff --git a/android28/main.go b/android28/main.go index 7329385..4e36ab8 100644 --- a/android28/main.go +++ b/android28/main.go @@ -6,12 +6,18 @@ package android28 #cgo LDFLAGS: -landroid -llog -lnativewindow -lm #import + #import + #import + #import + #import + #import + */ import "C" @@ -24,13 +30,7 @@ type Id struct { } func (o *Id) Ptr() unsafe.Pointer { if o == nil { return nil }; return o.ptr } -type Int C.int - -type Stat64_t = C.struct_stat64 - -type Mode_t C.__mode_t - -type AHardwareBuffer = C.struct_AHardwareBuffer +type Float C.float type Int32_t C.__int32_t @@ -38,72 +38,57 @@ type ANativeWindow = C.struct_ANativeWindow type Double C.double -type AHardwareBuffer_Desc = C.struct_AHardwareBuffer_Desc +type Long C.long -type Float C.float - -type ASensor = C.struct_ASensor - -type Char C.char +type Ssize_t C.__kernel_ssize_t type ASensorEventQueue = C.struct_ASensorEventQueue -type Long C.long +type ASensorEvent = C.struct_ASensorEvent + +type Size_t C.ulong + +type ASensor = C.struct_ASensor + +type Int C.int + +type Int64_t C.__int64_t + +type AHardwareBuffer = C.struct_AHardwareBuffer + +type Char C.char + +type Stat64_t = C.struct_stat64 + +type Mode_t C.__mode_t + +type AHardwareBuffer_Desc = C.struct_AHardwareBuffer_Desc type ASensorManager = C.struct_ASensorManager -type LongLong C.longlong - -type ALooper = C.struct_ALooper - -type Bool C.bool - -type Stat_t = C.struct_stat - -type Timespec = C.struct_timespec - -type Uint64_t C.__uint64_t - -type ARect = C.struct_ARect - type Intmax_t C.int64_t type Dev_t C.uint64_t -type Size_t C.ulong - type ANativeWindow_Buffer = C.struct_ANativeWindow_Buffer -type Uintmax_t C.uint64_t +type ARect = C.struct_ARect -type Int64_t C.__int64_t +type LongLong C.longlong + +type Uint64_t C.__uint64_t + +type Stat_t = C.struct_stat + +type ALooper = C.struct_ALooper + +type Bool C.bool type ASensorList *C.ASensorRef -type Ssize_t C.__kernel_ssize_t - -type ASensorEvent = C.struct_ASensorEvent -const ANDROID_LOG_UNKNOWN = C.ANDROID_LOG_UNKNOWN -const ANDROID_LOG_DEFAULT = C.ANDROID_LOG_DEFAULT -const ANDROID_LOG_VERBOSE = C.ANDROID_LOG_VERBOSE -const ANDROID_LOG_DEBUG = C.ANDROID_LOG_DEBUG -const ANDROID_LOG_INFO = C.ANDROID_LOG_INFO -const ANDROID_LOG_WARN = C.ANDROID_LOG_WARN -const ANDROID_LOG_ERROR = C.ANDROID_LOG_ERROR -const ANDROID_LOG_FATAL = C.ANDROID_LOG_FATAL -const ANDROID_LOG_SILENT = C.ANDROID_LOG_SILENT - -const LOG_ID_MIN = C.LOG_ID_MIN -const LOG_ID_MAIN = C.LOG_ID_MAIN -const LOG_ID_RADIO = C.LOG_ID_RADIO -const LOG_ID_EVENTS = C.LOG_ID_EVENTS -const LOG_ID_SYSTEM = C.LOG_ID_SYSTEM -const LOG_ID_CRASH = C.LOG_ID_CRASH -const LOG_ID_STATS = C.LOG_ID_STATS -const LOG_ID_SECURITY = C.LOG_ID_SECURITY -const LOG_ID_KERNEL = C.LOG_ID_KERNEL -const LOG_ID_MAX = C.LOG_ID_MAX +type Timespec = C.struct_timespec +type Uintmax_t C.uint64_t const JNIInvalidRefType = C.JNIInvalidRefType const JNILocalRefType = C.JNILocalRefType const JNIGlobalRefType = C.JNIGlobalRefType @@ -181,6 +166,27 @@ const ANATIVEWINDOW_TRANSFORM_ROTATE_90 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_90 const ANATIVEWINDOW_TRANSFORM_ROTATE_180 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_180 const ANATIVEWINDOW_TRANSFORM_ROTATE_270 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_270 +const ANDROID_LOG_UNKNOWN = C.ANDROID_LOG_UNKNOWN +const ANDROID_LOG_DEFAULT = C.ANDROID_LOG_DEFAULT +const ANDROID_LOG_VERBOSE = C.ANDROID_LOG_VERBOSE +const ANDROID_LOG_DEBUG = C.ANDROID_LOG_DEBUG +const ANDROID_LOG_INFO = C.ANDROID_LOG_INFO +const ANDROID_LOG_WARN = C.ANDROID_LOG_WARN +const ANDROID_LOG_ERROR = C.ANDROID_LOG_ERROR +const ANDROID_LOG_FATAL = C.ANDROID_LOG_FATAL +const ANDROID_LOG_SILENT = C.ANDROID_LOG_SILENT + +const LOG_ID_MIN = C.LOG_ID_MIN +const LOG_ID_MAIN = C.LOG_ID_MAIN +const LOG_ID_RADIO = C.LOG_ID_RADIO +const LOG_ID_EVENTS = C.LOG_ID_EVENTS +const LOG_ID_SYSTEM = C.LOG_ID_SYSTEM +const LOG_ID_CRASH = C.LOG_ID_CRASH +const LOG_ID_STATS = C.LOG_ID_STATS +const LOG_ID_SECURITY = C.LOG_ID_SECURITY +const LOG_ID_KERNEL = C.LOG_ID_KERNEL +const LOG_ID_MAX = C.LOG_ID_MAX + const ALOOPER_PREPARE_ALLOW_NON_CALLBACKS = C.ALOOPER_PREPARE_ALLOW_NON_CALLBACKS const ALOOPER_POLL_WAKE = C.ALOOPER_POLL_WAKE @@ -267,290 +273,8 @@ func (c *Char) Free() { C.free(unsafe.Pointer(c)) } -func Fstat64(__fd Int, __buf *Stat64_t) Int { - ret := (Int)(C.fstat64((C.int)(__fd), (*C.struct_stat64)(__buf))) - return ret -} - -func Umask(__mask Mode_t) Mode_t { - ret := (Mode_t)(C.umask((C.mode_t)(__mask))) - return ret -} - -func AHardwareBufferAcquire(buffer *AHardwareBuffer) { - C.AHardwareBuffer_acquire((*C.AHardwareBuffer)(buffer)) -} - -func ANativeWindowSetBuffersGeometry(window *ANativeWindow, width Int32_t, height Int32_t, format Int32_t) Int32_t { - ret := (Int32_t)(C.ANativeWindow_setBuffersGeometry((*C.ANativeWindow)(window), (C.int32_t)(width), (C.int32_t)(height), (C.int32_t)(format))) - return ret -} - -func ANativeWindowAcquire(window *ANativeWindow) { - C.ANativeWindow_acquire((*C.ANativeWindow)(window)) -} - -func Ceil(__x Double) Double { - ret := (Double)(C.ceil((C.double)(__x))) - return ret -} - -func AHardwareBufferAllocate(desc *AHardwareBuffer_Desc, outBuffer []*AHardwareBuffer) Int { - ret := (Int)(C.AHardwareBuffer_allocate((*C.AHardwareBuffer_Desc)(desc), (**C.AHardwareBuffer)(unsafe.Pointer(&outBuffer[0])))) - return ret -} - -func AHardwareBufferDescribe(buffer *AHardwareBuffer, outDesc *AHardwareBuffer_Desc) { - C.AHardwareBuffer_describe((*C.AHardwareBuffer)(buffer), (*C.AHardwareBuffer_Desc)(outDesc)) -} - -func Lgamma(__x Double) Double { - ret := (Double)(C.lgamma((C.double)(__x))) - return ret -} - -func Nextafterf(__x Float, __y Float) Float { - ret := (Float)(C.nextafterf((C.float)(__x), (C.float)(__y))) - return ret -} - -func AHardwareBufferUnlock(buffer *AHardwareBuffer, fence *Int32_t) Int { - ret := (Int)(C.AHardwareBuffer_unlock((*C.AHardwareBuffer)(buffer), (*C.int32_t)(fence))) - return ret -} - -func ASensorGetType(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getType((*C.ASensor)(sensor))) - return ret -} - -func Atan2f(__y Float, __x Float) Float { - ret := (Float)(C.atan2f((C.float)(__y), (C.float)(__x))) - return ret -} - -func Sinh(__x Double) Double { - ret := (Double)(C.sinh((C.double)(__x))) - return ret -} - -func Asinhf(__x Float) Float { - ret := (Float)(C.asinhf((C.float)(__x))) - return ret -} - -func ASensorGetVendor(sensor *ASensor) *Char { - ret := (*Char)(unsafe.Pointer(C.ASensor_getVendor((*C.ASensor)(sensor)))) - return ret -} - -func Fmodf(__x Float, __y Float) Float { - ret := (Float)(C.fmodf((C.float)(__x), (C.float)(__y))) - return ret -} - -func ASensorEventQueueDisableSensor(queue *ASensorEventQueue, sensor *ASensor) Int { - ret := (Int)(C.ASensorEventQueue_disableSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor))) - return ret -} - -func Atoi(__s *Char) Int { - ret := (Int)(C.atoi((*C.char)(__s))) - return ret -} - -func Lrintf(__x Float) Long { - ret := (Long)(C.lrintf((C.float)(__x))) - return ret -} - -func Jn(__n Int, __x Double) Double { - ret := (Double)(C.jn((C.int)(__n), (C.double)(__x))) - return ret -} - -func Ilogbf(__x Float) Int { - ret := (Int)(C.ilogbf((C.float)(__x))) - return ret -} - -func Logb(__x Double) Double { - ret := (Double)(C.logb((C.double)(__x))) - return ret -} - -func ANativeWindowGetFormat(window *ANativeWindow) Int32_t { - ret := (Int32_t)(C.ANativeWindow_getFormat((*C.ANativeWindow)(window))) - return ret -} - -func Logbf(__x Float) Float { - ret := (Float)(C.logbf((C.float)(__x))) - return ret -} - -func ASensorManagerGetDefaultSensor(manager *ASensorManager, type_ Int) *ASensor { - ret := (*ASensor)(unsafe.Pointer(C.ASensorManager_getDefaultSensor((*C.ASensorManager)(manager), (C.int)(type_)))) - return ret -} - -func AHardwareBufferSendHandleToUnixSocket(buffer *AHardwareBuffer, socketFd Int) Int { - ret := (Int)(C.AHardwareBuffer_sendHandleToUnixSocket((*C.AHardwareBuffer)(buffer), (C.int)(socketFd))) - return ret -} - -func Atanf(__x Float) Float { - ret := (Float)(C.atanf((C.float)(__x))) - return ret -} - -func Fmaf(__x Float, __y Float, __z Float) Float { - ret := (Float)(C.fmaf((C.float)(__x), (C.float)(__y), (C.float)(__z))) - return ret -} - -func Tanf(__x Float) Float { - ret := (Float)(C.tanf((C.float)(__x))) - return ret -} - -func Expf(__x Float) Float { - ret := (Float)(C.expf((C.float)(__x))) - return ret -} - -func Fdimf(__x Float, __y Float) Float { - ret := (Float)(C.fdimf((C.float)(__x), (C.float)(__y))) - return ret -} - -func ASensorGetMinDelay(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getMinDelay((*C.ASensor)(sensor))) - return ret -} - -func Remquof(__x Float, __y Float, __quotient_bits *Int) Float { - ret := (Float)(C.remquof((C.float)(__x), (C.float)(__y), (*C.int)(__quotient_bits))) - return ret -} - -func Lstat64(__path *Char, __buf *Stat64_t) Int { - ret := (Int)(C.lstat64((*C.char)(__path), (*C.struct_stat64)(__buf))) - return ret -} - -func Remainder(__x Double, __y Double) Double { - ret := (Double)(C.remainder((C.double)(__x), (C.double)(__y))) - return ret -} - -func Lgammaf(__x Float) Float { - ret := (Float)(C.lgammaf((C.float)(__x))) - return ret -} - -func Mkdir(__path *Char, __mode Mode_t) Int { - ret := (Int)(C.mkdir((*C.char)(__path), (C.mode_t)(__mode))) - return ret -} - -func Cosh(__x Double) Double { - ret := (Double)(C.cosh((C.double)(__x))) - return ret -} - -func Expm1f(__x Float) Float { - ret := (Float)(C.expm1f((C.float)(__x))) - return ret -} - -func ASensorGetFifoReservedEventCount(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getFifoReservedEventCount((*C.ASensor)(sensor))) - return ret -} - -func ASensorGetHighestDirectReportRateLevel(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getHighestDirectReportRateLevel((*C.ASensor)(sensor))) - return ret -} - -func Erf(__x Double) Double { - ret := (Double)(C.erf((C.double)(__x))) - return ret -} - -func Y0(__x Double) Double { - ret := (Double)(C.y0((C.double)(__x))) - return ret -} - -func Nanf(__kind *Char) Float { - ret := (Float)(C.nanf((*C.char)(__kind))) - return ret -} - -func ASensorEventQueueEnableSensor(queue *ASensorEventQueue, sensor *ASensor) Int { - ret := (Int)(C.ASensorEventQueue_enableSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor))) - return ret -} - -func ASensorGetResolution(sensor *ASensor) Float { - ret := (Float)(C.ASensor_getResolution((*C.ASensor)(sensor))) - return ret -} - -func Sin(__x Double) Double { - ret := (Double)(C.sin((C.double)(__x))) - return ret -} - -func Scalbnf(__x Float, __exponent Int) Float { - ret := (Float)(C.scalbnf((C.float)(__x), (C.int)(__exponent))) - return ret -} - -func Sqrtf(__x Float) Float { - ret := (Float)(C.sqrtf((C.float)(__x))) - return ret -} - -func Nearbyint(__x Double) Double { - ret := (Double)(C.nearbyint((C.double)(__x))) - return ret -} - -func Coshf(__x Float) Float { - ret := (Float)(C.coshf((C.float)(__x))) - return ret -} - -func Exp(__x Double) Double { - ret := (Double)(C.exp((C.double)(__x))) - return ret -} - -func Atan2(__y Double, __x Double) Double { - ret := (Double)(C.atan2((C.double)(__y), (C.double)(__x))) - return ret -} - -func Expm1(__x Double) Double { - ret := (Double)(C.expm1((C.double)(__x))) - return ret -} - -func Modff(__x Float, __integral_part *Float) Float { - ret := (Float)(C.modff((C.float)(__x), (*C.float)(__integral_part))) - return ret -} - -func Fabsf(__x Float) Float { - ret := (Float)(C.fabsf((C.float)(__x))) - return ret -} - -func ASensorEventQueueSetEventRate(queue *ASensorEventQueue, sensor *ASensor, usec Int32_t) Int { - ret := (Int)(C.ASensorEventQueue_setEventRate((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor), (C.int32_t)(usec))) +func Sinhf(__x Float) Float { + ret := (Float)(C.sinhf((C.float)(__x))) return ret } @@ -559,350 +283,8 @@ func ANativeWindowGetWidth(window *ANativeWindow) Int32_t { return ret } -func Asinf(__x Float) Float { - ret := (Float)(C.asinf((C.float)(__x))) - return ret -} - -func ASensorGetName(sensor *ASensor) *Char { - ret := (*Char)(unsafe.Pointer(C.ASensor_getName((*C.ASensor)(sensor)))) - return ret -} - -func Fchmod(__fd Int, __mode Mode_t) Int { - ret := (Int)(C.fchmod((C.int)(__fd), (C.mode_t)(__mode))) - return ret -} - -func Frexp(__x Double, __exponent *Int) Double { - ret := (Double)(C.frexp((C.double)(__x), (*C.int)(__exponent))) - return ret -} - -func Scalblnf(__x Float, __exponent Long) Float { - ret := (Float)(C.scalblnf((C.float)(__x), (C.long)(__exponent))) - return ret -} - -func Rintf(__x Float) Float { - ret := (Float)(C.rintf((C.float)(__x))) - return ret -} - -func Llround(__x Double) LongLong { - ret := (LongLong)(C.llround((C.double)(__x))) - return ret -} - -func ASensorGetStringType(sensor *ASensor) *Char { - ret := (*Char)(unsafe.Pointer(C.ASensor_getStringType((*C.ASensor)(sensor)))) - return ret -} - -func ANativeWindowRelease(window *ANativeWindow) { - C.ANativeWindow_release((*C.ANativeWindow)(window)) -} - -func Exp2f(__x Float) Float { - ret := (Float)(C.exp2f((C.float)(__x))) - return ret -} - -func ALooperAcquire(looper *ALooper) { - C.ALooper_acquire((*C.ALooper)(looper)) -} - -func ASensorIsWakeUpSensor(sensor *ASensor) Bool { - ret := (Bool)(C.ASensor_isWakeUpSensor((*C.ASensor)(sensor))) - return ret -} - -func AndroidGetApplicationTargetSdkVersion() Int { - ret := (Int)(C.android_get_application_target_sdk_version()) - return ret -} - -func ANativeWindowGetBuffersDataSpace(window *ANativeWindow) Int32_t { - ret := (Int32_t)(C.ANativeWindow_getBuffersDataSpace((*C.ANativeWindow)(window))) - return ret -} - -func Roundf(__x Float) Float { - ret := (Float)(C.roundf((C.float)(__x))) - return ret -} - -func Log1pf(__x Float) Float { - ret := (Float)(C.log1pf((C.float)(__x))) - return ret -} - -func Nan(__kind *Char) Double { - ret := (Double)(C.nan((*C.char)(__kind))) - return ret -} - -func Sinf(__x Float) Float { - ret := (Float)(C.sinf((C.float)(__x))) - return ret -} - -func Lrint(__x Double) Long { - ret := (Long)(C.lrint((C.double)(__x))) - return ret -} - -func Isinf(__x Double) Int { - ret := (Int)(C.isinf((C.double)(__x))) - return ret -} - -func ALooperPollAll(timeoutMillis Int, outFd *Int, outEvents *Int, outData *unsafe.Pointer) Int { - ret := (Int)(C.ALooper_pollAll((C.int)(timeoutMillis), (*C.int)(outFd), (*C.int)(outEvents), outData)) - return ret -} - -func Cos(__x Double) Double { - ret := (Double)(C.cos((C.double)(__x))) - return ret -} - -func J0(__x Double) Double { - ret := (Double)(C.j0((C.double)(__x))) - return ret -} - -func ANativeWindowUnlockAndPost(window *ANativeWindow) Int32_t { - ret := (Int32_t)(C.ANativeWindow_unlockAndPost((*C.ANativeWindow)(window))) - return ret -} - -func ALooperRemoveFd(looper *ALooper, fd Int) Int { - ret := (Int)(C.ALooper_removeFd((*C.ALooper)(looper), (C.int)(fd))) - return ret -} - -func Tanhf(__x Float) Float { - ret := (Float)(C.tanhf((C.float)(__x))) - return ret -} - -func Log2f(__x Float) Float { - ret := (Float)(C.log2f((C.float)(__x))) - return ret -} - -func Fabs(__x Double) Double { - ret := (Double)(C.fabs((C.double)(__x))) - return ret -} - -func Llrintf(__x Float) LongLong { - ret := (LongLong)(C.llrintf((C.float)(__x))) - return ret -} - -func Fmax(__x Double, __y Double) Double { - ret := (Double)(C.fmax((C.double)(__x), (C.double)(__y))) - return ret -} - -func SystemPropertyGet(__name *Char, __value *Char) Int { - ret := (Int)(C.__system_property_get((*C.char)(__name), (*C.char)(__value))) - return ret -} - -func ANativeWindowSetBuffersTransform(window *ANativeWindow, transform Int32_t) Int32_t { - ret := (Int32_t)(C.ANativeWindow_setBuffersTransform((*C.ANativeWindow)(window), (C.int32_t)(transform))) - return ret -} - -func Log10f(__x Float) Float { - ret := (Float)(C.log10f((C.float)(__x))) - return ret -} - -func Yn(__n Int, __x Double) Double { - ret := (Double)(C.yn((C.int)(__n), (C.double)(__x))) - return ret -} - -func ASensorManagerGetDefaultSensorEx(manager *ASensorManager, type_ Int, wakeUp Bool) *ASensor { - ret := (*ASensor)(unsafe.Pointer(C.ASensorManager_getDefaultSensorEx((*C.ASensorManager)(manager), (C.int)(type_), (C.bool)(wakeUp)))) - return ret -} - -func ASensorManagerConfigureDirectReport(manager *ASensorManager, sensor *ASensor, channelId Int, rate Int) Int { - ret := (Int)(C.ASensorManager_configureDirectReport((*C.ASensorManager)(manager), (*C.ASensor)(sensor), (C.int)(channelId), (C.int)(rate))) - return ret -} - -func Fstat(__fd Int, __buf *Stat_t) Int { - ret := (Int)(C.fstat((C.int)(__fd), (*C.struct_stat)(__buf))) - return ret -} - -func Utimensat(__dir_fd Int, __path *Char, __times *Timespec, __flags Int) Int { - ret := (Int)(C.utimensat((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_timespec)(__times), (C.int)(__flags))) - return ret -} - -func AHardwareBufferLock(buffer *AHardwareBuffer, usage Uint64_t, fence Int32_t, rect *ARect, outVirtualAddress *unsafe.Pointer) Int { - ret := (Int)(C.AHardwareBuffer_lock((*C.AHardwareBuffer)(buffer), (C.uint64_t)(usage), (C.int32_t)(fence), (*C.ARect)(rect), outVirtualAddress)) - return ret -} - -func Acosh(__x Double) Double { - ret := (Double)(C.acosh((C.double)(__x))) - return ret -} - -func Mkfifo(__path *Char, __mode Mode_t) Int { - ret := (Int)(C.mkfifo((*C.char)(__path), (C.mode_t)(__mode))) - return ret -} - -func ALooperPrepare(opts Int) *ALooper { - ret := (*ALooper)(unsafe.Pointer(C.ALooper_prepare((C.int)(opts)))) - return ret -} - -func Tan(__x Double) Double { - ret := (Double)(C.tan((C.double)(__x))) - return ret -} - -func AHardwareBufferRelease(buffer *AHardwareBuffer) { - C.AHardwareBuffer_release((*C.AHardwareBuffer)(buffer)) -} - -func Modf(__x Double, __integral_part *Double) Double { - ret := (Double)(C.modf((C.double)(__x), (*C.double)(__integral_part))) - return ret -} - -func Strtoimax(__s *Char, __end_ptr []*Char, __base Int) Intmax_t { - ret := (Intmax_t)(C.strtoimax((*C.char)(__s), (**C.char)(unsafe.Pointer(&__end_ptr[0])), (C.int)(__base))) - return ret -} - -func Erfc(__x Double) Double { - ret := (Double)(C.erfc((C.double)(__x))) - return ret -} - -func ALooperPollOnce(timeoutMillis Int, outFd *Int, outEvents *Int, outData *unsafe.Pointer) Int { - ret := (Int)(C.ALooper_pollOnce((C.int)(timeoutMillis), (*C.int)(outFd), (*C.int)(outEvents), outData)) - return ret -} - -func Sinhf(__x Float) Float { - ret := (Float)(C.sinhf((C.float)(__x))) - return ret -} - -func Mknodat(__dir_fd Int, __path *Char, __mode Mode_t, __dev Dev_t) Int { - ret := (Int)(C.mknodat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode), (C.dev_t)(__dev))) - return ret -} - -func Trunc(__x Double) Double { - ret := (Double)(C.trunc((C.double)(__x))) - return ret -} - -func Fminf(__x Float, __y Float) Float { - ret := (Float)(C.fminf((C.float)(__x), (C.float)(__y))) - return ret -} - -func ASensorManagerCreateHardwareBufferDirectChannel(manager *ASensorManager, buffer *AHardwareBuffer, size Size_t) Int { - ret := (Int)(C.ASensorManager_createHardwareBufferDirectChannel((*C.ASensorManager)(manager), (*C.AHardwareBuffer)(buffer), (C.size_t)(size))) - return ret -} - -func ASensorGetFifoMaxEventCount(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getFifoMaxEventCount((*C.ASensor)(sensor))) - return ret -} - -func ANativeWindowSetBuffersDataSpace(window *ANativeWindow, dataSpace Int32_t) Int32_t { - ret := (Int32_t)(C.ANativeWindow_setBuffersDataSpace((*C.ANativeWindow)(window), (C.int32_t)(dataSpace))) - return ret -} - -func Fmaxf(__x Float, __y Float) Float { - ret := (Float)(C.fmaxf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Powf(__x Float, __y Float) Float { - ret := (Float)(C.powf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Lstat(__path *Char, __buf *Stat_t) Int { - ret := (Int)(C.lstat((*C.char)(__path), (*C.struct_stat)(__buf))) - return ret -} - -func Mkfifoat(__dir_fd Int, __path *Char, __mode Mode_t) Int { - ret := (Int)(C.mkfifoat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode))) - return ret -} - -func Nearbyintf(__x Float) Float { - ret := (Float)(C.nearbyintf((C.float)(__x))) - return ret -} - -func Floorf(__x Float) Float { - ret := (Float)(C.floorf((C.float)(__x))) - return ret -} - -func Nextafter(__x Double, __y Double) Double { - ret := (Double)(C.nextafter((C.double)(__x), (C.double)(__y))) - return ret -} - -func ASensorIsDirectChannelTypeSupported(sensor *ASensor, channelType Int) Bool { - ret := (Bool)(C.ASensor_isDirectChannelTypeSupported((*C.ASensor)(sensor), (C.int)(channelType))) - return ret -} - -func AHardwareBufferRecvHandleFromUnixSocket(socketFd Int, outBuffer []*AHardwareBuffer) Int { - ret := (Int)(C.AHardwareBuffer_recvHandleFromUnixSocket((C.int)(socketFd), (**C.AHardwareBuffer)(unsafe.Pointer(&outBuffer[0])))) - return ret -} - -func Acosf(__x Float) Float { - ret := (Float)(C.acosf((C.float)(__x))) - return ret -} - -func ASensorEventQueueHasEvents(queue *ASensorEventQueue) Int { - ret := (Int)(C.ASensorEventQueue_hasEvents((*C.ASensorEventQueue)(queue))) - return ret -} - -func Tgammaf(__x Float) Float { - ret := (Float)(C.tgammaf((C.float)(__x))) - return ret -} - -func Round(__x Double) Double { - ret := (Double)(C.round((C.double)(__x))) - return ret -} - -func Llroundf(__x Float) LongLong { - ret := (LongLong)(C.llroundf((C.float)(__x))) - return ret -} - -func Isnan(__x Double) Int { - ret := (Int)(C.isnan((C.double)(__x))) +func Erff(__x Float) Float { + ret := (Float)(C.erff((C.float)(__x))) return ret } @@ -911,326 +293,18 @@ func ANativeWindowGetHeight(window *ANativeWindow) Int32_t { return ret } -func Ilogb(__x Double) Int { - ret := (Int)(C.ilogb((C.double)(__x))) +func Tgamma(__x Double) Double { + ret := (Double)(C.tgamma((C.double)(__x))) return ret } -func ASensorManagerCreateSharedMemoryDirectChannel(manager *ASensorManager, fd Int, size Size_t) Int { - ret := (Int)(C.ASensorManager_createSharedMemoryDirectChannel((*C.ASensorManager)(manager), (C.int)(fd), (C.size_t)(size))) +func Lrintf(__x Float) Long { + ret := (Long)(C.lrintf((C.float)(__x))) return ret } -func Rint(__x Double) Double { - ret := (Double)(C.rint((C.double)(__x))) - return ret -} - -func Cbrt(__x Double) Double { - ret := (Double)(C.cbrt((C.double)(__x))) - return ret -} - -func Remainderf(__x Float, __y Float) Float { - ret := (Float)(C.remainderf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Chmod(__path *Char, __mode Mode_t) Int { - ret := (Int)(C.chmod((*C.char)(__path), (C.mode_t)(__mode))) - return ret -} - -func Futimens(__dir_fd Int, __times *Timespec) Int { - ret := (Int)(C.futimens((C.int)(__dir_fd), (*C.struct_timespec)(__times))) - return ret -} - -func ALooperForThread() *ALooper { - ret := (*ALooper)(unsafe.Pointer(C.ALooper_forThread())) - return ret -} - -func Ldexp(__x Double, __exponent Int) Double { - ret := (Double)(C.ldexp((C.double)(__x), (C.int)(__exponent))) - return ret -} - -func Logf(__x Float) Float { - ret := (Float)(C.logf((C.float)(__x))) - return ret -} - -func Y1(__x Double) Double { - ret := (Double)(C.y1((C.double)(__x))) - return ret -} - -func ANativeWindowLock(window *ANativeWindow, outBuffer *ANativeWindow_Buffer, inOutDirtyBounds *ARect) Int32_t { - ret := (Int32_t)(C.ANativeWindow_lock((*C.ANativeWindow)(window), (*C.ANativeWindow_Buffer)(outBuffer), (*C.ARect)(inOutDirtyBounds))) - return ret -} - -func Floor(__x Double) Double { - ret := (Double)(C.floor((C.double)(__x))) - return ret -} - -func ASensorManagerGetInstanceForPackage(packageName *Char) *ASensorManager { - ret := (*ASensorManager)(unsafe.Pointer(C.ASensorManager_getInstanceForPackage((*C.char)(packageName)))) - return ret -} - -func Fstatat(__dir_fd Int, __path *Char, __buf *Stat_t, __flags Int) Int { - ret := (Int)(C.fstatat((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_stat)(__buf), (C.int)(__flags))) - return ret -} - -func Hypot(__x Double, __y Double) Double { - ret := (Double)(C.hypot((C.double)(__x), (C.double)(__y))) - return ret -} - -func Sqrt(__x Double) Double { - ret := (Double)(C.sqrt((C.double)(__x))) - return ret -} - -func Remquo(__x Double, __y Double, __quotient_bits *Int) Double { - ret := (Double)(C.remquo((C.double)(__x), (C.double)(__y), (*C.int)(__quotient_bits))) - return ret -} - -func Tanh(__x Double) Double { - ret := (Double)(C.tanh((C.double)(__x))) - return ret -} - -func Scalbn(__x Double, __exponent Int) Double { - ret := (Double)(C.scalbn((C.double)(__x), (C.int)(__exponent))) - return ret -} - -func Llrint(__x Double) LongLong { - ret := (LongLong)(C.llrint((C.double)(__x))) - return ret -} - -func ASensorManagerDestroyEventQueue(manager *ASensorManager, queue *ASensorEventQueue) Int { - ret := (Int)(C.ASensorManager_destroyEventQueue((*C.ASensorManager)(manager), (*C.ASensorEventQueue)(queue))) - return ret -} - -func Stat64(__path *Char, __buf *Stat64_t) Int { - ret := (Int)(C.stat64((*C.char)(__path), (*C.struct_stat64)(__buf))) - return ret -} - -func Asin(__x Double) Double { - ret := (Double)(C.asin((C.double)(__x))) - return ret -} - -func Pow(__x Double, __y Double) Double { - ret := (Double)(C.pow((C.double)(__x), (C.double)(__y))) - return ret -} - -func Strtoumax(__s *Char, __end_ptr []*Char, __base Int) Uintmax_t { - ret := (Uintmax_t)(C.strtoumax((*C.char)(__s), (**C.char)(unsafe.Pointer(&__end_ptr[0])), (C.int)(__base))) - return ret -} - -func Asinh(__x Double) Double { - ret := (Double)(C.asinh((C.double)(__x))) - return ret -} - -func Acoshf(__x Float) Float { - ret := (Float)(C.acoshf((C.float)(__x))) - return ret -} - -func Scalbln(__x Double, __exponent Long) Double { - ret := (Double)(C.scalbln((C.double)(__x), (C.long)(__exponent))) - return ret -} - -func AndroidLogBufWrite(bufID Int, prio Int, tag *Char, text *Char) Int { - ret := (Int)(C.__android_log_buf_write((C.int)(bufID), (C.int)(prio), (*C.char)(tag), (*C.char)(text))) - return ret -} - -func Acos(__x Double) Double { - ret := (Double)(C.acos((C.double)(__x))) - return ret -} - -func Log2(__x Double) Double { - ret := (Double)(C.log2((C.double)(__x))) - return ret -} - -func Erff(__x Float) Float { - ret := (Float)(C.erff((C.float)(__x))) - return ret -} - -func Fdim(__x Double, __y Double) Double { - ret := (Double)(C.fdim((C.double)(__x), (C.double)(__y))) - return ret -} - -func J1(__x Double) Double { - ret := (Double)(C.j1((C.double)(__x))) - return ret -} - -func Exp2(__x Double) Double { - ret := (Double)(C.exp2((C.double)(__x))) - return ret -} - -func Log10(__x Double) Double { - ret := (Double)(C.log10((C.double)(__x))) - return ret -} - -func ASensorManagerDestroyDirectChannel(manager *ASensorManager, channelId Int) { - C.ASensorManager_destroyDirectChannel((*C.ASensorManager)(manager), (C.int)(channelId)) -} - -func ASensorGetReportingMode(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getReportingMode((*C.ASensor)(sensor))) - return ret -} - -func Frexpf(__x Float, __exponent *Int) Float { - ret := (Float)(C.frexpf((C.float)(__x), (*C.int)(__exponent))) - return ret -} - -func Ceilf(__x Float) Float { - ret := (Float)(C.ceilf((C.float)(__x))) - return ret -} - -func ASensorEventQueueRegisterSensor(queue *ASensorEventQueue, sensor *ASensor, samplingPeriodUs Int32_t, maxBatchReportLatencyUs Int64_t) Int { - ret := (Int)(C.ASensorEventQueue_registerSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor), (C.int32_t)(samplingPeriodUs), (C.int64_t)(maxBatchReportLatencyUs))) - return ret -} - -func ALooperRelease(looper *ALooper) { - C.ALooper_release((*C.ALooper)(looper)) -} - -func Atanh(__x Double) Double { - ret := (Double)(C.atanh((C.double)(__x))) - return ret -} - -func Copysign(__value Double, __sign Double) Double { - ret := (Double)(C.copysign((C.double)(__value), (C.double)(__sign))) - return ret -} - -func Fstatat64(__dir_fd Int, __path *Char, __buf *Stat64_t, __flags Int) Int { - ret := (Int)(C.fstatat64((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_stat64)(__buf), (C.int)(__flags))) - return ret -} - -func Imaxabs(__i Intmax_t) Intmax_t { - ret := (Intmax_t)(C.imaxabs((C.intmax_t)(__i))) - return ret -} - -func Log1p(__x Double) Double { - ret := (Double)(C.log1p((C.double)(__x))) - return ret -} - -func Cosf(__x Float) Float { - ret := (Float)(C.cosf((C.float)(__x))) - return ret -} - -func Mknod(__path *Char, __mode Mode_t, __dev Dev_t) Int { - ret := (Int)(C.mknod((*C.char)(__path), (C.mode_t)(__mode), (C.dev_t)(__dev))) - return ret -} - -func Fmod(__x Double, __y Double) Double { - ret := (Double)(C.fmod((C.double)(__x), (C.double)(__y))) - return ret -} - -func Fmin(__x Double, __y Double) Double { - ret := (Double)(C.fmin((C.double)(__x), (C.double)(__y))) - return ret -} - -func Stat(__path *Char, __buf *Stat_t) Int { - ret := (Int)(C.stat((*C.char)(__path), (*C.struct_stat)(__buf))) - return ret -} - -func AndroidGetDeviceApiLevel() Int { - ret := (Int)(C.android_get_device_api_level()) - return ret -} - -func Atanhf(__x Float) Float { - ret := (Float)(C.atanhf((C.float)(__x))) - return ret -} - -func ASensorManagerGetSensorList(manager *ASensorManager, list *ASensorList) Int { - ret := (Int)(C.ASensorManager_getSensorList((*C.ASensorManager)(manager), (*C.ASensorList)(list))) - return ret -} - -func AndroidLogWrite(prio Int, tag *Char, text *Char) Int { - ret := (Int)(C.__android_log_write((C.int)(prio), (*C.char)(tag), (*C.char)(text))) - return ret -} - -func Copysignf(__value Float, __sign Float) Float { - ret := (Float)(C.copysignf((C.float)(__value), (C.float)(__sign))) - return ret -} - -func Fma(__x Double, __y Double, __z Double) Double { - ret := (Double)(C.fma((C.double)(__x), (C.double)(__y), (C.double)(__z))) - return ret -} - -func Hypotf(__x Float, __y Float) Float { - ret := (Float)(C.hypotf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Lround(__x Double) Long { - ret := (Long)(C.lround((C.double)(__x))) - return ret -} - -func Log(__x Double) Double { - ret := (Double)(C.log((C.double)(__x))) - return ret -} - -func Cbrtf(__x Float) Float { - ret := (Float)(C.cbrtf((C.float)(__x))) - return ret -} - -func Truncf(__x Float) Float { - ret := (Float)(C.truncf((C.float)(__x))) - return ret -} - -func Ldexpf(__x Float, __exponent Int) Float { - ret := (Float)(C.ldexpf((C.float)(__x), (C.int)(__exponent))) +func Nextafterf(__x Float, __y Float) Float { + ret := (Float)(C.nextafterf((C.float)(__x), (C.float)(__y))) return ret } @@ -1239,22 +313,77 @@ func ASensorEventQueueGetEvents(queue *ASensorEventQueue, events *ASensorEvent, return ret } -func ALooperWake(looper *ALooper) { - C.ALooper_wake((*C.ALooper)(looper)) -} - -func Atan(__x Double) Double { - ret := (Double)(C.atan((C.double)(__x))) +func ASensorGetResolution(sensor *ASensor) Float { + ret := (Float)(C.ASensor_getResolution((*C.ASensor)(sensor))) return ret } -func Lroundf(__x Float) Long { - ret := (Long)(C.lroundf((C.float)(__x))) +func Tan(__x Double) Double { + ret := (Double)(C.tan((C.double)(__x))) return ret } -func Fchmodat(__dir_fd Int, __path *Char, __mode Mode_t, __flags Int) Int { - ret := (Int)(C.fchmodat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode), (C.int)(__flags))) +func Atanhf(__x Float) Float { + ret := (Float)(C.atanhf((C.float)(__x))) + return ret +} + +func Exp(__x Double) Double { + ret := (Double)(C.exp((C.double)(__x))) + return ret +} + +func Fmod(__x Double, __y Double) Double { + ret := (Double)(C.fmod((C.double)(__x), (C.double)(__y))) + return ret +} + +func Y1(__x Double) Double { + ret := (Double)(C.y1((C.double)(__x))) + return ret +} + +func ASensorEventQueueRegisterSensor(queue *ASensorEventQueue, sensor *ASensor, samplingPeriodUs Int32_t, maxBatchReportLatencyUs Int64_t) Int { + ret := (Int)(C.ASensorEventQueue_registerSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor), (C.int32_t)(samplingPeriodUs), (C.int64_t)(maxBatchReportLatencyUs))) + return ret +} + +func AHardwareBufferRelease(buffer *AHardwareBuffer) { + C.AHardwareBuffer_release((*C.AHardwareBuffer)(buffer)) +} + +func Cosh(__x Double) Double { + ret := (Double)(C.cosh((C.double)(__x))) + return ret +} + +func Fdimf(__x Float, __y Float) Float { + ret := (Float)(C.fdimf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Stat64(__path *Char, __buf *Stat64_t) Int { + ret := (Int)(C.stat64((*C.char)(__path), (*C.struct_stat64)(__buf))) + return ret +} + +func AndroidGetDeviceApiLevel() Int { + ret := (Int)(C.android_get_device_api_level()) + return ret +} + +func Acoshf(__x Float) Float { + ret := (Float)(C.acoshf((C.float)(__x))) + return ret +} + +func Sinf(__x Float) Float { + ret := (Float)(C.sinf((C.float)(__x))) + return ret +} + +func Fabs(__x Double) Double { + ret := (Double)(C.fabs((C.double)(__x))) return ret } @@ -1263,12 +392,889 @@ func Mkdirat(__dir_fd Int, __path *Char, __mode Mode_t) Int { return ret } +func AHardwareBufferAllocate(desc *AHardwareBuffer_Desc, outBuffer []*AHardwareBuffer) Int { + ret := (Int)(C.AHardwareBuffer_allocate((*C.AHardwareBuffer_Desc)(desc), (**C.AHardwareBuffer)(unsafe.Pointer(&outBuffer[0])))) + return ret +} + +func Sin(__x Double) Double { + ret := (Double)(C.sin((C.double)(__x))) + return ret +} + +func Log10(__x Double) Double { + ret := (Double)(C.log10((C.double)(__x))) + return ret +} + +func Pow(__x Double, __y Double) Double { + ret := (Double)(C.pow((C.double)(__x), (C.double)(__y))) + return ret +} + +func ASensorManagerConfigureDirectReport(manager *ASensorManager, sensor *ASensor, channelId Int, rate Int) Int { + ret := (Int)(C.ASensorManager_configureDirectReport((*C.ASensorManager)(manager), (*C.ASensor)(sensor), (C.int)(channelId), (C.int)(rate))) + return ret +} + +func Frexp(__x Double, __exponent *Int) Double { + ret := (Double)(C.frexp((C.double)(__x), (*C.int)(__exponent))) + return ret +} + +func ASensorEventQueueHasEvents(queue *ASensorEventQueue) Int { + ret := (Int)(C.ASensorEventQueue_hasEvents((*C.ASensorEventQueue)(queue))) + return ret +} + +func AndroidGetApplicationTargetSdkVersion() Int { + ret := (Int)(C.android_get_application_target_sdk_version()) + return ret +} + +func Fmin(__x Double, __y Double) Double { + ret := (Double)(C.fmin((C.double)(__x), (C.double)(__y))) + return ret +} + +func Cos(__x Double) Double { + ret := (Double)(C.cos((C.double)(__x))) + return ret +} + +func Ilogbf(__x Float) Int { + ret := (Int)(C.ilogbf((C.float)(__x))) + return ret +} + +func Remquo(__x Double, __y Double, __quotient_bits *Int) Double { + ret := (Double)(C.remquo((C.double)(__x), (C.double)(__y), (*C.int)(__quotient_bits))) + return ret +} + +func ALooperPollAll(timeoutMillis Int, outFd *Int, outEvents *Int, outData *unsafe.Pointer) Int { + ret := (Int)(C.ALooper_pollAll((C.int)(timeoutMillis), (*C.int)(outFd), (*C.int)(outEvents), outData)) + return ret +} + +func Mkfifo(__path *Char, __mode Mode_t) Int { + ret := (Int)(C.mkfifo((*C.char)(__path), (C.mode_t)(__mode))) + return ret +} + +func Imaxabs(__i Intmax_t) Intmax_t { + ret := (Intmax_t)(C.imaxabs((C.intmax_t)(__i))) + return ret +} + +func Sqrt(__x Double) Double { + ret := (Double)(C.sqrt((C.double)(__x))) + return ret +} + +func Nearbyintf(__x Float) Float { + ret := (Float)(C.nearbyintf((C.float)(__x))) + return ret +} + +func Trunc(__x Double) Double { + ret := (Double)(C.trunc((C.double)(__x))) + return ret +} + +func Rintf(__x Float) Float { + ret := (Float)(C.rintf((C.float)(__x))) + return ret +} + +func Lrint(__x Double) Long { + ret := (Long)(C.lrint((C.double)(__x))) + return ret +} + +func Fmax(__x Double, __y Double) Double { + ret := (Double)(C.fmax((C.double)(__x), (C.double)(__y))) + return ret +} + +func Log(__x Double) Double { + ret := (Double)(C.log((C.double)(__x))) + return ret +} + +func ANativeWindowGetBuffersDataSpace(window *ANativeWindow) Int32_t { + ret := (Int32_t)(C.ANativeWindow_getBuffersDataSpace((*C.ANativeWindow)(window))) + return ret +} + +func Log1pf(__x Float) Float { + ret := (Float)(C.log1pf((C.float)(__x))) + return ret +} + +func Lgammaf(__x Float) Float { + ret := (Float)(C.lgammaf((C.float)(__x))) + return ret +} + +func Rint(__x Double) Double { + ret := (Double)(C.rint((C.double)(__x))) + return ret +} + +func Round(__x Double) Double { + ret := (Double)(C.round((C.double)(__x))) + return ret +} + +func Mknod(__path *Char, __mode Mode_t, __dev Dev_t) Int { + ret := (Int)(C.mknod((*C.char)(__path), (C.mode_t)(__mode), (C.dev_t)(__dev))) + return ret +} + +func Acosf(__x Float) Float { + ret := (Float)(C.acosf((C.float)(__x))) + return ret +} + +func Coshf(__x Float) Float { + ret := (Float)(C.coshf((C.float)(__x))) + return ret +} + +func Sinh(__x Double) Double { + ret := (Double)(C.sinh((C.double)(__x))) + return ret +} + +func Fminf(__x Float, __y Float) Float { + ret := (Float)(C.fminf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Jn(__n Int, __x Double) Double { + ret := (Double)(C.jn((C.int)(__n), (C.double)(__x))) + return ret +} + +func ASensorGetVendor(sensor *ASensor) *Char { + ret := (*Char)(unsafe.Pointer(C.ASensor_getVendor((*C.ASensor)(sensor)))) + return ret +} + +func ANativeWindowLock(window *ANativeWindow, outBuffer *ANativeWindow_Buffer, inOutDirtyBounds *ARect) Int32_t { + ret := (Int32_t)(C.ANativeWindow_lock((*C.ANativeWindow)(window), (*C.ANativeWindow_Buffer)(outBuffer), (*C.ARect)(inOutDirtyBounds))) + return ret +} + +func Ceilf(__x Float) Float { + ret := (Float)(C.ceilf((C.float)(__x))) + return ret +} + +func Remquof(__x Float, __y Float, __quotient_bits *Int) Float { + ret := (Float)(C.remquof((C.float)(__x), (C.float)(__y), (*C.int)(__quotient_bits))) + return ret +} + +func ASensorEventQueueEnableSensor(queue *ASensorEventQueue, sensor *ASensor) Int { + ret := (Int)(C.ASensorEventQueue_enableSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor))) + return ret +} + +func ASensorGetName(sensor *ASensor) *Char { + ret := (*Char)(unsafe.Pointer(C.ASensor_getName((*C.ASensor)(sensor)))) + return ret +} + +func Cosf(__x Float) Float { + ret := (Float)(C.cosf((C.float)(__x))) + return ret +} + +func ASensorEventQueueDisableSensor(queue *ASensorEventQueue, sensor *ASensor) Int { + ret := (Int)(C.ASensorEventQueue_disableSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor))) + return ret +} + +func AndroidLogWrite(prio Int, tag *Char, text *Char) Int { + ret := (Int)(C.__android_log_write((C.int)(prio), (*C.char)(tag), (*C.char)(text))) + return ret +} + +func Asinhf(__x Float) Float { + ret := (Float)(C.asinhf((C.float)(__x))) + return ret +} + +func Expm1(__x Double) Double { + ret := (Double)(C.expm1((C.double)(__x))) + return ret +} + +func Logb(__x Double) Double { + ret := (Double)(C.logb((C.double)(__x))) + return ret +} + +func Llround(__x Double) LongLong { + ret := (LongLong)(C.llround((C.double)(__x))) + return ret +} + +func Truncf(__x Float) Float { + ret := (Float)(C.truncf((C.float)(__x))) + return ret +} + +func Fmaxf(__x Float, __y Float) Float { + ret := (Float)(C.fmaxf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Acos(__x Double) Double { + ret := (Double)(C.acos((C.double)(__x))) + return ret +} + +func Atan(__x Double) Double { + ret := (Double)(C.atan((C.double)(__x))) + return ret +} + +func Log10f(__x Float) Float { + ret := (Float)(C.log10f((C.float)(__x))) + return ret +} + +func Copysign(__value Double, __sign Double) Double { + ret := (Double)(C.copysign((C.double)(__value), (C.double)(__sign))) + return ret +} + +func Yn(__n Int, __x Double) Double { + ret := (Double)(C.yn((C.int)(__n), (C.double)(__x))) + return ret +} + +func ASensorGetMinDelay(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getMinDelay((*C.ASensor)(sensor))) + return ret +} + +func ANativeWindowGetFormat(window *ANativeWindow) Int32_t { + ret := (Int32_t)(C.ANativeWindow_getFormat((*C.ANativeWindow)(window))) + return ret +} + +func ASensorManagerGetDefaultSensor(manager *ASensorManager, type_ Int) *ASensor { + ret := (*ASensor)(unsafe.Pointer(C.ASensorManager_getDefaultSensor((*C.ASensorManager)(manager), (C.int)(type_)))) + return ret +} + +func ANativeWindowUnlockAndPost(window *ANativeWindow) Int32_t { + ret := (Int32_t)(C.ANativeWindow_unlockAndPost((*C.ANativeWindow)(window))) + return ret +} + +func Acosh(__x Double) Double { + ret := (Double)(C.acosh((C.double)(__x))) + return ret +} + +func Remainderf(__x Float, __y Float) Float { + ret := (Float)(C.remainderf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Mkdir(__path *Char, __mode Mode_t) Int { + ret := (Int)(C.mkdir((*C.char)(__path), (C.mode_t)(__mode))) + return ret +} + +func ANativeWindowRelease(window *ANativeWindow) { + C.ANativeWindow_release((*C.ANativeWindow)(window)) +} + +func ANativeWindowSetBuffersGeometry(window *ANativeWindow, width Int32_t, height Int32_t, format Int32_t) Int32_t { + ret := (Int32_t)(C.ANativeWindow_setBuffersGeometry((*C.ANativeWindow)(window), (C.int32_t)(width), (C.int32_t)(height), (C.int32_t)(format))) + return ret +} + +func Scalbnf(__x Float, __exponent Int) Float { + ret := (Float)(C.scalbnf((C.float)(__x), (C.int)(__exponent))) + return ret +} + +func Hypotf(__x Float, __y Float) Float { + ret := (Float)(C.hypotf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Erf(__x Double) Double { + ret := (Double)(C.erf((C.double)(__x))) + return ret +} + +func AHardwareBufferLock(buffer *AHardwareBuffer, usage Uint64_t, fence Int32_t, rect *ARect, outVirtualAddress *unsafe.Pointer) Int { + ret := (Int)(C.AHardwareBuffer_lock((*C.AHardwareBuffer)(buffer), (C.uint64_t)(usage), (C.int32_t)(fence), (*C.ARect)(rect), outVirtualAddress)) + return ret +} + +func Ldexp(__x Double, __exponent Int) Double { + ret := (Double)(C.ldexp((C.double)(__x), (C.int)(__exponent))) + return ret +} + +func Llrintf(__x Float) LongLong { + ret := (LongLong)(C.llrintf((C.float)(__x))) + return ret +} + +func Llroundf(__x Float) LongLong { + ret := (LongLong)(C.llroundf((C.float)(__x))) + return ret +} + +func Nextafter(__x Double, __y Double) Double { + ret := (Double)(C.nextafter((C.double)(__x), (C.double)(__y))) + return ret +} + +func Y0(__x Double) Double { + ret := (Double)(C.y0((C.double)(__x))) + return ret +} + +func Fstatat(__dir_fd Int, __path *Char, __buf *Stat_t, __flags Int) Int { + ret := (Int)(C.fstatat((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_stat)(__buf), (C.int)(__flags))) + return ret +} + +func ALooperRelease(looper *ALooper) { + C.ALooper_release((*C.ALooper)(looper)) +} + +func ASensorGetFifoReservedEventCount(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getFifoReservedEventCount((*C.ASensor)(sensor))) + return ret +} + +func Fstatat64(__dir_fd Int, __path *Char, __buf *Stat64_t, __flags Int) Int { + ret := (Int)(C.fstatat64((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_stat64)(__buf), (C.int)(__flags))) + return ret +} + +func ANativeWindowSetBuffersTransform(window *ANativeWindow, transform Int32_t) Int32_t { + ret := (Int32_t)(C.ANativeWindow_setBuffersTransform((*C.ANativeWindow)(window), (C.int32_t)(transform))) + return ret +} + +func Lround(__x Double) Long { + ret := (Long)(C.lround((C.double)(__x))) + return ret +} + +func Copysignf(__value Float, __sign Float) Float { + ret := (Float)(C.copysignf((C.float)(__value), (C.float)(__sign))) + return ret +} + +func Fstat(__fd Int, __buf *Stat_t) Int { + ret := (Int)(C.fstat((C.int)(__fd), (*C.struct_stat)(__buf))) + return ret +} + +func ASensorGetHighestDirectReportRateLevel(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getHighestDirectReportRateLevel((*C.ASensor)(sensor))) + return ret +} + +func ALooperForThread() *ALooper { + ret := (*ALooper)(unsafe.Pointer(C.ALooper_forThread())) + return ret +} + +func Ldexpf(__x Float, __exponent Int) Float { + ret := (Float)(C.ldexpf((C.float)(__x), (C.int)(__exponent))) + return ret +} + +func Log2(__x Double) Double { + ret := (Double)(C.log2((C.double)(__x))) + return ret +} + +func Floor(__x Double) Double { + ret := (Double)(C.floor((C.double)(__x))) + return ret +} + +func Llrint(__x Double) LongLong { + ret := (LongLong)(C.llrint((C.double)(__x))) + return ret +} + +func ALooperWake(looper *ALooper) { + C.ALooper_wake((*C.ALooper)(looper)) +} + +func Fmaf(__x Float, __y Float, __z Float) Float { + ret := (Float)(C.fmaf((C.float)(__x), (C.float)(__y), (C.float)(__z))) + return ret +} + +func Mknodat(__dir_fd Int, __path *Char, __mode Mode_t, __dev Dev_t) Int { + ret := (Int)(C.mknodat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode), (C.dev_t)(__dev))) + return ret +} + +func Strtoimax(__s *Char, __end_ptr []*Char, __base Int) Intmax_t { + ret := (Intmax_t)(C.strtoimax((*C.char)(__s), (**C.char)(unsafe.Pointer(&__end_ptr[0])), (C.int)(__base))) + return ret +} + +func Tgammaf(__x Float) Float { + ret := (Float)(C.tgammaf((C.float)(__x))) + return ret +} + +func ALooperRemoveFd(looper *ALooper, fd Int) Int { + ret := (Int)(C.ALooper_removeFd((*C.ALooper)(looper), (C.int)(fd))) + return ret +} + +func Cbrtf(__x Float) Float { + ret := (Float)(C.cbrtf((C.float)(__x))) + return ret +} + +func Fstat64(__fd Int, __buf *Stat64_t) Int { + ret := (Int)(C.fstat64((C.int)(__fd), (*C.struct_stat64)(__buf))) + return ret +} + +func Asinf(__x Float) Float { + ret := (Float)(C.asinf((C.float)(__x))) + return ret +} + +func Expf(__x Float) Float { + ret := (Float)(C.expf((C.float)(__x))) + return ret +} + +func Exp2f(__x Float) Float { + ret := (Float)(C.exp2f((C.float)(__x))) + return ret +} + func Erfcf(__x Float) Float { ret := (Float)(C.erfcf((C.float)(__x))) return ret } -func Tgamma(__x Double) Double { - ret := (Double)(C.tgamma((C.double)(__x))) +func Lgamma(__x Double) Double { + ret := (Double)(C.lgamma((C.double)(__x))) + return ret +} + +func Nearbyint(__x Double) Double { + ret := (Double)(C.nearbyint((C.double)(__x))) + return ret +} + +func ASensorGetType(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getType((*C.ASensor)(sensor))) + return ret +} + +func Lstat64(__path *Char, __buf *Stat64_t) Int { + ret := (Int)(C.lstat64((*C.char)(__path), (*C.struct_stat64)(__buf))) + return ret +} + +func ASensorManagerCreateHardwareBufferDirectChannel(manager *ASensorManager, buffer *AHardwareBuffer, size Size_t) Int { + ret := (Int)(C.ASensorManager_createHardwareBufferDirectChannel((*C.ASensorManager)(manager), (*C.AHardwareBuffer)(buffer), (C.size_t)(size))) + return ret +} + +func ANativeWindowSetBuffersDataSpace(window *ANativeWindow, dataSpace Int32_t) Int32_t { + ret := (Int32_t)(C.ANativeWindow_setBuffersDataSpace((*C.ANativeWindow)(window), (C.int32_t)(dataSpace))) + return ret +} + +func Log2f(__x Float) Float { + ret := (Float)(C.log2f((C.float)(__x))) + return ret +} + +func Atanh(__x Double) Double { + ret := (Double)(C.atanh((C.double)(__x))) + return ret +} + +func Tanhf(__x Float) Float { + ret := (Float)(C.tanhf((C.float)(__x))) + return ret +} + +func Atoi(__s *Char) Int { + ret := (Int)(C.atoi((*C.char)(__s))) + return ret +} + +func Tanh(__x Double) Double { + ret := (Double)(C.tanh((C.double)(__x))) + return ret +} + +func Logf(__x Float) Float { + ret := (Float)(C.logf((C.float)(__x))) + return ret +} + +func Floorf(__x Float) Float { + ret := (Float)(C.floorf((C.float)(__x))) + return ret +} + +func J1(__x Double) Double { + ret := (Double)(C.j1((C.double)(__x))) + return ret +} + +func AHardwareBufferSendHandleToUnixSocket(buffer *AHardwareBuffer, socketFd Int) Int { + ret := (Int)(C.AHardwareBuffer_sendHandleToUnixSocket((*C.AHardwareBuffer)(buffer), (C.int)(socketFd))) + return ret +} + +func AHardwareBufferRecvHandleFromUnixSocket(socketFd Int, outBuffer []*AHardwareBuffer) Int { + ret := (Int)(C.AHardwareBuffer_recvHandleFromUnixSocket((C.int)(socketFd), (**C.AHardwareBuffer)(unsafe.Pointer(&outBuffer[0])))) + return ret +} + +func ANativeWindowAcquire(window *ANativeWindow) { + C.ANativeWindow_acquire((*C.ANativeWindow)(window)) +} + +func Nan(__kind *Char) Double { + ret := (Double)(C.nan((*C.char)(__kind))) + return ret +} + +func Lstat(__path *Char, __buf *Stat_t) Int { + ret := (Int)(C.lstat((*C.char)(__path), (*C.struct_stat)(__buf))) + return ret +} + +func Scalbn(__x Double, __exponent Int) Double { + ret := (Double)(C.scalbn((C.double)(__x), (C.int)(__exponent))) + return ret +} + +func Lroundf(__x Float) Long { + ret := (Long)(C.lroundf((C.float)(__x))) + return ret +} + +func Fchmod(__fd Int, __mode Mode_t) Int { + ret := (Int)(C.fchmod((C.int)(__fd), (C.mode_t)(__mode))) + return ret +} + +func Expm1f(__x Float) Float { + ret := (Float)(C.expm1f((C.float)(__x))) + return ret +} + +func Modff(__x Float, __integral_part *Float) Float { + ret := (Float)(C.modff((C.float)(__x), (*C.float)(__integral_part))) + return ret +} + +func AndroidLogBufWrite(bufID Int, prio Int, tag *Char, text *Char) Int { + ret := (Int)(C.__android_log_buf_write((C.int)(bufID), (C.int)(prio), (*C.char)(tag), (*C.char)(text))) + return ret +} + +func Asinh(__x Double) Double { + ret := (Double)(C.asinh((C.double)(__x))) + return ret +} + +func Ceil(__x Double) Double { + ret := (Double)(C.ceil((C.double)(__x))) + return ret +} + +func Mkfifoat(__dir_fd Int, __path *Char, __mode Mode_t) Int { + ret := (Int)(C.mkfifoat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode))) + return ret +} + +func AHardwareBufferUnlock(buffer *AHardwareBuffer, fence *Int32_t) Int { + ret := (Int)(C.AHardwareBuffer_unlock((*C.AHardwareBuffer)(buffer), (*C.int32_t)(fence))) + return ret +} + +func Cbrt(__x Double) Double { + ret := (Double)(C.cbrt((C.double)(__x))) + return ret +} + +func ASensorIsDirectChannelTypeSupported(sensor *ASensor, channelType Int) Bool { + ret := (Bool)(C.ASensor_isDirectChannelTypeSupported((*C.ASensor)(sensor), (C.int)(channelType))) + return ret +} + +func Frexpf(__x Float, __exponent *Int) Float { + ret := (Float)(C.frexpf((C.float)(__x), (*C.int)(__exponent))) + return ret +} + +func ASensorManagerCreateSharedMemoryDirectChannel(manager *ASensorManager, fd Int, size Size_t) Int { + ret := (Int)(C.ASensorManager_createSharedMemoryDirectChannel((*C.ASensorManager)(manager), (C.int)(fd), (C.size_t)(size))) + return ret +} + +func Atanf(__x Float) Float { + ret := (Float)(C.atanf((C.float)(__x))) + return ret +} + +func Atan2f(__y Float, __x Float) Float { + ret := (Float)(C.atan2f((C.float)(__y), (C.float)(__x))) + return ret +} + +func Fdim(__x Double, __y Double) Double { + ret := (Double)(C.fdim((C.double)(__x), (C.double)(__y))) + return ret +} + +func ASensorManagerDestroyEventQueue(manager *ASensorManager, queue *ASensorEventQueue) Int { + ret := (Int)(C.ASensorManager_destroyEventQueue((*C.ASensorManager)(manager), (*C.ASensorEventQueue)(queue))) + return ret +} + +func ASensorGetReportingMode(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getReportingMode((*C.ASensor)(sensor))) + return ret +} + +func ASensorManagerGetDefaultSensorEx(manager *ASensorManager, type_ Int, wakeUp Bool) *ASensor { + ret := (*ASensor)(unsafe.Pointer(C.ASensorManager_getDefaultSensorEx((*C.ASensorManager)(manager), (C.int)(type_), (C.bool)(wakeUp)))) + return ret +} + +func SystemPropertyGet(__name *Char, __value *Char) Int { + ret := (Int)(C.__system_property_get((*C.char)(__name), (*C.char)(__value))) + return ret +} + +func Modf(__x Double, __integral_part *Double) Double { + ret := (Double)(C.modf((C.double)(__x), (*C.double)(__integral_part))) + return ret +} + +func Sqrtf(__x Float) Float { + ret := (Float)(C.sqrtf((C.float)(__x))) + return ret +} + +func Isnan(__x Double) Int { + ret := (Int)(C.isnan((C.double)(__x))) + return ret +} + +func ASensorManagerGetSensorList(manager *ASensorManager, list *ASensorList) Int { + ret := (Int)(C.ASensorManager_getSensorList((*C.ASensorManager)(manager), (*C.ASensorList)(list))) + return ret +} + +func ALooperAcquire(looper *ALooper) { + C.ALooper_acquire((*C.ALooper)(looper)) +} + +func Utimensat(__dir_fd Int, __path *Char, __times *Timespec, __flags Int) Int { + ret := (Int)(C.utimensat((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_timespec)(__times), (C.int)(__flags))) + return ret +} + +func Futimens(__dir_fd Int, __times *Timespec) Int { + ret := (Int)(C.futimens((C.int)(__dir_fd), (*C.struct_timespec)(__times))) + return ret +} + +func Remainder(__x Double, __y Double) Double { + ret := (Double)(C.remainder((C.double)(__x), (C.double)(__y))) + return ret +} + +func Umask(__mask Mode_t) Mode_t { + ret := (Mode_t)(C.umask((C.mode_t)(__mask))) + return ret +} + +func Log1p(__x Double) Double { + ret := (Double)(C.log1p((C.double)(__x))) + return ret +} + +func Logbf(__x Float) Float { + ret := (Float)(C.logbf((C.float)(__x))) + return ret +} + +func Roundf(__x Float) Float { + ret := (Float)(C.roundf((C.float)(__x))) + return ret +} + +func Fma(__x Double, __y Double, __z Double) Double { + ret := (Double)(C.fma((C.double)(__x), (C.double)(__y), (C.double)(__z))) + return ret +} + +func Isinf(__x Double) Int { + ret := (Int)(C.isinf((C.double)(__x))) + return ret +} + +func Asin(__x Double) Double { + ret := (Double)(C.asin((C.double)(__x))) + return ret +} + +func ASensorManagerDestroyDirectChannel(manager *ASensorManager, channelId Int) { + C.ASensorManager_destroyDirectChannel((*C.ASensorManager)(manager), (C.int)(channelId)) +} + +func Exp2(__x Double) Double { + ret := (Double)(C.exp2((C.double)(__x))) + return ret +} + +func Ilogb(__x Double) Int { + ret := (Int)(C.ilogb((C.double)(__x))) + return ret +} + +func Powf(__x Float, __y Float) Float { + ret := (Float)(C.powf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Fmodf(__x Float, __y Float) Float { + ret := (Float)(C.fmodf((C.float)(__x), (C.float)(__y))) + return ret +} + +func AHardwareBufferAcquire(buffer *AHardwareBuffer) { + C.AHardwareBuffer_acquire((*C.AHardwareBuffer)(buffer)) +} + +func ASensorGetStringType(sensor *ASensor) *Char { + ret := (*Char)(unsafe.Pointer(C.ASensor_getStringType((*C.ASensor)(sensor)))) + return ret +} + +func Chmod(__path *Char, __mode Mode_t) Int { + ret := (Int)(C.chmod((*C.char)(__path), (C.mode_t)(__mode))) + return ret +} + +func Atan2(__y Double, __x Double) Double { + ret := (Double)(C.atan2((C.double)(__y), (C.double)(__x))) + return ret +} + +func ASensorIsWakeUpSensor(sensor *ASensor) Bool { + ret := (Bool)(C.ASensor_isWakeUpSensor((*C.ASensor)(sensor))) + return ret +} + +func Fabsf(__x Float) Float { + ret := (Float)(C.fabsf((C.float)(__x))) + return ret +} + +func Nanf(__kind *Char) Float { + ret := (Float)(C.nanf((*C.char)(__kind))) + return ret +} + +func ALooperPollOnce(timeoutMillis Int, outFd *Int, outEvents *Int, outData *unsafe.Pointer) Int { + ret := (Int)(C.ALooper_pollOnce((C.int)(timeoutMillis), (*C.int)(outFd), (*C.int)(outEvents), outData)) + return ret +} + +func J0(__x Double) Double { + ret := (Double)(C.j0((C.double)(__x))) + return ret +} + +func ASensorEventQueueSetEventRate(queue *ASensorEventQueue, sensor *ASensor, usec Int32_t) Int { + ret := (Int)(C.ASensorEventQueue_setEventRate((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor), (C.int32_t)(usec))) + return ret +} + +func Fchmodat(__dir_fd Int, __path *Char, __mode Mode_t, __flags Int) Int { + ret := (Int)(C.fchmodat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode), (C.int)(__flags))) + return ret +} + +func Scalblnf(__x Float, __exponent Long) Float { + ret := (Float)(C.scalblnf((C.float)(__x), (C.long)(__exponent))) + return ret +} + +func ASensorGetFifoMaxEventCount(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getFifoMaxEventCount((*C.ASensor)(sensor))) + return ret +} + +func Tanf(__x Float) Float { + ret := (Float)(C.tanf((C.float)(__x))) + return ret +} + +func ASensorManagerGetInstanceForPackage(packageName *Char) *ASensorManager { + ret := (*ASensorManager)(unsafe.Pointer(C.ASensorManager_getInstanceForPackage((*C.char)(packageName)))) + return ret +} + +func Strtoumax(__s *Char, __end_ptr []*Char, __base Int) Uintmax_t { + ret := (Uintmax_t)(C.strtoumax((*C.char)(__s), (**C.char)(unsafe.Pointer(&__end_ptr[0])), (C.int)(__base))) + return ret +} + +func AHardwareBufferDescribe(buffer *AHardwareBuffer, outDesc *AHardwareBuffer_Desc) { + C.AHardwareBuffer_describe((*C.AHardwareBuffer)(buffer), (*C.AHardwareBuffer_Desc)(outDesc)) +} + +func ALooperPrepare(opts Int) *ALooper { + ret := (*ALooper)(unsafe.Pointer(C.ALooper_prepare((C.int)(opts)))) + return ret +} + +func Scalbln(__x Double, __exponent Long) Double { + ret := (Double)(C.scalbln((C.double)(__x), (C.long)(__exponent))) + return ret +} + +func Hypot(__x Double, __y Double) Double { + ret := (Double)(C.hypot((C.double)(__x), (C.double)(__y))) + return ret +} + +func Erfc(__x Double) Double { + ret := (Double)(C.erfc((C.double)(__x))) + return ret +} + +func Stat(__path *Char, __buf *Stat_t) Int { + ret := (Int)(C.stat((*C.char)(__path), (*C.struct_stat)(__buf))) return ret } diff --git a/android29/extra.go b/android29/extra.go new file mode 100644 index 0000000..2d70a39 --- /dev/null +++ b/android29/extra.go @@ -0,0 +1,48 @@ +package android29 + +/* +#cgo CFLAGS: -x objective-c -fno-objc-arc +#cgo LDFLAGS: -landroid -llog -lnativewindow -lm + +#import +#import + +typedef struct { + float x; + float y; + float z; + int8_t status; +} ASensorVector2; + +ASensorVector2 +ASensorAcceleration(ASensorEvent* event) { + ASensorVector2 ret; + ret.x = event->acceleration.x; + ret.y = event->acceleration.y; + ret.z = event->acceleration.z; + ret.status = event->acceleration.status; + return ret; +} + +ASensorEventQueue* +ASensorManager_createEventQueue2(ASensorManager* manager, ALooper* looper, int ident) { + return ASensorManager_createEventQueue(manager, looper, ident, 0, 0); +} +*/ +import "C" + +type ASensorVector C.ASensorVector2 + +func (x ASensorVector) X() Float { return (Float)(x.x) } +func (x ASensorVector) Y() Float { return (Float)(x.y) } +func (x ASensorVector) Z() Float { return (Float)(x.z) } + +func (x *ASensorEvent) Acceleration() ASensorVector { + return (ASensorVector)(C.ASensorAcceleration(x)) +} + +func ASensorManagerCreateEventQueue(manager *ASensorManager, looper *ALooper, ident int) *ASensorEventQueue { + ret := (*ASensorEventQueue)(C.ASensorManager_createEventQueue2((*C.ASensorManager)(manager), (*C.ALooper)(looper), (C.int)(ident))) + return ret +} + diff --git a/android29/main.go b/android29/main.go index bb738e9..7f47be7 100644 --- a/android29/main.go +++ b/android29/main.go @@ -6,12 +6,18 @@ package android29 #cgo LDFLAGS: -landroid -llog -lnativewindow -lm #import + #import + #import + #import + #import + #import + */ import "C" @@ -24,65 +30,82 @@ type Id struct { } func (o *Id) Ptr() unsafe.Pointer { if o == nil { return nil }; return o.ptr } -type Float C.float - -type ASensorManager = C.struct_ASensorManager - -type Int C.int - type Double C.double type Char C.char -type Mode_t C.__mode_t - -type ANativeWindow = C.struct_ANativeWindow - -type Int32_t C.__int32_t - -type Long C.long - -type Intmax_t C.int64_t - -type ALooper = C.struct_ALooper - -type ASensorEventQueue = C.struct_ASensorEventQueue - -type Bool C.bool - type ASensor = C.struct_ASensor -type Timespec = C.struct_timespec +type Float C.float -type LongLong C.longlong +type Int C.int + +type ASensorManager = C.struct_ASensorManager type AHardwareBuffer = C.struct_AHardwareBuffer -type AHardwareBuffer_Desc = C.struct_AHardwareBuffer_Desc +type Bool C.bool + +type Int32_t C.__int32_t + +type ANativeWindow = C.struct_ANativeWindow + +type Mode_t C.__mode_t type Stat64_t = C.struct_stat64 -type Uintmax_t C.uint64_t - -type Stat_t = C.struct_stat - -type ASensorList *C.ASensorRef - -type Ssize_t C.__kernel_ssize_t - -type ASensorEvent = C.struct_ASensorEvent - -type Size_t C.ulong - type Uint64_t C.__uint64_t type ARect = C.struct_ARect -type ANativeWindow_Buffer = C.struct_ANativeWindow_Buffer +type ASensorEventQueue = C.struct_ASensorEventQueue + +type ALooper = C.struct_ALooper + +type LongLong C.longlong + +type Long C.long + +type Size_t C.ulong + +type Timespec = C.struct_timespec + +type AHardwareBuffer_Desc = C.struct_AHardwareBuffer_Desc + +type Stat_t = C.struct_stat type Dev_t C.uint64_t +type Ssize_t C.__kernel_ssize_t + +type ASensorEvent = C.struct_ASensorEvent + type Int64_t C.__int64_t + +type Intmax_t C.int64_t + +type ANativeWindow_Buffer = C.struct_ANativeWindow_Buffer + +type Uintmax_t C.uint64_t + +type ASensorList *C.ASensorRef +const ANATIVEWINDOW_TRANSFORM_IDENTITY = C.ANATIVEWINDOW_TRANSFORM_IDENTITY +const ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL = C.ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL +const ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL = C.ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL +const ANATIVEWINDOW_TRANSFORM_ROTATE_90 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_90 +const ANATIVEWINDOW_TRANSFORM_ROTATE_180 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_180 +const ANATIVEWINDOW_TRANSFORM_ROTATE_270 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_270 + +const ANDROID_LOG_UNKNOWN = C.ANDROID_LOG_UNKNOWN +const ANDROID_LOG_DEFAULT = C.ANDROID_LOG_DEFAULT +const ANDROID_LOG_VERBOSE = C.ANDROID_LOG_VERBOSE +const ANDROID_LOG_DEBUG = C.ANDROID_LOG_DEBUG +const ANDROID_LOG_INFO = C.ANDROID_LOG_INFO +const ANDROID_LOG_WARN = C.ANDROID_LOG_WARN +const ANDROID_LOG_ERROR = C.ANDROID_LOG_ERROR +const ANDROID_LOG_FATAL = C.ANDROID_LOG_FATAL +const ANDROID_LOG_SILENT = C.ANDROID_LOG_SILENT + const LOG_ID_MIN = C.LOG_ID_MIN const LOG_ID_MAIN = C.LOG_ID_MAIN const LOG_ID_RADIO = C.LOG_ID_RADIO @@ -164,23 +187,6 @@ const WINDOW_FORMAT_RGBA_8888 = C.WINDOW_FORMAT_RGBA_8888 const WINDOW_FORMAT_RGBX_8888 = C.WINDOW_FORMAT_RGBX_8888 const WINDOW_FORMAT_RGB_565 = C.WINDOW_FORMAT_RGB_565 -const ANATIVEWINDOW_TRANSFORM_IDENTITY = C.ANATIVEWINDOW_TRANSFORM_IDENTITY -const ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL = C.ANATIVEWINDOW_TRANSFORM_MIRROR_HORIZONTAL -const ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL = C.ANATIVEWINDOW_TRANSFORM_MIRROR_VERTICAL -const ANATIVEWINDOW_TRANSFORM_ROTATE_90 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_90 -const ANATIVEWINDOW_TRANSFORM_ROTATE_180 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_180 -const ANATIVEWINDOW_TRANSFORM_ROTATE_270 = C.ANATIVEWINDOW_TRANSFORM_ROTATE_270 - -const ANDROID_LOG_UNKNOWN = C.ANDROID_LOG_UNKNOWN -const ANDROID_LOG_DEFAULT = C.ANDROID_LOG_DEFAULT -const ANDROID_LOG_VERBOSE = C.ANDROID_LOG_VERBOSE -const ANDROID_LOG_DEBUG = C.ANDROID_LOG_DEBUG -const ANDROID_LOG_INFO = C.ANDROID_LOG_INFO -const ANDROID_LOG_WARN = C.ANDROID_LOG_WARN -const ANDROID_LOG_ERROR = C.ANDROID_LOG_ERROR -const ANDROID_LOG_FATAL = C.ANDROID_LOG_FATAL -const ANDROID_LOG_SILENT = C.ANDROID_LOG_SILENT - const ALOOPER_PREPARE_ALLOW_NON_CALLBACKS = C.ALOOPER_PREPARE_ALLOW_NON_CALLBACKS const ALOOPER_POLL_WAKE = C.ALOOPER_POLL_WAKE @@ -267,846 +273,18 @@ func (c *Char) Free() { C.free(unsafe.Pointer(c)) } -func Log1pf(__x Float) Float { - ret := (Float)(C.log1pf((C.float)(__x))) - return ret -} - -func ASensorManagerDestroyDirectChannel(manager *ASensorManager, channelId Int) { - C.ASensorManager_destroyDirectChannel((*C.ASensorManager)(manager), (C.int)(channelId)) -} - -func Atanhf(__x Float) Float { - ret := (Float)(C.atanhf((C.float)(__x))) - return ret -} - -func Exp2(__x Double) Double { - ret := (Double)(C.exp2((C.double)(__x))) - return ret -} - -func Exp2f(__x Float) Float { - ret := (Float)(C.exp2f((C.float)(__x))) - return ret -} - -func Ilogbf(__x Float) Int { - ret := (Int)(C.ilogbf((C.float)(__x))) - return ret -} - -func Fchmodat(__dir_fd Int, __path *Char, __mode Mode_t, __flags Int) Int { - ret := (Int)(C.fchmodat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode), (C.int)(__flags))) - return ret -} - -func ANativeWindowAcquire(window *ANativeWindow) { - C.ANativeWindow_acquire((*C.ANativeWindow)(window)) -} - -func ANativeWindowGetFormat(window *ANativeWindow) Int32_t { - ret := (Int32_t)(C.ANativeWindow_getFormat((*C.ANativeWindow)(window))) - return ret -} - -func Lroundf(__x Float) Long { - ret := (Long)(C.lroundf((C.float)(__x))) - return ret -} - -func AndroidGetApplicationTargetSdkVersion() Int { - ret := (Int)(C.android_get_application_target_sdk_version()) - return ret -} - -func Log1p(__x Double) Double { - ret := (Double)(C.log1p((C.double)(__x))) - return ret -} - -func ANativeWindowUnlockAndPost(window *ANativeWindow) Int32_t { - ret := (Int32_t)(C.ANativeWindow_unlockAndPost((*C.ANativeWindow)(window))) - return ret -} - -func Fmin(__x Double, __y Double) Double { - ret := (Double)(C.fmin((C.double)(__x), (C.double)(__y))) - return ret -} - -func Mkfifoat(__dir_fd Int, __path *Char, __mode Mode_t) Int { - ret := (Int)(C.mkfifoat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode))) - return ret -} - -func Imaxabs(__i Intmax_t) Intmax_t { - ret := (Intmax_t)(C.imaxabs((C.intmax_t)(__i))) - return ret -} - -func ALooperRemoveFd(looper *ALooper, fd Int) Int { - ret := (Int)(C.ALooper_removeFd((*C.ALooper)(looper), (C.int)(fd))) - return ret -} - -func Acos(__x Double) Double { - ret := (Double)(C.acos((C.double)(__x))) - return ret -} - -func Logf(__x Float) Float { - ret := (Float)(C.logf((C.float)(__x))) - return ret -} - -func ALooperRelease(looper *ALooper) { - C.ALooper_release((*C.ALooper)(looper)) -} - -func ASensorEventQueueRequestAdditionalInfoEvents(queue *ASensorEventQueue, enable Bool) Int { - ret := (Int)(C.ASensorEventQueue_requestAdditionalInfoEvents((*C.ASensorEventQueue)(queue), (C.bool)(enable))) - return ret -} - -func Fabs(__x Double) Double { - ret := (Double)(C.fabs((C.double)(__x))) - return ret -} - -func ASensorGetStringType(sensor *ASensor) *Char { - ret := (*Char)(unsafe.Pointer(C.ASensor_getStringType((*C.ASensor)(sensor)))) - return ret -} - -func Tan(__x Double) Double { - ret := (Double)(C.tan((C.double)(__x))) - return ret -} - -func Frexp(__x Double, __exponent *Int) Double { - ret := (Double)(C.frexp((C.double)(__x), (*C.int)(__exponent))) - return ret -} - -func ANativeWindowGetBuffersDataSpace(window *ANativeWindow) Int32_t { - ret := (Int32_t)(C.ANativeWindow_getBuffersDataSpace((*C.ANativeWindow)(window))) - return ret -} - -func ASensorEventQueueEnableSensor(queue *ASensorEventQueue, sensor *ASensor) Int { - ret := (Int)(C.ASensorEventQueue_enableSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor))) - return ret -} - -func Truncf(__x Float) Float { - ret := (Float)(C.truncf((C.float)(__x))) - return ret -} - -func Futimens(__dir_fd Int, __times *Timespec) Int { - ret := (Int)(C.futimens((C.int)(__dir_fd), (*C.struct_timespec)(__times))) - return ret -} - -func Tanf(__x Float) Float { - ret := (Float)(C.tanf((C.float)(__x))) - return ret -} - -func Asinh(__x Double) Double { - ret := (Double)(C.asinh((C.double)(__x))) - return ret -} - -func Atanh(__x Double) Double { - ret := (Double)(C.atanh((C.double)(__x))) - return ret -} - -func Log(__x Double) Double { - ret := (Double)(C.log((C.double)(__x))) - return ret -} - -func Tgammaf(__x Float) Float { - ret := (Float)(C.tgammaf((C.float)(__x))) - return ret -} - -func Jn(__n Int, __x Double) Double { - ret := (Double)(C.jn((C.int)(__n), (C.double)(__x))) - return ret -} - -func Mkdir(__path *Char, __mode Mode_t) Int { - ret := (Int)(C.mkdir((*C.char)(__path), (C.mode_t)(__mode))) - return ret -} - -func Sinh(__x Double) Double { - ret := (Double)(C.sinh((C.double)(__x))) - return ret -} - -func Log2(__x Double) Double { - ret := (Double)(C.log2((C.double)(__x))) - return ret -} - -func Hypot(__x Double, __y Double) Double { - ret := (Double)(C.hypot((C.double)(__x), (C.double)(__y))) - return ret -} - -func Llround(__x Double) LongLong { - ret := (LongLong)(C.llround((C.double)(__x))) - return ret -} - -func Llroundf(__x Float) LongLong { - ret := (LongLong)(C.llroundf((C.float)(__x))) - return ret -} - -func Remainder(__x Double, __y Double) Double { - ret := (Double)(C.remainder((C.double)(__x), (C.double)(__y))) - return ret -} - -func ASensorManagerDestroyEventQueue(manager *ASensorManager, queue *ASensorEventQueue) Int { - ret := (Int)(C.ASensorManager_destroyEventQueue((*C.ASensorManager)(manager), (*C.ASensorEventQueue)(queue))) - return ret -} - -func AHardwareBufferDescribe(buffer *AHardwareBuffer, outDesc *AHardwareBuffer_Desc) { - C.AHardwareBuffer_describe((*C.AHardwareBuffer)(buffer), (*C.AHardwareBuffer_Desc)(outDesc)) -} - -func ASensorGetHighestDirectReportRateLevel(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getHighestDirectReportRateLevel((*C.ASensor)(sensor))) - return ret -} - -func Fstatat64(__dir_fd Int, __path *Char, __buf *Stat64_t, __flags Int) Int { - ret := (Int)(C.fstatat64((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_stat64)(__buf), (C.int)(__flags))) - return ret -} - -func AHardwareBufferAcquire(buffer *AHardwareBuffer) { - C.AHardwareBuffer_acquire((*C.AHardwareBuffer)(buffer)) -} - -func AHardwareBufferSendHandleToUnixSocket(buffer *AHardwareBuffer, socketFd Int) Int { - ret := (Int)(C.AHardwareBuffer_sendHandleToUnixSocket((*C.AHardwareBuffer)(buffer), (C.int)(socketFd))) - return ret -} - -func Llrintf(__x Float) LongLong { - ret := (LongLong)(C.llrintf((C.float)(__x))) - return ret -} - -func Erff(__x Float) Float { - ret := (Float)(C.erff((C.float)(__x))) - return ret -} - -func ASensorEventQueueDisableSensor(queue *ASensorEventQueue, sensor *ASensor) Int { - ret := (Int)(C.ASensorEventQueue_disableSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor))) - return ret -} - -func Mkdirat(__dir_fd Int, __path *Char, __mode Mode_t) Int { - ret := (Int)(C.mkdirat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode))) - return ret -} - -func ANativeWindowSetBuffersDataSpace(window *ANativeWindow, dataSpace Int32_t) Int32_t { - ret := (Int32_t)(C.ANativeWindow_setBuffersDataSpace((*C.ANativeWindow)(window), (C.int32_t)(dataSpace))) - return ret -} - func Exp(__x Double) Double { ret := (Double)(C.exp((C.double)(__x))) return ret } -func Ldexpf(__x Float, __exponent Int) Float { - ret := (Float)(C.ldexpf((C.float)(__x), (C.int)(__exponent))) - return ret -} - -func Lgamma(__x Double) Double { - ret := (Double)(C.lgamma((C.double)(__x))) - return ret -} - -func Roundf(__x Float) Float { - ret := (Float)(C.roundf((C.float)(__x))) - return ret -} - -func ASensorEventQueueHasEvents(queue *ASensorEventQueue) Int { - ret := (Int)(C.ASensorEventQueue_hasEvents((*C.ASensorEventQueue)(queue))) - return ret -} - -func Log2f(__x Float) Float { - ret := (Float)(C.log2f((C.float)(__x))) - return ret -} - -func Nextafterf(__x Float, __y Float) Float { - ret := (Float)(C.nextafterf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Y1(__x Double) Double { - ret := (Double)(C.y1((C.double)(__x))) - return ret -} - -func Fmod(__x Double, __y Double) Double { - ret := (Double)(C.fmod((C.double)(__x), (C.double)(__y))) - return ret -} - -func Copysignf(__value Float, __sign Float) Float { - ret := (Float)(C.copysignf((C.float)(__value), (C.float)(__sign))) - return ret -} - -func Y0(__x Double) Double { - ret := (Double)(C.y0((C.double)(__x))) - return ret -} - -func ASensorIsDirectChannelTypeSupported(sensor *ASensor, channelType Int) Bool { - ret := (Bool)(C.ASensor_isDirectChannelTypeSupported((*C.ASensor)(sensor), (C.int)(channelType))) - return ret -} - -func Strtoumax(__s *Char, __end_ptr []*Char, __base Int) Uintmax_t { - ret := (Uintmax_t)(C.strtoumax((*C.char)(__s), (**C.char)(unsafe.Pointer(&__end_ptr[0])), (C.int)(__base))) - return ret -} - -func ANativeWindowGetHeight(window *ANativeWindow) Int32_t { - ret := (Int32_t)(C.ANativeWindow_getHeight((*C.ANativeWindow)(window))) - return ret -} - -func Sin(__x Double) Double { - ret := (Double)(C.sin((C.double)(__x))) - return ret -} - -func Floor(__x Double) Double { - ret := (Double)(C.floor((C.double)(__x))) - return ret -} - -func Cosf(__x Float) Float { - ret := (Float)(C.cosf((C.float)(__x))) - return ret -} - -func Scalbn(__x Double, __exponent Int) Double { - ret := (Double)(C.scalbn((C.double)(__x), (C.int)(__exponent))) - return ret -} - -func Fmaf(__x Float, __y Float, __z Float) Float { - ret := (Float)(C.fmaf((C.float)(__x), (C.float)(__y), (C.float)(__z))) - return ret -} - -func Lstat64(__path *Char, __buf *Stat64_t) Int { - ret := (Int)(C.lstat64((*C.char)(__path), (*C.struct_stat64)(__buf))) - return ret -} - -func Nextafter(__x Double, __y Double) Double { - ret := (Double)(C.nextafter((C.double)(__x), (C.double)(__y))) - return ret -} - -func Fmaxf(__x Float, __y Float) Float { - ret := (Float)(C.fmaxf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Fstatat(__dir_fd Int, __path *Char, __buf *Stat_t, __flags Int) Int { - ret := (Int)(C.fstatat((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_stat)(__buf), (C.int)(__flags))) - return ret -} - -func ANativeWindowGetWidth(window *ANativeWindow) Int32_t { - ret := (Int32_t)(C.ANativeWindow_getWidth((*C.ANativeWindow)(window))) - return ret -} - -func Atan(__x Double) Double { - ret := (Double)(C.atan((C.double)(__x))) - return ret -} - -func Scalbln(__x Double, __exponent Long) Double { - ret := (Double)(C.scalbln((C.double)(__x), (C.long)(__exponent))) - return ret -} - -func ASensorManagerGetSensorList(manager *ASensorManager, list *ASensorList) Int { - ret := (Int)(C.ASensorManager_getSensorList((*C.ASensorManager)(manager), (*C.ASensorList)(list))) - return ret -} - -func Modff(__x Float, __integral_part *Float) Float { - ret := (Float)(C.modff((C.float)(__x), (*C.float)(__integral_part))) - return ret -} - -func Nan(__kind *Char) Double { - ret := (Double)(C.nan((*C.char)(__kind))) - return ret -} - -func Nearbyint(__x Double) Double { - ret := (Double)(C.nearbyint((C.double)(__x))) - return ret -} - -func Rint(__x Double) Double { - ret := (Double)(C.rint((C.double)(__x))) - return ret -} - -func Remainderf(__x Float, __y Float) Float { - ret := (Float)(C.remainderf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Lgammaf(__x Float) Float { - ret := (Float)(C.lgammaf((C.float)(__x))) - return ret -} - -func Nanf(__kind *Char) Float { - ret := (Float)(C.nanf((*C.char)(__kind))) - return ret -} - -func Remquof(__x Float, __y Float, __quotient_bits *Int) Float { - ret := (Float)(C.remquof((C.float)(__x), (C.float)(__y), (*C.int)(__quotient_bits))) - return ret -} - -func Fma(__x Double, __y Double, __z Double) Double { - ret := (Double)(C.fma((C.double)(__x), (C.double)(__y), (C.double)(__z))) - return ret -} - -func ASensorEventQueueGetEvents(queue *ASensorEventQueue, events *ASensorEvent, count Size_t) Ssize_t { - ret := (Ssize_t)(C.ASensorEventQueue_getEvents((*C.ASensorEventQueue)(queue), (*C.ASensorEvent)(events), (C.size_t)(count))) - return ret -} - -func Stat(__path *Char, __buf *Stat_t) Int { - ret := (Int)(C.stat((*C.char)(__path), (*C.struct_stat)(__buf))) - return ret -} - -func ALooperWake(looper *ALooper) { - C.ALooper_wake((*C.ALooper)(looper)) -} - -func Sinf(__x Float) Float { - ret := (Float)(C.sinf((C.float)(__x))) - return ret -} - -func Fmodf(__x Float, __y Float) Float { - ret := (Float)(C.fmodf((C.float)(__x), (C.float)(__y))) - return ret -} - -func AHardwareBufferUnlock(buffer *AHardwareBuffer, fence *Int32_t) Int { - ret := (Int)(C.AHardwareBuffer_unlock((*C.AHardwareBuffer)(buffer), (*C.int32_t)(fence))) - return ret -} - -func Ldexp(__x Double, __exponent Int) Double { - ret := (Double)(C.ldexp((C.double)(__x), (C.int)(__exponent))) - return ret -} - -func Sqrt(__x Double) Double { - ret := (Double)(C.sqrt((C.double)(__x))) - return ret -} - -func Logbf(__x Float) Float { - ret := (Float)(C.logbf((C.float)(__x))) - return ret -} - -func ASensorGetMinDelay(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getMinDelay((*C.ASensor)(sensor))) - return ret -} - -func ALooperAcquire(looper *ALooper) { - C.ALooper_acquire((*C.ALooper)(looper)) -} - -func Expf(__x Float) Float { - ret := (Float)(C.expf((C.float)(__x))) - return ret -} - -func ASensorGetName(sensor *ASensor) *Char { - ret := (*Char)(unsafe.Pointer(C.ASensor_getName((*C.ASensor)(sensor)))) - return ret -} - -func Ilogb(__x Double) Int { - ret := (Int)(C.ilogb((C.double)(__x))) - return ret -} - -func Nearbyintf(__x Float) Float { - ret := (Float)(C.nearbyintf((C.float)(__x))) - return ret -} - -func Logb(__x Double) Double { - ret := (Double)(C.logb((C.double)(__x))) - return ret -} - -func Erfc(__x Double) Double { - ret := (Double)(C.erfc((C.double)(__x))) - return ret -} - -func Fchmod(__fd Int, __mode Mode_t) Int { - ret := (Int)(C.fchmod((C.int)(__fd), (C.mode_t)(__mode))) - return ret -} - -func Tanhf(__x Float) Float { - ret := (Float)(C.tanhf((C.float)(__x))) - return ret -} - -func Log10f(__x Float) Float { - ret := (Float)(C.log10f((C.float)(__x))) - return ret -} - -func AHardwareBufferLock(buffer *AHardwareBuffer, usage Uint64_t, fence Int32_t, rect *ARect, outVirtualAddress *unsafe.Pointer) Int { - ret := (Int)(C.AHardwareBuffer_lock((*C.AHardwareBuffer)(buffer), (C.uint64_t)(usage), (C.int32_t)(fence), (*C.ARect)(rect), outVirtualAddress)) - return ret -} - -func AHardwareBufferRecvHandleFromUnixSocket(socketFd Int, outBuffer []*AHardwareBuffer) Int { - ret := (Int)(C.AHardwareBuffer_recvHandleFromUnixSocket((C.int)(socketFd), (**C.AHardwareBuffer)(unsafe.Pointer(&outBuffer[0])))) - return ret -} - -func ANativeWindowLock(window *ANativeWindow, outBuffer *ANativeWindow_Buffer, inOutDirtyBounds *ARect) Int32_t { - ret := (Int32_t)(C.ANativeWindow_lock((*C.ANativeWindow)(window), (*C.ANativeWindow_Buffer)(outBuffer), (*C.ARect)(inOutDirtyBounds))) - return ret -} - -func Mknodat(__dir_fd Int, __path *Char, __mode Mode_t, __dev Dev_t) Int { - ret := (Int)(C.mknodat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode), (C.dev_t)(__dev))) - return ret -} - -func Yn(__n Int, __x Double) Double { - ret := (Double)(C.yn((C.int)(__n), (C.double)(__x))) - return ret -} - -func ASensorGetFifoReservedEventCount(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getFifoReservedEventCount((*C.ASensor)(sensor))) - return ret -} - -func Fstat(__fd Int, __buf *Stat_t) Int { - ret := (Int)(C.fstat((C.int)(__fd), (*C.struct_stat)(__buf))) - return ret -} - -func AHardwareBufferIsSupported(desc *AHardwareBuffer_Desc) Int { - ret := (Int)(C.AHardwareBuffer_isSupported((*C.AHardwareBuffer_Desc)(desc))) - return ret -} - -func Isnan(__x Double) Int { - ret := (Int)(C.isnan((C.double)(__x))) - return ret -} - func ASensorGetVendor(sensor *ASensor) *Char { ret := (*Char)(unsafe.Pointer(C.ASensor_getVendor((*C.ASensor)(sensor)))) return ret } -func Fmax(__x Double, __y Double) Double { - ret := (Double)(C.fmax((C.double)(__x), (C.double)(__y))) - return ret -} - -func ASensorManagerGetInstanceForPackage(packageName *Char) *ASensorManager { - ret := (*ASensorManager)(unsafe.Pointer(C.ASensorManager_getInstanceForPackage((*C.char)(packageName)))) - return ret -} - -func ASensorEventQueueSetEventRate(queue *ASensorEventQueue, sensor *ASensor, usec Int32_t) Int { - ret := (Int)(C.ASensorEventQueue_setEventRate((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor), (C.int32_t)(usec))) - return ret -} - -func Chmod(__path *Char, __mode Mode_t) Int { - ret := (Int)(C.chmod((*C.char)(__path), (C.mode_t)(__mode))) - return ret -} - -func Mkfifo(__path *Char, __mode Mode_t) Int { - ret := (Int)(C.mkfifo((*C.char)(__path), (C.mode_t)(__mode))) - return ret -} - -func ALooperForThread() *ALooper { - ret := (*ALooper)(unsafe.Pointer(C.ALooper_forThread())) - return ret -} - -func Atan2(__y Double, __x Double) Double { - ret := (Double)(C.atan2((C.double)(__y), (C.double)(__x))) - return ret -} - -func Lrintf(__x Float) Long { - ret := (Long)(C.lrintf((C.float)(__x))) - return ret -} - -func Llrint(__x Double) LongLong { - ret := (LongLong)(C.llrint((C.double)(__x))) - return ret -} - -func Stat64(__path *Char, __buf *Stat64_t) Int { - ret := (Int)(C.stat64((*C.char)(__path), (*C.struct_stat64)(__buf))) - return ret -} - -func Mknod(__path *Char, __mode Mode_t, __dev Dev_t) Int { - ret := (Int)(C.mknod((*C.char)(__path), (C.mode_t)(__mode), (C.dev_t)(__dev))) - return ret -} - -func ANativeWindowSetBuffersTransform(window *ANativeWindow, transform Int32_t) Int32_t { - ret := (Int32_t)(C.ANativeWindow_setBuffersTransform((*C.ANativeWindow)(window), (C.int32_t)(transform))) - return ret -} - -func ALooperPollOnce(timeoutMillis Int, outFd *Int, outEvents *Int, outData *unsafe.Pointer) Int { - ret := (Int)(C.ALooper_pollOnce((C.int)(timeoutMillis), (*C.int)(outFd), (*C.int)(outEvents), outData)) - return ret -} - -func Asinf(__x Float) Float { - ret := (Float)(C.asinf((C.float)(__x))) - return ret -} - -func Atan2f(__y Float, __x Float) Float { - ret := (Float)(C.atan2f((C.float)(__y), (C.float)(__x))) - return ret -} - -func Expm1f(__x Float) Float { - ret := (Float)(C.expm1f((C.float)(__x))) - return ret -} - -func Log10(__x Double) Double { - ret := (Double)(C.log10((C.double)(__x))) - return ret -} - -func Floorf(__x Float) Float { - ret := (Float)(C.floorf((C.float)(__x))) - return ret -} - -func ASensorGetHandle(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getHandle((*C.ASensor)(sensor))) - return ret -} - -func Utimensat(__dir_fd Int, __path *Char, __times *Timespec, __flags Int) Int { - ret := (Int)(C.utimensat((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_timespec)(__times), (C.int)(__flags))) - return ret -} - -func Cos(__x Double) Double { - ret := (Double)(C.cos((C.double)(__x))) - return ret -} - -func Ceilf(__x Float) Float { - ret := (Float)(C.ceilf((C.float)(__x))) - return ret -} - -func Rintf(__x Float) Float { - ret := (Float)(C.rintf((C.float)(__x))) - return ret -} - -func ASensorManagerGetDefaultSensor(manager *ASensorManager, type_ Int) *ASensor { - ret := (*ASensor)(unsafe.Pointer(C.ASensorManager_getDefaultSensor((*C.ASensorManager)(manager), (C.int)(type_)))) - return ret -} - -func Scalbnf(__x Float, __exponent Int) Float { - ret := (Float)(C.scalbnf((C.float)(__x), (C.int)(__exponent))) - return ret -} - -func Cbrtf(__x Float) Float { - ret := (Float)(C.cbrtf((C.float)(__x))) - return ret -} - -func Erf(__x Double) Double { - ret := (Double)(C.erf((C.double)(__x))) - return ret -} - -func Tgamma(__x Double) Double { - ret := (Double)(C.tgamma((C.double)(__x))) - return ret -} - -func Fdim(__x Double, __y Double) Double { - ret := (Double)(C.fdim((C.double)(__x), (C.double)(__y))) - return ret -} - -func Sinhf(__x Float) Float { - ret := (Float)(C.sinhf((C.float)(__x))) - return ret -} - -func Isinf(__x Double) Int { - ret := (Int)(C.isinf((C.double)(__x))) - return ret -} - -func ASensorManagerCreateHardwareBufferDirectChannel(manager *ASensorManager, buffer *AHardwareBuffer, size Size_t) Int { - ret := (Int)(C.ASensorManager_createHardwareBufferDirectChannel((*C.ASensorManager)(manager), (*C.AHardwareBuffer)(buffer), (C.size_t)(size))) - return ret -} - -func Fstat64(__fd Int, __buf *Stat64_t) Int { - ret := (Int)(C.fstat64((C.int)(__fd), (*C.struct_stat64)(__buf))) - return ret -} - -func Remquo(__x Double, __y Double, __quotient_bits *Int) Double { - ret := (Double)(C.remquo((C.double)(__x), (C.double)(__y), (*C.int)(__quotient_bits))) - return ret -} - -func ASensorEventQueueRegisterSensor(queue *ASensorEventQueue, sensor *ASensor, samplingPeriodUs Int32_t, maxBatchReportLatencyUs Int64_t) Int { - ret := (Int)(C.ASensorEventQueue_registerSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor), (C.int32_t)(samplingPeriodUs), (C.int64_t)(maxBatchReportLatencyUs))) - return ret -} - -func AndroidGetDeviceApiLevel() Int { - ret := (Int)(C.android_get_device_api_level()) - return ret -} - -func ASensorIsWakeUpSensor(sensor *ASensor) Bool { - ret := (Bool)(C.ASensor_isWakeUpSensor((*C.ASensor)(sensor))) - return ret -} - -func AndroidLogBufWrite(bufID Int, prio Int, tag *Char, text *Char) Int { - ret := (Int)(C.__android_log_buf_write((C.int)(bufID), (C.int)(prio), (*C.char)(tag), (*C.char)(text))) - return ret -} - -func Cosh(__x Double) Double { - ret := (Double)(C.cosh((C.double)(__x))) - return ret -} - -func Powf(__x Float, __y Float) Float { - ret := (Float)(C.powf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Round(__x Double) Double { - ret := (Double)(C.round((C.double)(__x))) - return ret -} - -func Lround(__x Double) Long { - ret := (Long)(C.lround((C.double)(__x))) - return ret -} - -func Copysign(__value Double, __sign Double) Double { - ret := (Double)(C.copysign((C.double)(__value), (C.double)(__sign))) - return ret -} - -func Fdimf(__x Float, __y Float) Float { - ret := (Float)(C.fdimf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Lstat(__path *Char, __buf *Stat_t) Int { - ret := (Int)(C.lstat((*C.char)(__path), (*C.struct_stat)(__buf))) - return ret -} - -func Erfcf(__x Float) Float { - ret := (Float)(C.erfcf((C.float)(__x))) - return ret -} - -func ASensorGetReportingMode(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getReportingMode((*C.ASensor)(sensor))) - return ret -} - -func AHardwareBufferLockAndGetInfo(buffer *AHardwareBuffer, usage Uint64_t, fence Int32_t, rect *ARect, outVirtualAddress *unsafe.Pointer, outBytesPerPixel *Int32_t, outBytesPerStride *Int32_t) Int { - ret := (Int)(C.AHardwareBuffer_lockAndGetInfo((*C.AHardwareBuffer)(buffer), (C.uint64_t)(usage), (C.int32_t)(fence), (*C.ARect)(rect), outVirtualAddress, (*C.int32_t)(outBytesPerPixel), (*C.int32_t)(outBytesPerStride))) - return ret -} - -func AndroidLogWrite(prio Int, tag *Char, text *Char) Int { - ret := (Int)(C.__android_log_write((C.int)(prio), (*C.char)(tag), (*C.char)(text))) - return ret -} - -func Hypotf(__x Float, __y Float) Float { - ret := (Float)(C.hypotf((C.float)(__x), (C.float)(__y))) - return ret -} - -func ASensorManagerCreateSharedMemoryDirectChannel(manager *ASensorManager, fd Int, size Size_t) Int { - ret := (Int)(C.ASensorManager_createSharedMemoryDirectChannel((*C.ASensorManager)(manager), (C.int)(fd), (C.size_t)(size))) +func Log10f(__x Float) Float { + ret := (Float)(C.log10f((C.float)(__x))) return ret } @@ -1115,73 +293,43 @@ func ASensorManagerConfigureDirectReport(manager *ASensorManager, sensor *ASenso return ret } -func ASensorGetResolution(sensor *ASensor) Float { - ret := (Float)(C.ASensor_getResolution((*C.ASensor)(sensor))) +func Copysignf(__value Float, __sign Float) Float { + ret := (Float)(C.copysignf((C.float)(__value), (C.float)(__sign))) return ret } -func ANativeWindowSetBuffersGeometry(window *ANativeWindow, width Int32_t, height Int32_t, format Int32_t) Int32_t { - ret := (Int32_t)(C.ANativeWindow_setBuffersGeometry((*C.ANativeWindow)(window), (C.int32_t)(width), (C.int32_t)(height), (C.int32_t)(format))) +func ASensorGetMinDelay(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getMinDelay((*C.ASensor)(sensor))) return ret } -func ALooperPollAll(timeoutMillis Int, outFd *Int, outEvents *Int, outData *unsafe.Pointer) Int { - ret := (Int)(C.ALooper_pollAll((C.int)(timeoutMillis), (*C.int)(outFd), (*C.int)(outEvents), outData)) +func AndroidGetApplicationTargetSdkVersion() Int { + ret := (Int)(C.android_get_application_target_sdk_version()) return ret } -func Sqrtf(__x Float) Float { - ret := (Float)(C.sqrtf((C.float)(__x))) +func AHardwareBufferSendHandleToUnixSocket(buffer *AHardwareBuffer, socketFd Int) Int { + ret := (Int)(C.AHardwareBuffer_sendHandleToUnixSocket((*C.AHardwareBuffer)(buffer), (C.int)(socketFd))) return ret } -func J1(__x Double) Double { - ret := (Double)(C.j1((C.double)(__x))) +func Ldexp(__x Double, __exponent Int) Double { + ret := (Double)(C.ldexp((C.double)(__x), (C.int)(__exponent))) return ret } -func Strtoimax(__s *Char, __end_ptr []*Char, __base Int) Intmax_t { - ret := (Intmax_t)(C.strtoimax((*C.char)(__s), (**C.char)(unsafe.Pointer(&__end_ptr[0])), (C.int)(__base))) +func ASensorIsWakeUpSensor(sensor *ASensor) Bool { + ret := (Bool)(C.ASensor_isWakeUpSensor((*C.ASensor)(sensor))) return ret } -func Scalblnf(__x Float, __exponent Long) Float { - ret := (Float)(C.scalblnf((C.float)(__x), (C.long)(__exponent))) +func Logbf(__x Float) Float { + ret := (Float)(C.logbf((C.float)(__x))) return ret } -func Cbrt(__x Double) Double { - ret := (Double)(C.cbrt((C.double)(__x))) - return ret -} - -func Lrint(__x Double) Long { - ret := (Long)(C.lrint((C.double)(__x))) - return ret -} - -func ASensorGetType(sensor *ASensor) Int { - ret := (Int)(C.ASensor_getType((*C.ASensor)(sensor))) - return ret -} - -func AHardwareBufferAllocate(desc *AHardwareBuffer_Desc, outBuffer []*AHardwareBuffer) Int { - ret := (Int)(C.AHardwareBuffer_allocate((*C.AHardwareBuffer_Desc)(desc), (**C.AHardwareBuffer)(unsafe.Pointer(&outBuffer[0])))) - return ret -} - -func Fminf(__x Float, __y Float) Float { - ret := (Float)(C.fminf((C.float)(__x), (C.float)(__y))) - return ret -} - -func Expm1(__x Double) Double { - ret := (Double)(C.expm1((C.double)(__x))) - return ret -} - -func Pow(__x Double, __y Double) Double { - ret := (Double)(C.pow((C.double)(__x), (C.double)(__y))) +func ANativeWindowGetFormat(window *ANativeWindow) Int32_t { + ret := (Int32_t)(C.ANativeWindow_getFormat((*C.ANativeWindow)(window))) return ret } @@ -1190,28 +338,38 @@ func Ceil(__x Double) Double { return ret } +func Isnan(__x Double) Int { + ret := (Int)(C.isnan((C.double)(__x))) + return ret +} + func J0(__x Double) Double { ret := (Double)(C.j0((C.double)(__x))) return ret } -func Acosf(__x Float) Float { - ret := (Float)(C.acosf((C.float)(__x))) +func ASensorManagerGetDefaultSensor(manager *ASensorManager, type_ Int) *ASensor { + ret := (*ASensor)(unsafe.Pointer(C.ASensorManager_getDefaultSensor((*C.ASensorManager)(manager), (C.int)(type_)))) return ret } -func Asin(__x Double) Double { - ret := (Double)(C.asin((C.double)(__x))) +func ASensorGetType(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getType((*C.ASensor)(sensor))) return ret } -func Atanf(__x Float) Float { - ret := (Float)(C.atanf((C.float)(__x))) +func Fchmod(__fd Int, __mode Mode_t) Int { + ret := (Int)(C.fchmod((C.int)(__fd), (C.mode_t)(__mode))) return ret } -func Acosh(__x Double) Double { - ret := (Double)(C.acosh((C.double)(__x))) +func Sin(__x Double) Double { + ret := (Double)(C.sin((C.double)(__x))) + return ret +} + +func Fstat64(__fd Int, __buf *Stat64_t) Int { + ret := (Int)(C.fstat64((C.int)(__fd), (*C.struct_stat64)(__buf))) return ret } @@ -1220,27 +378,13 @@ func ASensorManagerGetDefaultSensorEx(manager *ASensorManager, type_ Int, wakeUp return ret } -func Umask(__mask Mode_t) Mode_t { - ret := (Mode_t)(C.umask((C.mode_t)(__mask))) +func AHardwareBufferLockAndGetInfo(buffer *AHardwareBuffer, usage Uint64_t, fence Int32_t, rect *ARect, outVirtualAddress *unsafe.Pointer, outBytesPerPixel *Int32_t, outBytesPerStride *Int32_t) Int { + ret := (Int)(C.AHardwareBuffer_lockAndGetInfo((*C.AHardwareBuffer)(buffer), (C.uint64_t)(usage), (C.int32_t)(fence), (*C.ARect)(rect), outVirtualAddress, (*C.int32_t)(outBytesPerPixel), (*C.int32_t)(outBytesPerStride))) return ret } -func ANativeWindowRelease(window *ANativeWindow) { - C.ANativeWindow_release((*C.ANativeWindow)(window)) -} - -func Acoshf(__x Float) Float { - ret := (Float)(C.acoshf((C.float)(__x))) - return ret -} - -func Frexpf(__x Float, __exponent *Int) Float { - ret := (Float)(C.frexpf((C.float)(__x), (*C.int)(__exponent))) - return ret -} - -func Trunc(__x Double) Double { - ret := (Double)(C.trunc((C.double)(__x))) +func ASensorEventQueueHasEvents(queue *ASensorEventQueue) Int { + ret := (Int)(C.ASensorEventQueue_hasEvents((*C.ASensorEventQueue)(queue))) return ret } @@ -1249,8 +393,9 @@ func ASensorGetFifoMaxEventCount(sensor *ASensor) Int { return ret } -func AHardwareBufferRelease(buffer *AHardwareBuffer) { - C.AHardwareBuffer_release((*C.AHardwareBuffer)(buffer)) +func Logb(__x Double) Double { + ret := (Double)(C.logb((C.double)(__x))) + return ret } func Fabsf(__x Float) Float { @@ -1258,8 +403,38 @@ func Fabsf(__x Float) Float { return ret } -func Modf(__x Double, __integral_part *Double) Double { - ret := (Double)(C.modf((C.double)(__x), (*C.double)(__integral_part))) +func Pow(__x Double, __y Double) Double { + ret := (Double)(C.pow((C.double)(__x), (C.double)(__y))) + return ret +} + +func Sqrt(__x Double) Double { + ret := (Double)(C.sqrt((C.double)(__x))) + return ret +} + +func Trunc(__x Double) Double { + ret := (Double)(C.trunc((C.double)(__x))) + return ret +} + +func Log10(__x Double) Double { + ret := (Double)(C.log10((C.double)(__x))) + return ret +} + +func Erfcf(__x Float) Float { + ret := (Float)(C.erfcf((C.float)(__x))) + return ret +} + +func Fmodf(__x Float, __y Float) Float { + ret := (Float)(C.fmodf((C.float)(__x), (C.float)(__y))) + return ret +} + +func ASensorEventQueueEnableSensor(queue *ASensorEventQueue, sensor *ASensor) Int { + ret := (Int)(C.ASensorEventQueue_enableSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor))) return ret } @@ -1268,17 +443,848 @@ func ALooperPrepare(opts Int) *ALooper { return ret } +func Cosh(__x Double) Double { + ret := (Double)(C.cosh((C.double)(__x))) + return ret +} + +func Llroundf(__x Float) LongLong { + ret := (LongLong)(C.llroundf((C.float)(__x))) + return ret +} + +func AndroidGetDeviceApiLevel() Int { + ret := (Int)(C.android_get_device_api_level()) + return ret +} + +func Sinf(__x Float) Float { + ret := (Float)(C.sinf((C.float)(__x))) + return ret +} + +func Scalbln(__x Double, __exponent Long) Double { + ret := (Double)(C.scalbln((C.double)(__x), (C.long)(__exponent))) + return ret +} + +func ASensorManagerCreateSharedMemoryDirectChannel(manager *ASensorManager, fd Int, size Size_t) Int { + ret := (Int)(C.ASensorManager_createSharedMemoryDirectChannel((*C.ASensorManager)(manager), (C.int)(fd), (C.size_t)(size))) + return ret +} + +func Futimens(__dir_fd Int, __times *Timespec) Int { + ret := (Int)(C.futimens((C.int)(__dir_fd), (*C.struct_timespec)(__times))) + return ret +} + +func Llrintf(__x Float) LongLong { + ret := (LongLong)(C.llrintf((C.float)(__x))) + return ret +} + +func Expf(__x Float) Float { + ret := (Float)(C.expf((C.float)(__x))) + return ret +} + +func Tgamma(__x Double) Double { + ret := (Double)(C.tgamma((C.double)(__x))) + return ret +} + +func Mkdir(__path *Char, __mode Mode_t) Int { + ret := (Int)(C.mkdir((*C.char)(__path), (C.mode_t)(__mode))) + return ret +} + +func AHardwareBufferIsSupported(desc *AHardwareBuffer_Desc) Int { + ret := (Int)(C.AHardwareBuffer_isSupported((*C.AHardwareBuffer_Desc)(desc))) + return ret +} + +func ALooperPollOnce(timeoutMillis Int, outFd *Int, outEvents *Int, outData *unsafe.Pointer) Int { + ret := (Int)(C.ALooper_pollOnce((C.int)(timeoutMillis), (*C.int)(outFd), (*C.int)(outEvents), outData)) + return ret +} + +func Tanf(__x Float) Float { + ret := (Float)(C.tanf((C.float)(__x))) + return ret +} + +func ASensorIsDirectChannelTypeSupported(sensor *ASensor, channelType Int) Bool { + ret := (Bool)(C.ASensor_isDirectChannelTypeSupported((*C.ASensor)(sensor), (C.int)(channelType))) + return ret +} + +func Llround(__x Double) LongLong { + ret := (LongLong)(C.llround((C.double)(__x))) + return ret +} + +func Expm1f(__x Float) Float { + ret := (Float)(C.expm1f((C.float)(__x))) + return ret +} + +func Floor(__x Double) Double { + ret := (Double)(C.floor((C.double)(__x))) + return ret +} + +func ASensorGetFifoReservedEventCount(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getFifoReservedEventCount((*C.ASensor)(sensor))) + return ret +} + +func AHardwareBufferRelease(buffer *AHardwareBuffer) { + C.AHardwareBuffer_release((*C.AHardwareBuffer)(buffer)) +} + +func Remainderf(__x Float, __y Float) Float { + ret := (Float)(C.remainderf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Ilogb(__x Double) Int { + ret := (Int)(C.ilogb((C.double)(__x))) + return ret +} + +func Log1p(__x Double) Double { + ret := (Double)(C.log1p((C.double)(__x))) + return ret +} + +func Powf(__x Float, __y Float) Float { + ret := (Float)(C.powf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Chmod(__path *Char, __mode Mode_t) Int { + ret := (Int)(C.chmod((*C.char)(__path), (C.mode_t)(__mode))) + return ret +} + +func Asin(__x Double) Double { + ret := (Double)(C.asin((C.double)(__x))) + return ret +} + +func Tan(__x Double) Double { + ret := (Double)(C.tan((C.double)(__x))) + return ret +} + +func Lrintf(__x Float) Long { + ret := (Long)(C.lrintf((C.float)(__x))) + return ret +} + +func Remquo(__x Double, __y Double, __quotient_bits *Int) Double { + ret := (Double)(C.remquo((C.double)(__x), (C.double)(__y), (*C.int)(__quotient_bits))) + return ret +} + +func Nextafterf(__x Float, __y Float) Float { + ret := (Float)(C.nextafterf((C.float)(__x), (C.float)(__y))) + return ret +} + +func ANativeWindowGetWidth(window *ANativeWindow) Int32_t { + ret := (Int32_t)(C.ANativeWindow_getWidth((*C.ANativeWindow)(window))) + return ret +} + +func Asinh(__x Double) Double { + ret := (Double)(C.asinh((C.double)(__x))) + return ret +} + +func Acosf(__x Float) Float { + ret := (Float)(C.acosf((C.float)(__x))) + return ret +} + +func ANativeWindowGetBuffersDataSpace(window *ANativeWindow) Int32_t { + ret := (Int32_t)(C.ANativeWindow_getBuffersDataSpace((*C.ANativeWindow)(window))) + return ret +} + +func Log1pf(__x Float) Float { + ret := (Float)(C.log1pf((C.float)(__x))) + return ret +} + +func Fminf(__x Float, __y Float) Float { + ret := (Float)(C.fminf((C.float)(__x), (C.float)(__y))) + return ret +} + +func ASensorGetHandle(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getHandle((*C.ASensor)(sensor))) + return ret +} + +func Cos(__x Double) Double { + ret := (Double)(C.cos((C.double)(__x))) + return ret +} + func Asinhf(__x Float) Float { ret := (Float)(C.asinhf((C.float)(__x))) return ret } +func Sinhf(__x Float) Float { + ret := (Float)(C.sinhf((C.float)(__x))) + return ret +} + +func Log2(__x Double) Double { + ret := (Double)(C.log2((C.double)(__x))) + return ret +} + +func Copysign(__value Double, __sign Double) Double { + ret := (Double)(C.copysign((C.double)(__value), (C.double)(__sign))) + return ret +} + +func Lstat(__path *Char, __buf *Stat_t) Int { + ret := (Int)(C.lstat((*C.char)(__path), (*C.struct_stat)(__buf))) + return ret +} + +func Acosh(__x Double) Double { + ret := (Double)(C.acosh((C.double)(__x))) + return ret +} + +func Erfc(__x Double) Double { + ret := (Double)(C.erfc((C.double)(__x))) + return ret +} + +func Nearbyint(__x Double) Double { + ret := (Double)(C.nearbyint((C.double)(__x))) + return ret +} + +func ANativeWindowRelease(window *ANativeWindow) { + C.ANativeWindow_release((*C.ANativeWindow)(window)) +} + +func Nearbyintf(__x Float) Float { + ret := (Float)(C.nearbyintf((C.float)(__x))) + return ret +} + +func ASensorManagerGetInstanceForPackage(packageName *Char) *ASensorManager { + ret := (*ASensorManager)(unsafe.Pointer(C.ASensorManager_getInstanceForPackage((*C.char)(packageName)))) + return ret +} + +func Ldexpf(__x Float, __exponent Int) Float { + ret := (Float)(C.ldexpf((C.float)(__x), (C.int)(__exponent))) + return ret +} + +func Rint(__x Double) Double { + ret := (Double)(C.rint((C.double)(__x))) + return ret +} + +func Y1(__x Double) Double { + ret := (Double)(C.y1((C.double)(__x))) + return ret +} + +func Mkfifo(__path *Char, __mode Mode_t) Int { + ret := (Int)(C.mkfifo((*C.char)(__path), (C.mode_t)(__mode))) + return ret +} + +func AHardwareBufferDescribe(buffer *AHardwareBuffer, outDesc *AHardwareBuffer_Desc) { + C.AHardwareBuffer_describe((*C.AHardwareBuffer)(buffer), (*C.AHardwareBuffer_Desc)(outDesc)) +} + +func Hypotf(__x Float, __y Float) Float { + ret := (Float)(C.hypotf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Fstatat(__dir_fd Int, __path *Char, __buf *Stat_t, __flags Int) Int { + ret := (Int)(C.fstatat((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_stat)(__buf), (C.int)(__flags))) + return ret +} + +func Scalblnf(__x Float, __exponent Long) Float { + ret := (Float)(C.scalblnf((C.float)(__x), (C.long)(__exponent))) + return ret +} + +func ASensorGetStringType(sensor *ASensor) *Char { + ret := (*Char)(unsafe.Pointer(C.ASensor_getStringType((*C.ASensor)(sensor)))) + return ret +} + +func AHardwareBufferAcquire(buffer *AHardwareBuffer) { + C.AHardwareBuffer_acquire((*C.AHardwareBuffer)(buffer)) +} + +func Tanhf(__x Float) Float { + ret := (Float)(C.tanhf((C.float)(__x))) + return ret +} + +func Mknodat(__dir_fd Int, __path *Char, __mode Mode_t, __dev Dev_t) Int { + ret := (Int)(C.mknodat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode), (C.dev_t)(__dev))) + return ret +} + +func Y0(__x Double) Double { + ret := (Double)(C.y0((C.double)(__x))) + return ret +} + +func ASensorEventQueueRequestAdditionalInfoEvents(queue *ASensorEventQueue, enable Bool) Int { + ret := (Int)(C.ASensorEventQueue_requestAdditionalInfoEvents((*C.ASensorEventQueue)(queue), (C.bool)(enable))) + return ret +} + +func Roundf(__x Float) Float { + ret := (Float)(C.roundf((C.float)(__x))) + return ret +} + +func ASensorGetName(sensor *ASensor) *Char { + ret := (*Char)(unsafe.Pointer(C.ASensor_getName((*C.ASensor)(sensor)))) + return ret +} + +func Truncf(__x Float) Float { + ret := (Float)(C.truncf((C.float)(__x))) + return ret +} + +func AndroidLogBufWrite(bufID Int, prio Int, tag *Char, text *Char) Int { + ret := (Int)(C.__android_log_buf_write((C.int)(bufID), (C.int)(prio), (*C.char)(tag), (*C.char)(text))) + return ret +} + +func Acos(__x Double) Double { + ret := (Double)(C.acos((C.double)(__x))) + return ret +} + +func Scalbn(__x Double, __exponent Int) Double { + ret := (Double)(C.scalbn((C.double)(__x), (C.int)(__exponent))) + return ret +} + +func Rintf(__x Float) Float { + ret := (Float)(C.rintf((C.float)(__x))) + return ret +} + +func Lrint(__x Double) Long { + ret := (Long)(C.lrint((C.double)(__x))) + return ret +} + +func Fstatat64(__dir_fd Int, __path *Char, __buf *Stat64_t, __flags Int) Int { + ret := (Int)(C.fstatat64((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_stat64)(__buf), (C.int)(__flags))) + return ret +} + +func AHardwareBufferAllocate(desc *AHardwareBuffer_Desc, outBuffer []*AHardwareBuffer) Int { + ret := (Int)(C.AHardwareBuffer_allocate((*C.AHardwareBuffer_Desc)(desc), (**C.AHardwareBuffer)(unsafe.Pointer(&outBuffer[0])))) + return ret +} + +func Modf(__x Double, __integral_part *Double) Double { + ret := (Double)(C.modf((C.double)(__x), (*C.double)(__integral_part))) + return ret +} + +func Modff(__x Float, __integral_part *Float) Float { + ret := (Float)(C.modff((C.float)(__x), (*C.float)(__integral_part))) + return ret +} + +func Lgammaf(__x Float) Float { + ret := (Float)(C.lgammaf((C.float)(__x))) + return ret +} + +func ASensorManagerCreateHardwareBufferDirectChannel(manager *ASensorManager, buffer *AHardwareBuffer, size Size_t) Int { + ret := (Int)(C.ASensorManager_createHardwareBufferDirectChannel((*C.ASensorManager)(manager), (*C.AHardwareBuffer)(buffer), (C.size_t)(size))) + return ret +} + +func ASensorEventQueueGetEvents(queue *ASensorEventQueue, events *ASensorEvent, count Size_t) Ssize_t { + ret := (Ssize_t)(C.ASensorEventQueue_getEvents((*C.ASensorEventQueue)(queue), (*C.ASensorEvent)(events), (C.size_t)(count))) + return ret +} + +func Atanf(__x Float) Float { + ret := (Float)(C.atanf((C.float)(__x))) + return ret +} + +func Log(__x Double) Double { + ret := (Double)(C.log((C.double)(__x))) + return ret +} + +func Sqrtf(__x Float) Float { + ret := (Float)(C.sqrtf((C.float)(__x))) + return ret +} + +func ASensorEventQueueRegisterSensor(queue *ASensorEventQueue, sensor *ASensor, samplingPeriodUs Int32_t, maxBatchReportLatencyUs Int64_t) Int { + ret := (Int)(C.ASensorEventQueue_registerSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor), (C.int32_t)(samplingPeriodUs), (C.int64_t)(maxBatchReportLatencyUs))) + return ret +} + +func Imaxabs(__i Intmax_t) Intmax_t { + ret := (Intmax_t)(C.imaxabs((C.intmax_t)(__i))) + return ret +} + +func Lround(__x Double) Long { + ret := (Long)(C.lround((C.double)(__x))) + return ret +} + +func Fdimf(__x Float, __y Float) Float { + ret := (Float)(C.fdimf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Atan(__x Double) Double { + ret := (Double)(C.atan((C.double)(__x))) + return ret +} + +func Tanh(__x Double) Double { + ret := (Double)(C.tanh((C.double)(__x))) + return ret +} + +func J1(__x Double) Double { + ret := (Double)(C.j1((C.double)(__x))) + return ret +} + +func Yn(__n Int, __x Double) Double { + ret := (Double)(C.yn((C.int)(__n), (C.double)(__x))) + return ret +} + +func Fchmodat(__dir_fd Int, __path *Char, __mode Mode_t, __flags Int) Int { + ret := (Int)(C.fchmodat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode), (C.int)(__flags))) + return ret +} + +func Utimensat(__dir_fd Int, __path *Char, __times *Timespec, __flags Int) Int { + ret := (Int)(C.utimensat((C.int)(__dir_fd), (*C.char)(__path), (*C.struct_timespec)(__times), (C.int)(__flags))) + return ret +} + +func Sinh(__x Double) Double { + ret := (Double)(C.sinh((C.double)(__x))) + return ret +} + +func Frexp(__x Double, __exponent *Int) Double { + ret := (Double)(C.frexp((C.double)(__x), (*C.int)(__exponent))) + return ret +} + +func Cbrtf(__x Float) Float { + ret := (Float)(C.cbrtf((C.float)(__x))) + return ret +} + +func Remainder(__x Double, __y Double) Double { + ret := (Double)(C.remainder((C.double)(__x), (C.double)(__y))) + return ret +} + +func ASensorGetResolution(sensor *ASensor) Float { + ret := (Float)(C.ASensor_getResolution((*C.ASensor)(sensor))) + return ret +} + +func ASensorGetHighestDirectReportRateLevel(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getHighestDirectReportRateLevel((*C.ASensor)(sensor))) + return ret +} + +func ANativeWindowLock(window *ANativeWindow, outBuffer *ANativeWindow_Buffer, inOutDirtyBounds *ARect) Int32_t { + ret := (Int32_t)(C.ANativeWindow_lock((*C.ANativeWindow)(window), (*C.ANativeWindow_Buffer)(outBuffer), (*C.ARect)(inOutDirtyBounds))) + return ret +} + +func Stat(__path *Char, __buf *Stat_t) Int { + ret := (Int)(C.stat((*C.char)(__path), (*C.struct_stat)(__buf))) + return ret +} + +func ASensorManagerDestroyDirectChannel(manager *ASensorManager, channelId Int) { + C.ASensorManager_destroyDirectChannel((*C.ASensorManager)(manager), (C.int)(channelId)) +} + +func ASensorEventQueueSetEventRate(queue *ASensorEventQueue, sensor *ASensor, usec Int32_t) Int { + ret := (Int)(C.ASensorEventQueue_setEventRate((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor), (C.int32_t)(usec))) + return ret +} + +func Lgamma(__x Double) Double { + ret := (Double)(C.lgamma((C.double)(__x))) + return ret +} + +func Stat64(__path *Char, __buf *Stat64_t) Int { + ret := (Int)(C.stat64((*C.char)(__path), (*C.struct_stat64)(__buf))) + return ret +} + +func ALooperRemoveFd(looper *ALooper, fd Int) Int { + ret := (Int)(C.ALooper_removeFd((*C.ALooper)(looper), (C.int)(fd))) + return ret +} + +func Exp2(__x Double) Double { + ret := (Double)(C.exp2((C.double)(__x))) + return ret +} + +func ANativeWindowSetBuffersGeometry(window *ANativeWindow, width Int32_t, height Int32_t, format Int32_t) Int32_t { + ret := (Int32_t)(C.ANativeWindow_setBuffersGeometry((*C.ANativeWindow)(window), (C.int32_t)(width), (C.int32_t)(height), (C.int32_t)(format))) + return ret +} + +func Fmax(__x Double, __y Double) Double { + ret := (Double)(C.fmax((C.double)(__x), (C.double)(__y))) + return ret +} + +func Jn(__n Int, __x Double) Double { + ret := (Double)(C.jn((C.int)(__n), (C.double)(__x))) + return ret +} + +func Umask(__mask Mode_t) Mode_t { + ret := (Mode_t)(C.umask((C.mode_t)(__mask))) + return ret +} + +func AHardwareBufferLock(buffer *AHardwareBuffer, usage Uint64_t, fence Int32_t, rect *ARect, outVirtualAddress *unsafe.Pointer) Int { + ret := (Int)(C.AHardwareBuffer_lock((*C.AHardwareBuffer)(buffer), (C.uint64_t)(usage), (C.int32_t)(fence), (*C.ARect)(rect), outVirtualAddress)) + return ret +} + +func Nextafter(__x Double, __y Double) Double { + ret := (Double)(C.nextafter((C.double)(__x), (C.double)(__y))) + return ret +} + +func Frexpf(__x Float, __exponent *Int) Float { + ret := (Float)(C.frexpf((C.float)(__x), (*C.int)(__exponent))) + return ret +} + +func Erff(__x Float) Float { + ret := (Float)(C.erff((C.float)(__x))) + return ret +} + +func Atanhf(__x Float) Float { + ret := (Float)(C.atanhf((C.float)(__x))) + return ret +} + +func Ceilf(__x Float) Float { + ret := (Float)(C.ceilf((C.float)(__x))) + return ret +} + +func ANativeWindowSetBuffersTransform(window *ANativeWindow, transform Int32_t) Int32_t { + ret := (Int32_t)(C.ANativeWindow_setBuffersTransform((*C.ANativeWindow)(window), (C.int32_t)(transform))) + return ret +} + +func ANativeWindowSetBuffersDataSpace(window *ANativeWindow, dataSpace Int32_t) Int32_t { + ret := (Int32_t)(C.ANativeWindow_setBuffersDataSpace((*C.ANativeWindow)(window), (C.int32_t)(dataSpace))) + return ret +} + +func Fmod(__x Double, __y Double) Double { + ret := (Double)(C.fmod((C.double)(__x), (C.double)(__y))) + return ret +} + +func Mkdirat(__dir_fd Int, __path *Char, __mode Mode_t) Int { + ret := (Int)(C.mkdirat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode))) + return ret +} + +func Cbrt(__x Double) Double { + ret := (Double)(C.cbrt((C.double)(__x))) + return ret +} + +func Fmaxf(__x Float, __y Float) Float { + ret := (Float)(C.fmaxf((C.float)(__x), (C.float)(__y))) + return ret +} + +func Exp2f(__x Float) Float { + ret := (Float)(C.exp2f((C.float)(__x))) + return ret +} + +func ASensorEventQueueDisableSensor(queue *ASensorEventQueue, sensor *ASensor) Int { + ret := (Int)(C.ASensorEventQueue_disableSensor((*C.ASensorEventQueue)(queue), (*C.ASensor)(sensor))) + return ret +} + +func ASensorGetReportingMode(sensor *ASensor) Int { + ret := (Int)(C.ASensor_getReportingMode((*C.ASensor)(sensor))) + return ret +} + +func Mkfifoat(__dir_fd Int, __path *Char, __mode Mode_t) Int { + ret := (Int)(C.mkfifoat((C.int)(__dir_fd), (*C.char)(__path), (C.mode_t)(__mode))) + return ret +} + +func Strtoumax(__s *Char, __end_ptr []*Char, __base Int) Uintmax_t { + ret := (Uintmax_t)(C.strtoumax((*C.char)(__s), (**C.char)(unsafe.Pointer(&__end_ptr[0])), (C.int)(__base))) + return ret +} + +func ANativeWindowAcquire(window *ANativeWindow) { + C.ANativeWindow_acquire((*C.ANativeWindow)(window)) +} + +func Atan2f(__y Float, __x Float) Float { + ret := (Float)(C.atan2f((C.float)(__y), (C.float)(__x))) + return ret +} + +func Floorf(__x Float) Float { + ret := (Float)(C.floorf((C.float)(__x))) + return ret +} + func Coshf(__x Float) Float { ret := (Float)(C.coshf((C.float)(__x))) return ret } -func Tanh(__x Double) Double { - ret := (Double)(C.tanh((C.double)(__x))) +func Nanf(__kind *Char) Float { + ret := (Float)(C.nanf((*C.char)(__kind))) + return ret +} + +func Isinf(__x Double) Int { + ret := (Int)(C.isinf((C.double)(__x))) + return ret +} + +func Logf(__x Float) Float { + ret := (Float)(C.logf((C.float)(__x))) + return ret +} + +func Erf(__x Double) Double { + ret := (Double)(C.erf((C.double)(__x))) + return ret +} + +func Fmin(__x Double, __y Double) Double { + ret := (Double)(C.fmin((C.double)(__x), (C.double)(__y))) + return ret +} + +func Fma(__x Double, __y Double, __z Double) Double { + ret := (Double)(C.fma((C.double)(__x), (C.double)(__y), (C.double)(__z))) + return ret +} + +func Fmaf(__x Float, __y Float, __z Float) Float { + ret := (Float)(C.fmaf((C.float)(__x), (C.float)(__y), (C.float)(__z))) + return ret +} + +func Cosf(__x Float) Float { + ret := (Float)(C.cosf((C.float)(__x))) + return ret +} + +func Hypot(__x Double, __y Double) Double { + ret := (Double)(C.hypot((C.double)(__x), (C.double)(__y))) + return ret +} + +func ASensorManagerGetSensorList(manager *ASensorManager, list *ASensorList) Int { + ret := (Int)(C.ASensorManager_getSensorList((*C.ASensorManager)(manager), (*C.ASensorList)(list))) + return ret +} + +func Lstat64(__path *Char, __buf *Stat64_t) Int { + ret := (Int)(C.lstat64((*C.char)(__path), (*C.struct_stat64)(__buf))) + return ret +} + +func ALooperForThread() *ALooper { + ret := (*ALooper)(unsafe.Pointer(C.ALooper_forThread())) + return ret +} + +func Log2f(__x Float) Float { + ret := (Float)(C.log2f((C.float)(__x))) + return ret +} + +func ALooperPollAll(timeoutMillis Int, outFd *Int, outEvents *Int, outData *unsafe.Pointer) Int { + ret := (Int)(C.ALooper_pollAll((C.int)(timeoutMillis), (*C.int)(outFd), (*C.int)(outEvents), outData)) + return ret +} + +func ASensorManagerDestroyEventQueue(manager *ASensorManager, queue *ASensorEventQueue) Int { + ret := (Int)(C.ASensorManager_destroyEventQueue((*C.ASensorManager)(manager), (*C.ASensorEventQueue)(queue))) + return ret +} + +func AHardwareBufferUnlock(buffer *AHardwareBuffer, fence *Int32_t) Int { + ret := (Int)(C.AHardwareBuffer_unlock((*C.AHardwareBuffer)(buffer), (*C.int32_t)(fence))) + return ret +} + +func ALooperAcquire(looper *ALooper) { + C.ALooper_acquire((*C.ALooper)(looper)) +} + +func Atanh(__x Double) Double { + ret := (Double)(C.atanh((C.double)(__x))) + return ret +} + +func Expm1(__x Double) Double { + ret := (Double)(C.expm1((C.double)(__x))) + return ret +} + +func Round(__x Double) Double { + ret := (Double)(C.round((C.double)(__x))) + return ret +} + +func Fstat(__fd Int, __buf *Stat_t) Int { + ret := (Int)(C.fstat((C.int)(__fd), (*C.struct_stat)(__buf))) + return ret +} + +func Strtoimax(__s *Char, __end_ptr []*Char, __base Int) Intmax_t { + ret := (Intmax_t)(C.strtoimax((*C.char)(__s), (**C.char)(unsafe.Pointer(&__end_ptr[0])), (C.int)(__base))) + return ret +} + +func Atan2(__y Double, __x Double) Double { + ret := (Double)(C.atan2((C.double)(__y), (C.double)(__x))) + return ret +} + +func Lroundf(__x Float) Long { + ret := (Long)(C.lroundf((C.float)(__x))) + return ret +} + +func ALooperWake(looper *ALooper) { + C.ALooper_wake((*C.ALooper)(looper)) +} + +func Tgammaf(__x Float) Float { + ret := (Float)(C.tgammaf((C.float)(__x))) + return ret +} + +func Asinf(__x Float) Float { + ret := (Float)(C.asinf((C.float)(__x))) + return ret +} + +func Acoshf(__x Float) Float { + ret := (Float)(C.acoshf((C.float)(__x))) + return ret +} + +func Fabs(__x Double) Double { + ret := (Double)(C.fabs((C.double)(__x))) + return ret +} + +func Llrint(__x Double) LongLong { + ret := (LongLong)(C.llrint((C.double)(__x))) + return ret +} + +func ANativeWindowGetHeight(window *ANativeWindow) Int32_t { + ret := (Int32_t)(C.ANativeWindow_getHeight((*C.ANativeWindow)(window))) + return ret +} + +func AndroidLogWrite(prio Int, tag *Char, text *Char) Int { + ret := (Int)(C.__android_log_write((C.int)(prio), (*C.char)(tag), (*C.char)(text))) + return ret +} + +func Ilogbf(__x Float) Int { + ret := (Int)(C.ilogbf((C.float)(__x))) + return ret +} + +func Remquof(__x Float, __y Float, __quotient_bits *Int) Float { + ret := (Float)(C.remquof((C.float)(__x), (C.float)(__y), (*C.int)(__quotient_bits))) + return ret +} + +func AHardwareBufferRecvHandleFromUnixSocket(socketFd Int, outBuffer []*AHardwareBuffer) Int { + ret := (Int)(C.AHardwareBuffer_recvHandleFromUnixSocket((C.int)(socketFd), (**C.AHardwareBuffer)(unsafe.Pointer(&outBuffer[0])))) + return ret +} + +func ANativeWindowUnlockAndPost(window *ANativeWindow) Int32_t { + ret := (Int32_t)(C.ANativeWindow_unlockAndPost((*C.ANativeWindow)(window))) + return ret +} + +func ALooperRelease(looper *ALooper) { + C.ALooper_release((*C.ALooper)(looper)) +} + +func Scalbnf(__x Float, __exponent Int) Float { + ret := (Float)(C.scalbnf((C.float)(__x), (C.int)(__exponent))) + return ret +} + +func Mknod(__path *Char, __mode Mode_t, __dev Dev_t) Int { + ret := (Int)(C.mknod((*C.char)(__path), (C.mode_t)(__mode), (C.dev_t)(__dev))) + return ret +} + +func Nan(__kind *Char) Double { + ret := (Double)(C.nan((*C.char)(__kind))) + return ret +} + +func Fdim(__x Double, __y Double) Double { + ret := (Double)(C.fdim((C.double)(__x), (C.double)(__y))) return ret } diff --git a/examples/sensors/main.go b/examples/sensors/main.go index 2419dc7..496b2e8 100644 --- a/examples/sensors/main.go +++ b/examples/sensors/main.go @@ -3,20 +3,31 @@ package main import ( + "fmt" + "image/color" "log" + "time" "gioui.org/app" + "gioui.org/f32" "gioui.org/io/system" "gioui.org/layout" "gioui.org/op" + "gioui.org/op/clip" + "gioui.org/op/paint" "gioui.org/unit" "gioui.org/widget/material" "gioui.org/font/gofont" ) +type vector struct { + x, y, z float64 +} + var ( labchan chan string + senschan chan vector ) type ( @@ -26,6 +37,7 @@ type ( func main() { labchan = make(chan string) + senschan = make(chan vector) log.Print("Staring event loop") go eventloop() app.Main() @@ -43,6 +55,7 @@ func eventloop() { w := app.NewWindow( app.Size(unit.Dp(400), unit.Dp(400)), app.Title("Hello")) + th := material.NewTheme(gofont.Collection()) var ops op.Ops @@ -61,10 +74,80 @@ func eventloop() { go func() { labchan <- "Starting" }() + + var accel vector + accel.y = 1 + + lablist := func(gtx C) D { + return list.Layout(gtx, len(labels), func(gtx C, i int) D { + return labels[i].Layout(gtx) + }) + } + + vecview := func(gtx C) D { + f := layout.Flex{Axis: layout.Horizontal, Spacing: layout.SpaceEvenly} + return f.Layout(gtx, + layout.Rigid(func(gtx C) D { + return material.Body1(th, fmt.Sprintf("x = %f", accel.x)).Layout(gtx) + }), + layout.Rigid(func(gtx C) D { + return material.Body1(th, fmt.Sprintf("y = %f", accel.y)).Layout(gtx) + }), + layout.Rigid(func(gtx C) D { + return material.Body1(th, fmt.Sprintf("z = %f", accel.z)).Layout(gtx) + }), + ) + } + + var cx, cy, cvx, cvy, cs float32 // circle position + cx = 200 + cy = 200 + cs = 50 // circle size (radius) + + circle := func(gtx C, width, height float32) D { + // clip circle position and bounce off of the edges + if (cx < cs) { cx = cs; cvx = (-0.5) * cvx } + if (cy < cs) { cy = cs; cvy = (-0.5) * cvy } + if (cx > width - cs) { cx = width - cs; cvx = (-0.5) * cvx } + if (cy > height - cs) { cy = height - cs; cvy = (-0.5) * cvy } + + blue := color.RGBA{0x3f, 0x51, 0xb5, 0x80} + r1 := f32.Rectangle{f32.Point{cx - cs, cy - cs}, f32.Point{cx + cs, cy + cs}} + clip.Rect{ Rect: r1, NE: cs, NW: cs, SE: cs, SW: cs}.Op(gtx.Ops).Add(gtx.Ops) + paint.ColorOp{Color: blue}.Add(gtx.Ops) + paint.PaintOp{Rect: r1}.Add(gtx.Ops) + + var ret D + ret.Size.X = int(cs * 2) + ret.Size.Y = int(cs * 2) + return ret + } + + ticker := time.NewTicker(time.Second / 60) + + var t, told int64 + t = time.Now().UnixNano() + for { select { + case <- ticker.C: + told = t + t = time.Now().UnixNano() + elapsed := float32((t - told) / 1000000) + + cvx = cvx - float32(accel.x/1000) * elapsed + cvy = cvy + float32(accel.y/1000) * elapsed + + cx = cx + cvx * elapsed + cy = cy + cvy * elapsed + w.Invalidate() + case x := <-labchan: labels = append(labels, material.Body1(th, x)) + + case x := <-senschan: + accel = x + case e := <-w.Events(): switch e := e.(type) { case system.DestroyEvent: @@ -73,11 +156,16 @@ func eventloop() { gtx := layout.NewContext(&ops, e) resetSysinset(e.Insets) sysinset.Layout(gtx, func(gtx C) D { - return margin.Layout(gtx, func(gtx C) D { - return list.Layout(gtx, len(labels), func(gtx C, i int) D { - return labels[i].Layout(gtx) - }) + ret := margin.Layout(gtx, func(gtx C) D { + f1 := layout.Flex{Axis: layout.Vertical} + ret := f1.Layout(gtx, + layout.Rigid(vecview), + layout.Flexed(1, lablist), + ) + circle(gtx, float32(ret.Size.X), float32(ret.Size.Y)) + return ret }) + return ret }) e.Frame(gtx.Ops) } diff --git a/examples/sensors/os_android.go b/examples/sensors/os_android.go index 9c56fdb..298ec0b 100644 --- a/examples/sensors/os_android.go +++ b/examples/sensors/os_android.go @@ -3,9 +3,9 @@ package main import ( "fmt" "log" - "os" + "runtime" + "unsafe" - "gioui.org/app" ndk "git.wow.st/gmp/android-go/android27" ) @@ -13,55 +13,74 @@ var ( tag *ndk.Char ) -func mkHomeDir() { - msg := ndk.CharWithGoString("getting datadir") - ndk.AndroidLogWrite(ndk.ANDROID_LOG_WARN, tag, msg) - msg.Free() - - godir, _ := app.DataDir() - labchan <- fmt.Sprintf("DataDir is %s", godir) - - msg = ndk.CharWithGoString("ok. calling mkdir") - ndk.AndroidLogWrite(ndk.ANDROID_LOG_WARN, tag, msg) - msg.Free() - - if _, err := os.Stat(godir); !os.IsNotExist(err) { - labchan <- "already exists" - return - } - if err := os.MkdirAll(godir, 0700); err != nil { - fmt.Sprintf("Error creating directory: %s", err) - labchan <- fmt.Sprintf("Error creating directory: %s", err) - } else { - labchan <- "created" - } -} - func apiLevel() { msg := ndk.CharWithGoString("hello log world") ndk.AndroidLogWrite(ndk.ANDROID_LOG_WARN, tag, msg) msg.Free() + apilevel := ndk.AndroidGetDeviceApiLevel() message := fmt.Sprintf("API level is %d", apilevel) labchan <- message + msg = ndk.CharWithGoString(message) ndk.AndroidLogWrite(ndk.ANDROID_LOG_WARN, tag, msg) msg.Free() } -func getSensors() { - pkg := ndk.CharWithGoString("st.wow.git.jni") - sm := ndk.ASensorManagerGetInstanceForPackage(pkg) +func sensorLoop() { + // the Android Looper is thread-local + runtime.LockOSThread() + + pkg := ndk.CharWithGoString("st.wow.git.sensors") + manager := ndk.ASensorManagerGetInstanceForPackage(pkg) pkg.Free() - sens := ndk.ASensorManagerGetDefaultSensor(sm, ndk.ASENSOR_TYPE_ACCELEROMETER) + + sens := ndk.ASensorManagerGetDefaultSensor(manager, ndk.ASENSOR_TYPE_ACCELEROMETER) stp := ndk.ASensorGetStringType(sens) labchan <- "sensor" + stp.String() + + var looper *ndk.ALooper + var queue *ndk.ASensorEventQueue + looper_id := 1 + var rate ndk.Int32_t = 60 + + setup := func() { + looper = ndk.ALooperForThread() + if (looper == nil) { + labchan <- "no looper for thread" + looper = ndk.ALooperPrepare(ndk.ALOOPER_PREPARE_ALLOW_NON_CALLBACKS) + } + + queue = ndk.ASensorManagerCreateEventQueue(manager, looper, looper_id) + + ndk.ASensorEventQueueEnableSensor(queue, sens) + ndk.ASensorEventQueueSetEventRate(queue, sens, 1000000/rate) // microseconds + } + + setup() + labchan <- "polling accelerometer" + for { + var zero ndk.Int + id := (int)(ndk.ALooperPollOnce(-1, &zero, &zero, (*unsafe.Pointer)(unsafe.Pointer(nil)))) // poll forever + if (id == ndk.ALOOPER_POLL_ERROR) { // set up a new looper + labchan <- "getting a new looper" + setup() + continue + } + if (id == looper_id) { + var event ndk.ASensorEvent + if (ndk.ASensorEventQueueGetEvents(queue, &event, 1) != 1) { + continue + } + accel := (&event).Acceleration() + senschan <- vector{float64(accel.X()), float64(accel.Y()), float64(accel.Z())} + } + } } func init() { tag = ndk.CharWithGoString("gio") log.Print("Android starting") go apiLevel() - go mkHomeDir() - go getSensors() + go sensorLoop() }