1*6777b538SAndroid Build Coastguard Worker // Copyright 2021 The Chromium Authors 2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be 3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file. 4*6777b538SAndroid Build Coastguard Worker 5*6777b538SAndroid Build Coastguard Worker #ifndef BASE_FUCHSIA_KOID_H_ 6*6777b538SAndroid Build Coastguard Worker #define BASE_FUCHSIA_KOID_H_ 7*6777b538SAndroid Build Coastguard Worker 8*6777b538SAndroid Build Coastguard Worker #include <lib/zx/object.h> 9*6777b538SAndroid Build Coastguard Worker #include <zircon/types.h> 10*6777b538SAndroid Build Coastguard Worker 11*6777b538SAndroid Build Coastguard Worker #include <optional> 12*6777b538SAndroid Build Coastguard Worker 13*6777b538SAndroid Build Coastguard Worker #include "base/base_export.h" 14*6777b538SAndroid Build Coastguard Worker 15*6777b538SAndroid Build Coastguard Worker namespace base { 16*6777b538SAndroid Build Coastguard Worker 17*6777b538SAndroid Build Coastguard Worker // Returns the Kernel Object IDentifier for the object referred to by |handle|, 18*6777b538SAndroid Build Coastguard Worker // if it is valid. 19*6777b538SAndroid Build Coastguard Worker BASE_EXPORT std::optional<zx_koid_t> GetKoid(const zx::object_base& handle); 20*6777b538SAndroid Build Coastguard Worker 21*6777b538SAndroid Build Coastguard Worker // Returns the Kernel Object IDentifier for the peer of the paired object (i.e. 22*6777b538SAndroid Build Coastguard Worker // a channel, socket, eventpair, etc) referred to by |handle|. 23*6777b538SAndroid Build Coastguard Worker BASE_EXPORT std::optional<zx_koid_t> GetRelatedKoid( 24*6777b538SAndroid Build Coastguard Worker const zx::object_base& handle); 25*6777b538SAndroid Build Coastguard Worker 26*6777b538SAndroid Build Coastguard Worker } // namespace base 27*6777b538SAndroid Build Coastguard Worker 28*6777b538SAndroid Build Coastguard Worker #endif // BASE_FUCHSIA_KOID_H_ 29