asan_interceptors.h revision 69563986ca570ce750111a82264d51ddbf4107ba
1//===-- asan_interceptors.h -------------------------------------*- C++ -*-===//
2//
3//                     The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file is a part of AddressSanitizer, an address sanity checker.
11//
12// ASan-private header for asan_interceptors.cc
13//===----------------------------------------------------------------------===//
14#ifndef ASAN_INTERCEPTORS_H
15#define ASAN_INTERCEPTORS_H
16
17#include "asan_internal.h"
18#include "interception/interception.h"
19
20DECLARE_REAL(int, memcmp, const void *a1, const void *a2, uptr size)
21DECLARE_REAL(void*, memcpy, void *to, const void *from, uptr size)
22DECLARE_REAL(void*, memset, void *block, int c, uptr size)
23DECLARE_REAL(char*, strchr, const char *str, int c)
24DECLARE_REAL(uptr, strlen, const char *s)
25DECLARE_REAL(char*, strncpy, char *to, const char *from, uptr size)
26DECLARE_REAL(uptr, strnlen, const char *s, uptr maxlen)
27DECLARE_REAL(char*, strstr, const char *s1, const char *s2)
28struct sigaction;
29DECLARE_REAL(int, sigaction, int signum, const struct sigaction *act,
30                             struct sigaction *oldact)
31
32namespace __asan {
33
34void InitializeAsanInterceptors();
35
36}  // namespace __asan
37
38#endif  // ASAN_INTERCEPTORS_H
39