]> git.cworth.org Git - apitrace/blob - log.hpp
First stab at binary trace and retracing.
[apitrace] / log.hpp
1 /**************************************************************************
2  *
3  * Copyright 2007-2010 VMware, Inc.
4  * All Rights Reserved.
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a copy
7  * of this software and associated documentation files (the "Software"), to deal
8  * in the Software without restriction, including without limitation the rights
9  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10  * copies of the Software, and to permit persons to whom the Software is
11  * furnished to do so, subject to the following conditions:
12  *
13  * The above copyright notice and this permission notice shall be included in
14  * all copies or substantial portions of the Software.
15  *
16  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22  * THE SOFTWARE.
23  *
24  **************************************************************************/
25
26 #ifndef _LOG_HPP_
27 #define _LOG_HPP_
28
29 namespace Log {
30
31     void Open(const char *name);
32     void Close(void);
33     
34     void BeginCall(const char *function);
35     void EndCall(void);
36     
37     void BeginArg(const char *type, const char *name);
38     void EndArg(void);
39
40     void BeginReturn(const char *type);
41     void EndReturn(void);
42
43     void BeginArray(const char *type, size_t length);
44     void EndArray(void);
45
46     void BeginElement(const char *type);
47     void EndElement(void);
48
49     void BeginStruct(const char *type);
50     void EndStruct(void);
51
52     void BeginMember(const char *type, const char *name);
53     void EndMember(void);
54
55     void BeginBitmask(const char *type);
56     void EndBitmask(void);
57
58     void BeginPointer(const char *type, const void *addr);
59     void EndPointer(void);
60
61     void LiteralBool(bool value);
62     void LiteralSInt(signed long long value);
63     void LiteralUInt(unsigned long long value);
64     void LiteralFloat(float value);
65     void LiteralFloat(double value);
66     void LiteralString(const char *str);
67     void LiteralWString(const wchar_t *str);
68     void LiteralNamedConstant(const char *name, long long value);
69     void LiteralNull(void);
70     void LiteralOpaque(void);
71 }
72
73 #endif /* _LOG_HPP_ */