Use the GEN silent rule when generating oid database with perl
[strongswan.git] / src / libstrongswan / asn1 / oid.pl
index a3725e5..82100e8 100644 (file)
@@ -1,6 +1,8 @@
 #!/usr/bin/perl
 # Generates oid.h and oid.c out of oid.txt
-# Copyright (C) 2003-2004 Andreas Steffen, Zuercher Hochschule Winterthur
+#
+# Copyright (C) 2003-2008 Andreas Steffen
+# Hochschule fuer Technik Rapperswil
 #
 # This program is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by the
 # for more details.
 #
 
-$copyright="Copyright (C) 2003-2004 Andreas Steffen, Zuercher Hochschule Winterthur";
+$copyright="Copyright (C) 2003-2008 Andreas Steffen, Hochschule fuer Technik Rapperswil";
 $automatic="This file has been automatically generated by the script oid.pl";
 $warning="Do not edit manually!";
 
-print "oid.pl generating oid.h and oid.c\n";
-
 # Generate oid.h
 
 open(OID_H,  ">oid.h")
     or die "could not open 'oid.h': $!";
 
-print OID_H "/* Object identifiers (OIDs) used by FreeS/WAN\n",
+print OID_H "/* Object identifiers (OIDs) used by strongSwan\n",
            " * ", $copyright, "\n",
            " * \n",
            " * ", $automatic, "\n",
            " * ", $warning, "\n",
            " */\n\n",
+           "#include <sys/types.h>\n\n",
            "#ifndef OID_H_\n",
            "#define OID_H_\n\n",
            "typedef struct {\n",
            "    u_char octet;\n",
            "    u_int  next;\n",
            "    u_int  down;\n",
+           "    u_int  level;\n",
            "    const u_char *name;\n",
            "} oid_t;\n",
            "\n",
             "extern const oid_t oid_names[];\n",
            "\n",
-           "#define OID_UNKNOWN                        -1\n";
+           "#define OID_UNKNOWN                                                        -1\n";
 
 # parse oid.txt
 
@@ -70,11 +72,13 @@ while ($line = <SRC>)
     }
     if (length($4) > 0)
     {
-       printf OID_H "#define %s%s%d\n", $4, "\t" x ((39-length($4))/8), $counter;
+       printf OID_H "#define %s%s%d\n", $4, "\t" x ((39-length($4))/4), $counter;
     }
     $counter++;
 }
 
+printf OID_H "\n#define OID_MAX%s%d\n", "\t" x 8, $counter;
+
 print OID_H "\n#endif /* OID_H_ */\n";
 
 close SRC;
@@ -111,12 +115,13 @@ for ($c = 0; $c < $counter; $c++)
        }
     }
 
-    printf OID_C "  {%s%s,%s%3d, %d, %s%s}%s  /* %3d */\n"
+    printf OID_C " {%s%s,%s%3d, %d, %2d, %s%s}%s /* %3d */\n"
        ,' '  x @order[$c]
        , @octet[$c]
        , ' ' x (1 + $max_order - @order[$c])
        , @next[$c]
        , @order[$c+1] > @order[$c]
+       , @order[$c] / 2
        , @name[$c]
        , ' ' x ($max_name - length(@name[$c]))
        , $c != $counter-1 ? "," : " "