We omit copying any user-space rsync.%FOO attributes unless the
[rsync/rsync.git] / mkproto.awk
index 0e3f5bf..6a46c46 100644 (file)
@@ -19,14 +19,48 @@ BEGIN {
   }
 }
 
-/^static|^extern/ || !/^[a-zA-Z]/ || /[;]/ {
-  next;
+/^FN_LOCAL_BOOL/ {
+  split($0,a,"[,()]")
+  printf "BOOL %s(int );\n", a[2]
+}
+
+/^FN_LOCAL_STRING/ {
+  split($0,a,"[,()]")
+  printf "char *%s(int );\n", a[2]
+}
+
+/^FN_LOCAL_INT/ {
+  split($0,a,"[,()]")
+  printf "int %s(int );\n", a[2]
+}
+
+/^FN_LOCAL_CHAR/ {
+  split($0,a,"[,()]")
+  printf "char %s(int );\n", a[2]
+}
+
+/^FN_GLOBAL_BOOL/ {
+  split($0,a,"[,()]")
+  printf "BOOL %s(void);\n", a[2]
+}
+
+/^FN_GLOBAL_STRING/ {
+  split($0,a,"[,()]")
+  printf "char *%s(void);\n", a[2]
+}
+
+/^FN_GLOBAL_INT/ {
+  split($0,a,"[,()]")
+  printf "int %s(void);\n", a[2]
 }
 
-!/^OFF_T|^off_t|^pid_t|^unsigned|^mode_t|^DIR|^user|^int|^char|^uint|^struct|^BOOL|^void|^time/ {
+/^static|^extern/ || /[;]/ {
   next;
 }
 
+!/^[A-Za-z][A-Za-z0-9_]* / {
+  next;
+}
 
 /[(].*[)][ \t]*$/ {
     printf "%s;\n",$0;
@@ -38,4 +72,3 @@ BEGIN {
   printf "%s\n",$0;
   next;
 }
-