diff options
author | 2020-02-14 13:56:19 -0800 | |
---|---|---|
committer | 2020-02-14 14:19:48 -0800 | |
commit | 79fb24b182522bce4decf4618a2f97b5d92b58ed (patch) | |
tree | 03577ad83e42949351d98914e9e934975cbac7ba | |
parent | 27b827f6e3cd933e99c535d2d5803a72140b473e (diff) |
Add AParcel_getAllowFds()
Currently platform-only until things stabilize
Bug: 145227478
Test: builds
Change-Id: I86ed825c33d1d8d63ee9450a0f6f9ea90d9772cf
-rw-r--r-- | libs/binder/ndk/include_platform/android/binder_parcel_platform.h | 32 | ||||
-rw-r--r-- | libs/binder/ndk/libbinder_ndk.map.txt | 5 | ||||
-rw-r--r-- | libs/binder/ndk/parcel.cpp | 5 |
3 files changed, 42 insertions, 0 deletions
diff --git a/libs/binder/ndk/include_platform/android/binder_parcel_platform.h b/libs/binder/ndk/include_platform/android/binder_parcel_platform.h new file mode 100644 index 0000000000..ac46cb80f4 --- /dev/null +++ b/libs/binder/ndk/include_platform/android/binder_parcel_platform.h @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2020 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. + */ + +#pragma once + +#include <android/binder_parcel.h> + +__BEGIN_DECLS + +/** + * Gets whether or not FDs are allowed by this AParcel + * + * \return true if FDs are allowed, false if they are not. That is + * if this returns false then AParcel_writeParcelFileDescriptor will + * return STATUS_FDS_NOT_ALLOWED. + */ +bool AParcel_getAllowFds(const AParcel*); + +__END_DECLS
\ No newline at end of file diff --git a/libs/binder/ndk/libbinder_ndk.map.txt b/libs/binder/ndk/libbinder_ndk.map.txt index 7e72f22d64..a9eba47380 100644 --- a/libs/binder/ndk/libbinder_ndk.map.txt +++ b/libs/binder/ndk/libbinder_ndk.map.txt @@ -114,3 +114,8 @@ LIBBINDER_NDK30 { # introduced=30 local: *; }; + +LIBBINDER_NDK_PLATFORM { + global: + AParcel_getAllowFds; +}; diff --git a/libs/binder/ndk/parcel.cpp b/libs/binder/ndk/parcel.cpp index f18e118bc9..267728e3b4 100644 --- a/libs/binder/ndk/parcel.cpp +++ b/libs/binder/ndk/parcel.cpp @@ -15,6 +15,7 @@ */ #include <android/binder_parcel.h> +#include <android/binder_parcel_platform.h> #include "parcel_internal.h" #include "ibinder_internal.h" @@ -650,4 +651,8 @@ binder_status_t AParcel_readByteArray(const AParcel* parcel, void* arrayData, return ReadArray<int8_t>(parcel, arrayData, allocator); } +bool AParcel_getAllowFds(const AParcel* parcel) { + return parcel->get()->allowFds(); +} + // @END |