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
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
57/^static|^extern/ || /[;]/ {
58  next;
59}
60
61!/^[A-Za-z][A-Za-z0-9_]* / {
62  next;
63}
64
65/[(].*[)][ \t]*$/ {
66    printf "%s;\n",$0;
67    next;
68}
69
70/[(]/ {
71  inheader=1;
72  printf "%s\n",$0;
73  next;
74}
75