/* * Copyright (C) 2015 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "sync_clock.h" #include #include #define APPNAME "ClockSyncJNI" // This is global so that we don't have to pass it aroundbetween Java and here. // TODO: come up with some more elegant solution. struct clock_connection clk; jlong Java_org_chromium_latency_walt_WaltUsbConnection_syncClock__III( __attribute__((unused)) JNIEnv* env, __attribute__((unused)) jobject thiz, jint fd, jint endpoint_out, jint endpoint_in ){ clk.fd = (int)fd; clk.endpoint_in = (int)endpoint_in; clk.endpoint_out = (int)endpoint_out; clk.t_base = 0; sync_clocks(&clk); // __android_log_print(ANDROID_LOG_VERBOSE, APPNAME, "Returned from sync_clocks\n"); int64_t t_base = clk.t_base; return (jlong) t_base; } void Java_org_chromium_latency_walt_WaltUsbConnection_updateBounds() { update_bounds(&clk); } jint Java_org_chromium_latency_walt_WaltUsbConnection_getMinE() { return clk.minE; } jint Java_org_chromium_latency_walt_WaltUsbConnection_getMaxE() { return clk.maxE; }