android_packages_modules_Co.../thread/service/jni/onload.cpp
Handa Wang d295f8f146 implement InfraInterfaceController
InfraInterfaceController is used for creating an socket for
sending/receiving ICMPv6 ND messages on the infrastructure network
interface.

Bug: 299552948
Test: verified on a Cuttlefish

Change-Id: I02eafadafbf7a04e12fe74954b4812462c532e45
2023-11-10 21:11:01 +09:00

39 lines
1.3 KiB
C++

/*
* Copyright (C) 2023 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 "jni.h"
#include "utils/Log.h"
namespace android {
int register_com_android_server_thread_TunInterfaceController(JNIEnv* env);
int register_com_android_server_thread_InfraInterfaceController(JNIEnv* env);
}
using namespace android;
extern "C" jint JNI_OnLoad(JavaVM* vm, void* /* reserved */) {
JNIEnv* env = NULL;
if (vm->GetEnv((void**) &env, JNI_VERSION_1_4) != JNI_OK) {
ALOGE("GetEnv failed!");
return -1;
}
ALOG_ASSERT(env != NULL, "Could not retrieve the env!");
register_com_android_server_thread_TunInterfaceController(env);
register_com_android_server_thread_InfraInterfaceController(env);
return JNI_VERSION_1_4;
}