1//===-- sanitizer_win_interception.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// Windows-specific export surface to provide interception for parts of the
10// runtime that are always statically linked, both for overriding user-defined
11// functions as well as registering weak functions that the ASAN runtime should
12// use over defaults.
13//
14//===----------------------------------------------------------------------===//
15
16#ifndef SANITIZER_WIN_INTERCEPTION_H
17#define SANITIZER_WIN_INTERCEPTION_H
18
19#include "sanitizer_platform.h"
20#if SANITIZER_WINDOWS
21
22# include "sanitizer_common.h"
23# include "sanitizer_internal_defs.h"
24
25namespace __sanitizer {
26using RegisterWeakFunctionCallback = void (*)();
27void AddRegisterWeakFunctionCallback(uptr export_address,
28 RegisterWeakFunctionCallback cb);
29} // namespace __sanitizer
30
31#endif // SANITIZER_WINDOWS
32#endif // SANITIZER_WIN_INTERCEPTION_H