diff --git a/ndn-cpp/c/data.h b/ndn-cpp/c/data.h
index 98a1d76..422952b 100644
--- a/ndn-cpp/c/data.h
+++ b/ndn-cpp/c/data.h
@@ -33,19 +33,19 @@
   self->signatureLength = 0;
 }
 
-enum {
+typedef enum {
   ndn_ContentType_DATA = 0,
   ndn_ContentType_ENCR = 1,
   ndn_ContentType_GONE = 2,
   ndn_ContentType_KEY =  3,
   ndn_ContentType_LINK = 4,
   ndn_ContentType_NACK = 5
-};
+} ndn_ContentType;
 
 struct ndn_SignedInfo {
   struct ndn_PublisherPublicKeyDigest publisherPublicKeyDigest;
   double timestampMilliseconds;    /**< milliseconds since 1/1/1970. -1 for none */
-  int type;                        /**< default is ndn_ContentType_DATA. -1 for none */
+  ndn_ContentType type;            /**< default is ndn_ContentType_DATA. -1 for none */
   int freshnessSeconds;            /**< -1 for none */
   unsigned char *finalBlockID;     /**< pointer to pre-allocated buffer.  0 for none */
   unsigned int finalBlockIDLength; /**< length of finalBlockID.  0 for none */
diff --git a/ndn-cpp/data.hpp b/ndn-cpp/data.hpp
index f368152..24b436a 100644
--- a/ndn-cpp/data.hpp
+++ b/ndn-cpp/data.hpp
@@ -98,7 +98,7 @@
   
   double getTimestampMilliseconds() const { return timestampMilliseconds_; }
   
-  int getType() const { return type_; }
+  ndn_ContentType getType() const { return type_; }
   
   int getFreshnessSeconds() const { return freshnessSeconds_; }
   
@@ -112,7 +112,7 @@
   
   void setTimestampMilliseconds(double timestampMilliseconds) { timestampMilliseconds_ = timestampMilliseconds; }
   
-  void setType(int type) { type_ = type; }
+  void setType(ndn_ContentType type) { type_ = type; }
   
   void setFreshnessSeconds(int freshnessSeconds) { freshnessSeconds_ = freshnessSeconds; }
   
@@ -127,7 +127,7 @@
 private:
   PublisherPublicKeyDigest publisherPublicKeyDigest_;
   double timestampMilliseconds_; /**< milliseconds since 1/1/1970. -1 for none */
-  int type_;                     /**< default is ndn_ContentType_DATA. -1 for none */
+  ndn_ContentType type_;         /**< default is ndn_ContentType_DATA. -1 for none */
   int freshnessSeconds_;         /**< -1 for none */
   std::vector<unsigned char> finalBlockID_; /** size 0 for none */
   KeyLocator keyLocator_;
