Add temporary scripts
diff --git a/tmp/analyze-names.sh b/tmp/analyze-names.sh
new file mode 100755
index 0000000..042f3eb
--- /dev/null
+++ b/tmp/analyze-names.sh
@@ -0,0 +1,51 @@
+#!/bin/sh
+
+set -eu
+
+tmp/list-macros.sh
+tmp/list-enum-consts.pl
+tmp/list-identifiers.sh
+tmp/list-symbols.sh
+
+UNDECLARED=$( diff exported-symbols identifiers | sed -n -e 's/^< //p' )
+if [ "x$UNDECLARED" == "x" ]; then
+ echo "All exported symbols are declared in headers: good"
+else
+ echo "The following symbols are probably missing a 'static': $UNDECLARED"
+fi
+
+for THING in macros identifiers enum-consts; do
+ echo ''
+ echo "=== $THING ==="
+
+ NO_=$( grep -v _ $THING | tr '\n' ' ' )
+ echo "Without underscore: $NO_"
+
+ cut -f1 -d_ $THING | uniq -c | sort -nr > prefix-$THING
+ echo "By prefix: (10 most frequent, see prefix-$THING for full list)"
+ head -n 10 < prefix-$THING
+done
+
+echo ''; echo "=== all public names ==="
+sort -u macros identifiers enum-consts > public-names
+wc -l public-names
+
+
+NL='
+'
+sed -n 's/POLARSSL_[A-Z0-9_]*/\'"$NL"'&\'"$NL"/gp \
+ include/mbedtls/*.h tests/scripts/* scripts/* library/*.c \
+ | grep POLARSSL | sort -u > _POLARSSL_XXX
+diff public-names _POLARSSL_XXX | sed -n 's/^> //p' > extra-names
+rm _POLARSSL_XXX
+
+echo 'polarssl_zeroize' >> extra-names
+
+wc -l extra-names
+
+for THING in public-names extra-names; do
+ if grep '[^A-Za-z0-9_]' $THING; then
+ echo "invalid character in $THING" >&2
+ exit 1;
+ fi
+done