diff options
-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 f0ea237ee8..703ceaed54 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" @@ -645,4 +646,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 |