#!/usr/bin/perl

use warnings;
use strict;

use utf8;
use open qw(:std utf8);

@ARGV = <include/mbedtls/*.h>;

my @consts;
my $state = 'out';
while (<>)
{
    if( $state eq 'out' and /^(typedef )?enum {/ ) {
        $state = 'in';
    } elsif( $state eq 'out' and /^(typedef )?enum/ ) {
        $state = 'start';
    } elsif( $state eq 'start' and /{/ ) {
        $state = 'in';
    } elsif( $state eq 'in' and /}/ ) {
        $state = 'out';
    } elsif( $state eq 'in' ) {
        s/=.*//; s!/\*.*!!; s/,.*//; s/\s+//g; chomp;
        push @consts, $_ if $_;
    }
}

open my $fh, '>', 'enum-consts' or die;
print $fh "$_\n" for sort @consts;
close $fh or die;

printf "%8d enum-consts\n", scalar @consts;
