diff --git a/aos/common/queue.h b/aos/common/queue.h
index 77fdf0d..f1d9f82 100644
--- a/aos/common/queue.h
+++ b/aos/common/queue.h
@@ -11,6 +11,9 @@
 
 #include "aos/common/time.h"
 #include "aos/common/macros.h"
+#ifndef SWIG
+#include "aos/common/queue_types.h"
+#endif  // SWIG
 #ifndef USE_UNSAFE
 #include "aos/linux_code/ipc_lib/queue.h"
 #endif  // USE_UNSAFE
@@ -18,54 +21,6 @@
 
 namespace aos {
 
-#ifndef SWIG
-
-// Prints the value from 1 message field into output.
-// output is where to write the text representation.
-// output_bytes should point to the number of bytes available to write in
-// output. It will be changed to the number of bytes that were actually written.
-// input is where to read the data in from.
-// input_bytes should point to the number of bytes available to read from input.
-// It will be changed to the number of bytes that were actually read.
-// type is the ID of a type to print. It must be a primitive type.
-//
-// The implementation of this is generated by the ruby code.
-// TODO(brians): Actually do that.
-bool PrintField(char *output, size_t *output_bytes, void *input,
-                size_t *input_bytes, uint32_t type);
-
-// The type IDs this uses are 2 parts: a 16 bit size and a 16 bit hash. Sizes
-// for primitive types are stored with 8192 added.
-//
-// Serializing/deserializing includes all of the fields too.
-struct MessageType {
-  struct Field {
-    uint32_t type;
-    const char *name;
-  };
-
-  ~MessageType() {
-    for (int i = 0; i < number_fields; ++i) {
-      delete fields[i];
-    }
-  }
-
-  // Returns -1 for error.
-  ssize_t Serialize(char *buffer, size_t max_bytes) const;
-  // bytes should start out as the number of bytes available in buffer and gets
-  // set to the number actually read before returning.
-  // Returns a new instance allocated with new or NULL for error.
-  static MessageType *Deserialize(const char *buffer, size_t *bytes);
-
-  uint32_t id;
-  const char *name;
-
-  int number_fields;
-  const Field *fields[];
-};
-
-#endif  // SWIG
-
 // This class is a base class for all messages sent over queues.
 class Message {
  public:
