diff options
Diffstat (limited to 'libs/binder/RpcState.h')
-rw-r--r-- | libs/binder/RpcState.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/binder/RpcState.h b/libs/binder/RpcState.h index 9cbe187444..08a314ebef 100644 --- a/libs/binder/RpcState.h +++ b/libs/binder/RpcState.h @@ -181,7 +181,9 @@ private: [[nodiscard]] status_t rpcSend( const sp<RpcSession::RpcConnection>& connection, const sp<RpcSession>& session, const char* what, iovec* iovs, int niovs, - const std::optional<android::base::function_ref<status_t()>>& altPoll); + const std::optional<android::base::function_ref<status_t()>>& altPoll, + const std::vector<std::variant<base::unique_fd, base::borrowed_fd>>* ancillaryFds = + nullptr); [[nodiscard]] status_t rpcRec(const sp<RpcSession::RpcConnection>& connection, const sp<RpcSession>& session, const char* what, iovec* iovs, int niovs); @@ -201,6 +203,10 @@ private: const sp<RpcSession>& session, const RpcWireHeader& command); + // Whether `parcel` is compatible with `session`. + [[nodiscard]] static status_t validateParcel(const sp<RpcSession>& session, + const Parcel& parcel, std::string* errorMsg); + struct BinderNode { // Two cases: // A - local binder we are serving |