1 | /*
|
---|
2 | * Copyright © 2008 Jérôme Glisse
|
---|
3 | * All Rights Reserved.
|
---|
4 | *
|
---|
5 | * Permission is hereby granted, free of charge, to any person obtaining
|
---|
6 | * a copy of this software and associated documentation files (the
|
---|
7 | * "Software"), to deal in the Software without restriction, including
|
---|
8 | * without limitation the rights to use, copy, modify, merge, publish,
|
---|
9 | * distribute, sub license, and/or sell copies of the Software, and to
|
---|
10 | * permit persons to whom the Software is furnished to do so, subject to
|
---|
11 | * the following conditions:
|
---|
12 | *
|
---|
13 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
---|
14 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
---|
15 | * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
---|
16 | * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS
|
---|
17 | * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
---|
18 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
---|
19 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
---|
20 | * USE OR OTHER DEALINGS IN THE SOFTWARE.
|
---|
21 | *
|
---|
22 | * The above copyright notice and this permission notice (including the
|
---|
23 | * next paragraph) shall be included in all copies or substantial portions
|
---|
24 | * of the Software.
|
---|
25 | */
|
---|
26 | /*
|
---|
27 | * Authors:
|
---|
28 | * Jérôme Glisse <[email protected]>
|
---|
29 | */
|
---|
30 | #ifndef RADEON_TRACK_H
|
---|
31 | #define RADEON_TRACK_H
|
---|
32 |
|
---|
33 | struct radeon_track_event {
|
---|
34 | struct radeon_track_event *next;
|
---|
35 | char *file;
|
---|
36 | char *func;
|
---|
37 | char *op;
|
---|
38 | unsigned line;
|
---|
39 | };
|
---|
40 |
|
---|
41 | struct radeon_track {
|
---|
42 | struct radeon_track *next;
|
---|
43 | struct radeon_track *prev;
|
---|
44 | unsigned key;
|
---|
45 | struct radeon_track_event *events;
|
---|
46 | };
|
---|
47 |
|
---|
48 | struct radeon_tracker {
|
---|
49 | struct radeon_track tracks;
|
---|
50 | };
|
---|
51 |
|
---|
52 | void radeon_track_add_event(struct radeon_track *track,
|
---|
53 | const char *file,
|
---|
54 | const char *func,
|
---|
55 | const char *op,
|
---|
56 | unsigned line);
|
---|
57 | struct radeon_track *radeon_tracker_add_track(struct radeon_tracker *tracker,
|
---|
58 | unsigned key);
|
---|
59 | void radeon_tracker_remove_track(struct radeon_tracker *tracker,
|
---|
60 | struct radeon_track *track);
|
---|
61 | void radeon_tracker_print(struct radeon_tracker *tracker,
|
---|
62 | FILE *file);
|
---|
63 |
|
---|
64 | #endif
|
---|