diff --git a/ndn-cpp/Interest.cpp b/ndn-cpp/Interest.cpp
index f6abf52..2fda538 100644
--- a/ndn-cpp/Interest.cpp
+++ b/ndn-cpp/Interest.cpp
@@ -29,6 +29,32 @@
     nonce_.insert
       (nonce_.begin(), interestStruct.nonce, interestStruct.nonce + interestStruct.nonceLength);
 }
+
+void Interest::get(struct ndn_Interest &interestStruct) 
+{
+  name_.get(interestStruct.name);
+  interestStruct.maxSuffixComponents = maxSuffixComponents_;
+  interestStruct.minSuffixComponents = minSuffixComponents_;
+  
+  interestStruct.publisherPublicKeyDigestLength = publisherPublicKeyDigest_.size();
+  if (publisherPublicKeyDigest_.size() > 0)
+    interestStruct.publisherPublicKeyDigest = &publisherPublicKeyDigest_[0];
+  else
+    interestStruct.publisherPublicKeyDigest = 0;
+  
+  // TODO: implement exclude.
+  
+  interestStruct.childSelector = childSelector_;
+  interestStruct.answerOriginKind = answerOriginKind_;
+  interestStruct.scope = scope_;
+  interestStruct.interestLifetime = interestLifetime_;
+
+  interestStruct.nonceLength = nonce_.size();
+  if (nonce_.size() > 0)
+    interestStruct.nonce = &nonce_[0];
+  else
+    interestStruct.nonce = 0;
+}
   
 }
 
diff --git a/ndn-cpp/Interest.hpp b/ndn-cpp/Interest.hpp
index a481cca..a776912 100644
--- a/ndn-cpp/Interest.hpp
+++ b/ndn-cpp/Interest.hpp
@@ -38,6 +38,13 @@
   {
     decode(&input[0], input.size());
   }
+  
+  /**
+   * Set the interestStruct to point to the components in this interest, without copying any memory.
+   * WARNING: The resulting pointers in interestStruct are invalid after a further use of this object which could reallocate memory.
+   * @param interestStruct a C ndn_Interest struct where the name components array is already allocated.
+   */
+  void get(struct ndn_Interest &interestStruct);
 
   Name &getName() { return name_; }
   
