forked from php/pecl-caching-wincache
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwincache_detours.h
61 lines (55 loc) · 3.99 KB
/
wincache_detours.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*
+----------------------------------------------------------------------------------------------+
| Windows Cache for PHP |
+----------------------------------------------------------------------------------------------+
| Copyright (c) 2009, Microsoft Corporation. All rights reserved. |
| |
| Redistribution and use in source and binary forms, with or without modification, are |
| permitted provided that the following conditions are met: |
| - Redistributions of source code must retain the above copyright notice, this list of |
| conditions and the following disclaimer. |
| - Redistributions in binary form must reproduce the above copyright notice, this list of |
| conditions and the following disclaimer in the documentation and/or other materials provided |
| with the distribution. |
| - Neither the name of the Microsoft Corporation nor the names of its contributors may be |
| used to endorse or promote products derived from this software without specific prior written|
| permission. |
| |
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS |
| OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
| MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
| COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
| EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE|
| GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
| AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
| NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED |
| OF THE POSSIBILITY OF SUCH DAMAGE. |
+----------------------------------------------------------------------------------------------+
| Module: wincache_detours.h |
+----------------------------------------------------------------------------------------------+
| Author: Kanwaljeet Singla <[email protected]> |
+----------------------------------------------------------------------------------------------+
*/
#ifndef _WINCACHE_DETOURS_H_
#define _WINCACHE_DETOURS_H_
typedef struct fnroute_element fnroute_element;
struct fnroute_element
{
int acount; /* Number of arguments handled by reroute */
char * rtname; /* Routed function name */
};
typedef struct detours_context detours_context;
struct detours_context
{
char * inifile; /* Ini file containing mappings */
HashTable * fnroutes; /* Function reroutes */
/* Class reroutes are almost impossible */
};
extern int detours_create(detours_context ** ppdetours);
extern void detours_destroy(detours_context * pdetours);
extern int detours_initialize(detours_context * pdetours, char * inifile);
extern void detours_terminate(detours_context * pdetours);
extern int detours_check(detours_context * pdetours, char * oname, int evalue, char ** rname);
extern int detours_getinfo(detours_context * pdetours, HashTable ** pphtable);
extern void detours_freeinfo(HashTable * phtable);
#endif /* _WINCACHE_DETOURS_H_ */