Merge pull request #286 from gilles-peskine-arm/psasim-serialize-unsigned-int

psasim serialize: Support a few more standard C types
diff --git a/psasim/src/psa_sim_serialise.pl b/psasim/src/psa_sim_serialise.pl
index 3d40d9f..c3f5c0e 100755
--- a/psasim/src/psa_sim_serialise.pl
+++ b/psasim/src/psa_sim_serialise.pl
@@ -35,8 +35,9 @@
 # deserialisation functions written manually (like those for the "buffer" type
 # are).
 #
-my @types = qw(unsigned-int int size_t
+my @types = qw(unsigned unsigned-int int unsigned-long long size_t
                uint16_t uint32_t uint64_t
+               int16_t int32_t int64_t
                buffer
                psa_custom_key_parameters_t
                psa_status_t psa_algorithm_t psa_key_derivation_step_t
@@ -56,11 +57,13 @@
 
 grep(s/-/ /g, @types);
 
-# IS-A: Some data types are typedef'd; we serialise them as the other type
+# IS-A: Some data types are typedef'd or synonyms; we serialise them as
+# the other type.
 my %isa = (
-    "psa_status_t" => "int",
-    "psa_algorithm_t" => "unsigned int",
+    "psa_status_t" => "int32_t",
+    "psa_algorithm_t" => "uint32_t",
     "psa_key_derivation_step_t" => "uint16_t",
+    "unsigned" => "unsigned int",
 );
 
 # Compile-time guards for some types: the type $type is defined only