- Updated the address for the FSF in the opening comment.
[rsync/rsync.git] / mkproto.awk
CommitLineData
c627d613
AT
1# generate prototypes for Samba C code
2# tridge, June 1996
3
4BEGIN {
5 inheader=0;
6 print "/* This file is automatically generated with \"make proto\". DO NOT EDIT */"
7 print ""
8}
9
10{
11 if (inheader) {
12 if (match($0,"[)][ \t]*$")) {
13 inheader = 0;
14 printf "%s;\n",$0;
15 } else {
16 printf "%s\n",$0;
17 }
18 next;
19 }
20}
21
f0fca04e
AT
22/^FN_LOCAL_BOOL/ {
23 split($0,a,"[,()]")
24 printf "BOOL %s(int );\n", a[2]
25}
26
27/^FN_LOCAL_STRING/ {
28 split($0,a,"[,()]")
29 printf "char *%s(int );\n", a[2]
30}
31
32/^FN_LOCAL_INT/ {
33 split($0,a,"[,()]")
34 printf "int %s(int );\n", a[2]
35}
36
37/^FN_LOCAL_CHAR/ {
38 split($0,a,"[,()]")
39 printf "char %s(int );\n", a[2]
40}
41
42/^FN_GLOBAL_BOOL/ {
43 split($0,a,"[,()]")
44 printf "BOOL %s(void);\n", a[2]
45}
46
47/^FN_GLOBAL_STRING/ {
48 split($0,a,"[,()]")
49 printf "char *%s(void);\n", a[2]
50}
51
52/^FN_GLOBAL_INT/ {
53 split($0,a,"[,()]")
54 printf "int %s(void);\n", a[2]
55}
56
c627d613
AT
57/^static|^extern/ || !/^[a-zA-Z]/ || /[;]/ {
58 next;
59}
60
f5cbae93 61!/^OFF_T|^size_t|^off_t|^pid_t|^unsigned|^mode_t|^DIR|^user|^int|^char|^uint|^uchar|^short|^struct|^BOOL|^void|^time|^const|^RETSIGTYPE/ {
c627d613
AT
62 next;
63}
64
65
66/[(].*[)][ \t]*$/ {
67 printf "%s;\n",$0;
68 next;
69}
70
71/[(]/ {
72 inheader=1;
73 printf "%s\n",$0;
74 next;
75}
76