blob: 31fad85c64157728958348930a4eae85b377782e [file] [log] [blame]
Phil Howardaee4f5d2016-02-28 09:54:53 +00001HEADERS = [
2"WiringPi/wiringPi/wiringPi.h",
3"WiringPi/wiringPi/wiringPiI2C.h",
4"WiringPi/wiringPi/wiringPiSPI.h",
5"WiringPi/wiringPi/wiringSerial.h",
6"WiringPi/wiringPi/wiringShift.h",
7"WiringPi/wiringPi/wpiExtensions.h",
8
9"WiringPi/wiringPi/drcSerial.h",
10"WiringPi/wiringPi/max31855.h",
11"WiringPi/wiringPi/max5322.h",
12"WiringPi/wiringPi/mcp23008.h",
13"WiringPi/wiringPi/mcp23016.h",
14"WiringPi/wiringPi/mcp23016reg.h",
15"WiringPi/wiringPi/mcp23017.h",
16"WiringPi/wiringPi/mcp23s08.h",
17"WiringPi/wiringPi/mcp23s17.h",
18"WiringPi/wiringPi/mcp23x0817.h",
19"WiringPi/wiringPi/mcp23x08.h",
20"WiringPi/wiringPi/mcp3002.h",
21"WiringPi/wiringPi/mcp3004.h",
22"WiringPi/wiringPi/mcp3422.h",
23"WiringPi/wiringPi/mcp4802.h",
24"WiringPi/wiringPi/pcf8574.h",
25"WiringPi/wiringPi/pcf8591.h",
26"WiringPi/wiringPi/sn3218.h",
27"WiringPi/wiringPi/softPwm.h",
28"WiringPi/wiringPi/softServo.h",
29"WiringPi/wiringPi/softTone.h",
30"WiringPi/wiringPi/sr595.h",
31
32"WiringPi/devLib/ds1302.h",
33"WiringPi/devLib/font.h",
34"WiringPi/devLib/gertboard.h",
35"WiringPi/devLib/lcd128x64.h",
36"WiringPi/devLib/lcd.h",
37"WiringPi/devLib/maxdetect.h",
38"WiringPi/devLib/piFace.h",
39"WiringPi/devLib/piGlow.h",
40"WiringPi/devLib/piNes.h"
41]
42def is_c_decl(line):
43 if "wiringPiISR" in line:
44 return False
45 for prefix in ['extern','void','int','uint8_t']:
46 if line.startswith(prefix):
47 return True
48
49for file in HEADERS:
50 print("\n// Header file {}".format(file))
51 h = open(file).read().split('\n')
52 extern = False
53 cont = False
54 if 'extern "C" {' not in h:
55 extern = True
56 for line in h:
57 line = line.strip()
58 if cont:
59 print("\t{}".format(line))
60 cont = ";" not in line
61 continue
62 if line.startswith('extern "C"'):
63 extern = True
64 continue
65 if is_c_decl(line) and extern:
66 print(line)
67 cont = ";" not in line