FreeCalypso > hg > fc-tourmaline
diff src/cs/drivers/drv_app/ffs/board/mkeffs.pl @ 0:4e78acac3d88
src/{condat,cs,gpf,nucleus}: import from Selenite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 16 Oct 2020 06:23:26 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/cs/drivers/drv_app/ffs/board/mkeffs.pl Fri Oct 16 06:23:26 2020 +0000 @@ -0,0 +1,53 @@ +#!/usr/bin/perl -w + +if ($#ARGV < 0) { die "Must give argument 'c' or 'pl'"; } + +$c = ($ARGV[0] eq "c"); +shift; + +$c && c_begin(); +!$c && pl_begin(); + +while (<>) { + chop; + if (/^\s*(EFFS_\w+)\s*=\s*(-?[0-9]+),\s*\/\* (.*) \*\//) { + $name = $1; + $code = $2; + $text = $3; + $c && print " case $name: return \"$text\"; /* $code */\n"; + !$c && print "\$$name = $code;\n"; + !$c && print "\$FFS_ERRORSTR{$code} = \"$text\";\n"; + } +} + +$c && c_end(); +!$c && pl_end(); + + +sub c_begin +{ + print "/* This file is autogenerated --- do not edit. */\n\n"; + + print "#include \"ffs/ffs.h\"\n\n"; + + print "char *ffs_strerror(effs_t error)\n"; + print "{\n"; + print " switch (error) {\n"; +} + +sub c_end +{ + print " default: return \"unknown ffs error code!\";\n"; + print " }\n"; + print "}\n"; +} + +sub pl_begin +{ + print "# This file is autogenerated --- do not edit.\n\n"; +} + +sub pl_end +{ +} +