diff --git a/src/systemc/ext/utils/sc_trace_file.hh b/src/systemc/ext/utils/sc_trace_file.hh
index ec4fd4d..9e9e75b 100644
--- a/src/systemc/ext/utils/sc_trace_file.hh
+++ b/src/systemc/ext/utils/sc_trace_file.hh
@@ -107,6 +107,26 @@
 void sc_trace(sc_trace_file *, const sc_dt::sc_fxnum_fast *,
               const std::string &);
 
+
+// Nonstandard - unsigned versions necessary to avoid ambiguous overload
+// resolution.
+void sc_trace(sc_trace_file *, const unsigned char &,
+              const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned char *,
+              const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned short &,
+              const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned short *,
+              const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned int &,
+              const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned int *,
+              const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned long &,
+              const std::string &, int width=(8 * sizeof(char)));
+void sc_trace(sc_trace_file *, const unsigned long *,
+              const std::string &, int width=(8 * sizeof(char)));
+
 void sc_trace(sc_trace_file *, const char &,
               const std::string &, int width=(8 * sizeof(char)));
 void sc_trace(sc_trace_file *, const char *,
@@ -132,6 +152,10 @@
 void sc_trace(sc_trace_file *, const sc_dt::uint64 *,
               const std::string &, int width=(8 * sizeof(char)));
 
+// Nonstandard function for enums
+void sc_trace(sc_trace_file *, const unsigned int &,
+              const std::string &, const char **enum_literals);
+
 template <class T>
 void
 sc_trace(sc_trace_file *, const sc_signal_in_if<T> &, const std::string &)
diff --git a/src/systemc/utils/sc_trace_file.cc b/src/systemc/utils/sc_trace_file.cc
index 3b09d95..66f7fef 100644
--- a/src/systemc/utils/sc_trace_file.cc
+++ b/src/systemc/utils/sc_trace_file.cc
@@ -221,6 +221,60 @@
 }
 
 void
+sc_trace(sc_trace_file *, const unsigned char &,
+         const std::string &, int width)
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned char *,
+         const std::string &, int width)
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned short &,
+         const std::string &, int width)
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned short *,
+         const std::string &, int width)
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned int &, const std::string &, int width)
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned int *, const std::string &, int width)
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned long &,
+         const std::string &, int width)
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
+sc_trace(sc_trace_file *, const unsigned long *,
+         const std::string &, int width)
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
+void
 sc_trace(sc_trace_file *, const char &, const std::string &, int width)
 {
     warn("%s not implemented.\n", __PRETTY_FUNCTION__);
@@ -322,4 +376,11 @@
     warn("%s not implemented.\n", __PRETTY_FUNCTION__);
 }
 
+void
+sc_trace(sc_trace_file *, const unsigned int &,
+         const std::string &, const char **enum_literals)
+{
+    warn("%s not implemented.\n", __PRETTY_FUNCTION__);
+}
+
 } // namespace sc_core
