upload android base code part6
This commit is contained in:
parent
421e214c7d
commit
4e516ec6ed
35396 changed files with 9188716 additions and 0 deletions
62
android/system/hardware/interfaces/net/netd/1.0/Android.bp
Normal file
62
android/system/hardware/interfaces/net/netd/1.0/Android.bp
Normal file
|
@ -0,0 +1,62 @@
|
|||
// This file is autogenerated by hidl-gen. Do not edit manually.
|
||||
|
||||
filegroup {
|
||||
name: "android.system.net.netd@1.0_hal",
|
||||
srcs: [
|
||||
"INetd.hal",
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "android.system.net.netd@1.0_genc++",
|
||||
tools: ["hidl-gen"],
|
||||
cmd: "$(location hidl-gen) -o $(genDir) -Lc++-sources -randroid.hidl:system/libhidl/transport -randroid.system:system/hardware/interfaces android.system.net.netd@1.0",
|
||||
srcs: [
|
||||
":android.system.net.netd@1.0_hal",
|
||||
],
|
||||
out: [
|
||||
"android/system/net/netd/1.0/NetdAll.cpp",
|
||||
],
|
||||
}
|
||||
|
||||
genrule {
|
||||
name: "android.system.net.netd@1.0_genc++_headers",
|
||||
tools: ["hidl-gen"],
|
||||
cmd: "$(location hidl-gen) -o $(genDir) -Lc++-headers -randroid.hidl:system/libhidl/transport -randroid.system:system/hardware/interfaces android.system.net.netd@1.0",
|
||||
srcs: [
|
||||
":android.system.net.netd@1.0_hal",
|
||||
],
|
||||
out: [
|
||||
"android/system/net/netd/1.0/INetd.h",
|
||||
"android/system/net/netd/1.0/IHwNetd.h",
|
||||
"android/system/net/netd/1.0/BnHwNetd.h",
|
||||
"android/system/net/netd/1.0/BpHwNetd.h",
|
||||
"android/system/net/netd/1.0/BsNetd.h",
|
||||
],
|
||||
}
|
||||
|
||||
cc_library {
|
||||
name: "android.system.net.netd@1.0",
|
||||
defaults: ["hidl-module-defaults"],
|
||||
generated_sources: ["android.system.net.netd@1.0_genc++"],
|
||||
generated_headers: ["android.system.net.netd@1.0_genc++_headers"],
|
||||
export_generated_headers: ["android.system.net.netd@1.0_genc++_headers"],
|
||||
vendor_available: true,
|
||||
vndk: {
|
||||
enabled: true,
|
||||
},
|
||||
shared_libs: [
|
||||
"libhidlbase",
|
||||
"libhidltransport",
|
||||
"libhwbinder",
|
||||
"liblog",
|
||||
"libutils",
|
||||
"libcutils",
|
||||
],
|
||||
export_shared_lib_headers: [
|
||||
"libhidlbase",
|
||||
"libhidltransport",
|
||||
"libhwbinder",
|
||||
"libutils",
|
||||
],
|
||||
}
|
58
android/system/hardware/interfaces/net/netd/1.0/INetd.hal
Normal file
58
android/system/hardware/interfaces/net/netd/1.0/INetd.hal
Normal file
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* Copyright 2017 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.
|
||||
*/
|
||||
|
||||
package android.system.net.netd@1.0;
|
||||
|
||||
/**
|
||||
* This is the root of the HAL module and is the interface returned when
|
||||
* loading an implementation of the INetd HAL.
|
||||
*/
|
||||
interface INetd {
|
||||
/**
|
||||
* Return values for INetd requests
|
||||
*/
|
||||
enum StatusCode : int32_t {
|
||||
OK,
|
||||
INVALID_ARGUMENTS,
|
||||
NO_NETWORK,
|
||||
ALREADY_EXISTS,
|
||||
PERMISSION_DENIED,
|
||||
UNKNOWN_ERROR
|
||||
};
|
||||
|
||||
/**
|
||||
* Creates a physical network to be used for interfaces managed by the OEM
|
||||
*
|
||||
* @return networkHandle a handle to the OEM network. Zero implies
|
||||
* no networks are available and created
|
||||
* @return packetMark The packet mark that vendor network stack configuration code must use when
|
||||
* routing packets to this network. No applications may use this mark. They must
|
||||
* instead pass the networkHandle to the android_set*network LL-NDK APIs.
|
||||
* @return status operation status
|
||||
*/
|
||||
@entry
|
||||
@callflow(next={"*"})
|
||||
createOemNetwork() generates (uint64_t networkHandle, uint32_t packetMark, StatusCode status);
|
||||
|
||||
/**
|
||||
* Destroys the specified network previously created using createOemNetwork()
|
||||
*
|
||||
* @return status operation status
|
||||
*/
|
||||
@exit
|
||||
@callflow(next="createOemNetwork")
|
||||
destroyOemNetwork(uint64_t networkHandle) generates (StatusCode status);
|
||||
};
|
|
@ -0,0 +1,18 @@
|
|||
cc_test {
|
||||
name: "VtsHalNetNetdV1_0TargetTest",
|
||||
srcs: [
|
||||
"VtsHalNetNetdV1_0TargetTest.cpp",
|
||||
],
|
||||
shared_libs: [
|
||||
"liblog",
|
||||
"libhidlbase",
|
||||
"libhidltransport",
|
||||
"libutils",
|
||||
"android.system.net.netd@1.0",
|
||||
],
|
||||
static_libs: ["VtsHalHidlTargetTestBase"],
|
||||
cflags: [
|
||||
"-O0",
|
||||
"-g",
|
||||
],
|
||||
}
|
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
* Copyright 2017 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.
|
||||
*/
|
||||
|
||||
#define LOG_TAG "netd_hidl_test"
|
||||
|
||||
#include <VtsHalHidlTargetTestBase.h>
|
||||
#include <android/system/net/netd/1.0/INetd.h>
|
||||
#include <log/log.h>
|
||||
|
||||
using ::android::system::net::netd::V1_0::INetd;
|
||||
using ::android::hardware::Return;
|
||||
using ::android::sp;
|
||||
|
||||
class NetdHidlTest : public ::testing::VtsHalHidlTargetTestBase {
|
||||
public:
|
||||
virtual void SetUp() override {
|
||||
netd = ::testing::VtsHalHidlTargetTestBase::getService<INetd>();
|
||||
ASSERT_NE(nullptr, netd.get()) << "Could not get HIDL instance";
|
||||
}
|
||||
|
||||
sp<INetd> netd;
|
||||
};
|
||||
|
||||
// positive test. Ensure netd creates an oem network and returns valid netHandle, and destroys it.
|
||||
TEST_F(NetdHidlTest, TestCreateAndDestroyOemNetworkOk) {
|
||||
auto cb = [this](uint64_t netHandle, uint32_t packetMark, INetd::StatusCode status) {
|
||||
ASSERT_EQ(INetd::StatusCode::OK, status);
|
||||
ASSERT_NE((uint64_t)0, netHandle);
|
||||
ASSERT_NE((uint32_t)0, packetMark);
|
||||
|
||||
Return<INetd::StatusCode> retStatus = netd->destroyOemNetwork(netHandle);
|
||||
ASSERT_EQ(INetd::StatusCode::OK, retStatus);
|
||||
};
|
||||
|
||||
Return<void> ret = netd->createOemNetwork(cb);
|
||||
ASSERT_TRUE(ret.isOk());
|
||||
}
|
||||
|
||||
// negative test. Ensure destroy for invalid OEM network fails appropriately
|
||||
TEST_F(NetdHidlTest, TestDestroyOemNetworkInvalid) {
|
||||
const uint64_t nh = 0x6600FACADE;
|
||||
|
||||
Return<INetd::StatusCode> retStatus = netd->destroyOemNetwork(nh);
|
||||
ASSERT_EQ(INetd::StatusCode::INVALID_ARGUMENTS, retStatus);
|
||||
}
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
int status = RUN_ALL_TESTS();
|
||||
ALOGE("Test result with status=%d", status);
|
||||
return status;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue