blob: 2f7f41853a9379852c846dc1fdd0968c47013fe6 (
plain)
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
62
63
64
|
#!/usr/bin/env python
#
# regenerate ioctl_table.h
#
import sys
import os
result = os.popen( 'find /usr/include -name "*.h" |xargs grep -h SIOC|grep 0x' ).readlines()
try:
tablehfile = file( sys.argv[1]+".h", "w" )
except:
tablehfile = sys.stdout
try:
tablecfile = file( sys.argv[1]+".cpp", "w" )
except:
tablecfile = sys.stdout
print >>tablehfile,"""
/*
* ioctl table - generated by regen.py - (C) Michael 'Mickey' Lauer <mickey@vanille.de>
*/
#ifndef IOCTLMAP_H
#define IOCTLMAP_H
#include <qstring.h>
#include <qintdict.h>
typedef QIntDict<QString> IntStringMap;
IntStringMap* constructIoctlMap();
#endif
"""
print >>tablecfile,"""
/*
* ioctl table - generated by regen.py - (C) Michael 'Mickey' Lauer <mickey@vanille.de>
*/
#include "%s"
IntStringMap* constructIoctlMap()
{
\tIntStringMap* map = new IntStringMap();
""" % (tablehfile.name)
for line in result:
l = line.split()
if not l[0].startswith( "#define" ) or not l[2].startswith( "0x" ):
print >>sys.stderr, "can't parse line: %s" % l
continue
#print >>tablecfile, "\tqDebug( \"adding %s = %s\" );" % ( l[2], l[1] )
print >>tablecfile, "\tmap->insert( %s, new QString(\"%s\") );" % ( l[2], l[1] )
print >>tablecfile,"""
\treturn map;
};
"""
|