| //===--- rtsan_diagnostics.h - Realtime Sanitizer ---------------*- C++ -*-===// | 
 | // | 
 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | 
 | // See https://llvm.org/LICENSE.txt for license information. | 
 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | 
 | // | 
 | //===----------------------------------------------------------------------===// | 
 | // | 
 | // Part of the RealtimeSanitizer runtime library | 
 | // | 
 | //===----------------------------------------------------------------------===// | 
 |  | 
 | #pragma once | 
 |  | 
 | #include "sanitizer_common/sanitizer_common.h" | 
 | #include "sanitizer_common/sanitizer_internal_defs.h" | 
 |  | 
 | namespace __rtsan { | 
 |  | 
 | enum class DiagnosticsInfoType { | 
 |   InterceptedCall, | 
 |   BlockingCall, | 
 | }; | 
 |  | 
 | struct DiagnosticsInfo { | 
 |   DiagnosticsInfoType type; | 
 |   const char *func_name; | 
 |   __sanitizer::uptr pc; | 
 |   __sanitizer::uptr bp; | 
 | }; | 
 |  | 
 | void PrintDiagnostics(const DiagnosticsInfo &info); | 
 | void PrintErrorSummary(const DiagnosticsInfo &info, | 
 |                        const __sanitizer::BufferedStackTrace &stack); | 
 | } // namespace __rtsan |