master
 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