1//===-- msan_chained_origin_depot.h --------------------------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// A storage for chained origins.
10//===----------------------------------------------------------------------===//
11#ifndef MSAN_CHAINED_ORIGIN_DEPOT_H
12#define MSAN_CHAINED_ORIGIN_DEPOT_H
13
14#include "sanitizer_common/sanitizer_common.h"
15
16namespace __msan {
17
18StackDepotStats *ChainedOriginDepotGetStats();
19bool ChainedOriginDepotPut(u32 here_id, u32 prev_id, u32 *new_id);
20// Retrieves a stored stack trace by the id.
21u32 ChainedOriginDepotGet(u32 id, u32 *other);
22
23void ChainedOriginDepotLockAll();
24void ChainedOriginDepotUnlockAll();
25
26}  // namespace __msan
27
28#endif  // MSAN_CHAINED_ORIGIN_DEPOT_H
29