Statistics
| Branch: | Revision:

root / scripts / tracetool / format / events_c.py @ 45be2f5d

History | View | Annotate | Download (999 Bytes)

1
#!/usr/bin/env python
2
# -*- coding: utf-8 -*-
3

    
4
"""
5
Generate .c for event description.
6
"""
7

    
8
__author__     = "Lluís Vilanova <vilanova@ac.upc.edu>"
9
__copyright__  = "Copyright 2012, Lluís Vilanova <vilanova@ac.upc.edu>"
10
__license__    = "GPL version 2 or (at your option) any later version"
11

    
12
__maintainer__ = "Stefan Hajnoczi"
13
__email__      = "stefanha@linux.vnet.ibm.com"
14

    
15

    
16
from tracetool import out
17

    
18

    
19
def begin(events):
20
    out('/* This file is autogenerated by tracetool, do not edit. */',
21
        '',
22
        '#include "trace.h"',
23
        '#include "trace/generated-events.h"',
24
        '#include "trace/control.h"',
25
        '',
26
        )
27

    
28
    out('TraceEvent trace_events[TRACE_EVENT_COUNT] = {')
29

    
30
    for e in events:
31
        out('    { .id = %(id)s, .name = \"%(name)s\", .sstate = %(sstate)s, .dstate = 0 },',
32
            id = "TRACE_" + e.name.upper(),
33
            name = e.name,
34
            sstate = "TRACE_%s_ENABLED" % e.name.upper(),
35
            )
36

    
37
    out('};',
38
        '',
39
        )