Number of fixes for iface fuzzer.

1. fixed scalar random generation.
2. added mutate/random gen functions for TYPE_MASK.
3. fixed spec parsing.

Test: SANITIZE_TARGET="address coverage" make vts -j64 && vts-tradefed
run commandAndExit vts --skip-all-system-status-check --primary-abi-only
--skip-preconditions -l VERBOSE --module VtsHalBluetoothV1_0IfaceFuzzer
Change-Id: I48e5550cd20919ffb1f6506ab26ef1663ddaeefc
diff --git a/iface_fuzzer/ProtoFuzzerMutator.cpp b/iface_fuzzer/ProtoFuzzerMutator.cpp
index a52b0c9..df096f7 100644
--- a/iface_fuzzer/ProtoFuzzerMutator.cpp
+++ b/iface_fuzzer/ProtoFuzzerMutator.cpp
@@ -61,6 +61,11 @@
   random_gen_fns_[TYPE_HIDL_INTERFACE] = default_transform;
   mutate_fns_[TYPE_HIDL_INTERFACE] = default_transform;
 
+  // Interpret masks as enums.
+  random_gen_fns_[TYPE_MASK] =
+      std::bind(&ProtoFuzzerMutator::EnumRandomGen, this, _1);
+  mutate_fns_[TYPE_MASK] = std::bind(&ProtoFuzzerMutator::EnumMutate, this, _1);
+
   random_gen_fns_[TYPE_SCALAR] =
       std::bind(&ProtoFuzzerMutator::ScalarRandomGen, this, _1);
   mutate_fns_[TYPE_SCALAR] =