1 : // Copyright 2014 Google Inc. All Rights Reserved.
2 : //
3 : // Licensed under the Apache License, Version 2.0 (the "License");
4 : // you may not use this file except in compliance with the License.
5 : // You may obtain a copy of the License at
6 : //
7 : // http://www.apache.org/licenses/LICENSE-2.0
8 : //
9 : // Unless required by applicable law or agreed to in writing, software
10 : // distributed under the License is distributed on an "AS IS" BASIS,
11 : // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 : // See the License for the specific language governing permissions and
13 : // limitations under the License.
14 : //
15 : // Defines the Asan CRT interceptors.
16 : #ifndef SYZYGY_AGENT_ASAN_ASAN_CRT_INTERCEPTORS_H_
17 : #define SYZYGY_AGENT_ASAN_ASAN_CRT_INTERCEPTORS_H_
18 :
19 : // Exposes the CRT interceptors.
20 m : extern "C" {
21 :
22 m : void* __cdecl asan_memcpy(unsigned char* destination,
23 m : const unsigned char* source,
24 m : size_t num);
25 :
26 m : void* __cdecl asan_memmove(unsigned char* destination,
27 m : const unsigned char* source,
28 m : size_t num);
29 :
30 m : void* __cdecl asan_memset(unsigned char* ptr, int value, size_t num);
31 :
32 m : const void* __cdecl asan_memchr(const unsigned char* ptr,
33 m : int value,
34 m : size_t num);
35 :
36 m : size_t __cdecl asan_strcspn(const char* str1, const char* str2);
37 :
38 m : size_t __cdecl asan_strlen(const char* str);
39 :
40 m : const char* __cdecl asan_strrchr(const char* str, int character);
41 :
42 m : const wchar_t* asan_wcsrchr(const wchar_t* str, wchar_t character);
43 :
44 m : const wchar_t* asan_wcschr(const wchar_t* str, wchar_t character);
45 :
46 m : int __cdecl asan_strcmp(const char* str1, const char* str2);
47 :
48 m : const char* __cdecl asan_strpbrk(const char* str1, const char* str2);
49 :
50 m : const char* __cdecl asan_strstr(const char* str1, const char* str2);
51 :
52 m : const wchar_t* asan_wcsstr(const wchar_t* str, const wchar_t* keys);
53 :
54 m : size_t __cdecl asan_strspn(const char* str1, const char* str2);
55 :
56 m : char* __cdecl asan_strncpy(char* destination, const char* source, size_t num);
57 :
58 m : char* __cdecl asan_strncat(char* destination, const char* source, size_t num);
59 :
60 m : } // extern "C"
61 :
62 : #endif // SYZYGY_AGENT_ASAN_ASAN_CRT_INTERCEPTORS_H_
|