Major code style change to rename all files to lower case.
diff --git a/ndn-cpp/c/interest.h b/ndn-cpp/c/interest.h
new file mode 100644
index 0000000..3248835
--- /dev/null
+++ b/ndn-cpp/c/interest.h
@@ -0,0 +1,124 @@
+/**
+ * @author: Jeff Thompson
+ * See COPYING for copyright and distribution information.
+ */
+
+#ifndef NDN_INTEREST_H
+#define	NDN_INTEREST_H
+
+#include "name.h"
+#include "publisher-public-key-digest.h"
+
+#ifdef	__cplusplus
+extern "C" {
+#endif
+
+typedef enum {
+  ndn_Exclude_COMPONENT = 0,
+  ndn_Exclude_ANY = 1  
+} ndn_ExcludeType;
+
+/**
+ * An ndn_ExcludeEntry holds an ndn_ExcludeType, and if it is a COMPONENT, it holds a pointer to the component value.
+ */
+struct ndn_ExcludeEntry {
+  ndn_ExcludeType type;
+  unsigned char *component;     /**< pointer to the pre-allocated buffer for the component value */
+  unsigned int componentLength; /**< the number of bytes in value */
+};
+
+/**
+ * 
+ * @param self pointer to the ndn_NameComponent struct
+ * @param type one of the ndn_ExcludeType enum
+ * @param component the pre-allocated buffer for the component value, only used if type is ndn_Exclude_COMPONENT
+ * @param componentLength the number of bytes in value, only used if type is ndn_Exclude_COMPONENT
+ */
+static inline void ndn_ExcludeEntry_init(struct ndn_ExcludeEntry *self, ndn_ExcludeType type, unsigned char *component, unsigned int componentLength) 
+{
+  self->type = type;
+  self->component = component;
+  self->componentLength = componentLength;
+}
+
+/**
+ * An ndn_Exclude holds an array of ndn_ExcludeEntry.
+ */
+struct ndn_Exclude {
+  struct ndn_ExcludeEntry *entries;  /**< pointer to the array of entries. */
+  unsigned int maxEntries;           /**< the number of elements in the allocated entries array */
+  unsigned int nEntries;             /**< the number of entries in the exclude, 0 for no exclude */
+};
+/**
+ * Initialize an ndn_Exclude struct with the entries array.
+ * @param self pointer to the ndn_Exclude struct
+ * @param entries the pre-allocated array of ndn_ExcludeEntry
+ * @param maxEntries the number of elements in the allocated entries array
+ */
+static inline void ndn_Exclude_init(struct ndn_Exclude *self, struct ndn_ExcludeEntry *entries, unsigned int maxEntries) 
+{
+  self->entries = entries;
+  self->maxEntries = maxEntries;
+  self->nEntries = 0;
+}
+
+enum {
+  ndn_Interest_CHILD_SELECTOR_LEFT = 0,
+  ndn_Interest_CHILD_SELECTOR_RIGHT = 1,
+  ndn_Interest_ANSWER_CONTENT_STORE = 1,
+  ndn_Interest_ANSWER_GENERATED = 2,
+  ndn_Interest_ANSWER_STALE = 4,		// Stale answer OK
+  ndn_Interest_MARK_STALE = 16,		  // Must have scope 0.  Michael calls this a "hack"
+
+  ndn_Interest_DEFAULT_ANSWER_ORIGIN_KIND = ndn_Interest_ANSWER_CONTENT_STORE | ndn_Interest_ANSWER_GENERATED
+};
+
+/**
+ * An ndn_Interest holds an ndn_Name and other fields for an interest.
+ */
+struct ndn_Interest {
+  struct ndn_Name name;
+	int minSuffixComponents;  /**< -1 for none */
+	int maxSuffixComponents;  /**< -1 for none */
+  struct ndn_PublisherPublicKeyDigest publisherPublicKeyDigest;
+	struct ndn_Exclude exclude;
+	int childSelector;        /**< -1 for none */
+	int answerOriginKind;     /**< -1 for none */
+	int scope;                /**< -1 for none */
+	double interestLifetimeMilliseconds; /**< milliseconds. -1.0 for none */
+	unsigned char *nonce;	    /**< pointer to pre-allocated buffer.  0 for none */
+  unsigned int nonceLength; /**< length of nonce.  0 for none */
+};
+
+/**
+ * Initialize an ndn_Interest struct with the pre-allocated nameComponents and excludeEntries,
+ * and defaults for all the values.
+ * @param self pointer to the ndn_Interest struct
+ * @param nameComponents the pre-allocated array of ndn_NameComponent
+ * @param maxNameComponents the number of elements in the allocated nameComponents array
+ * @param excludeEntries the pre-allocated array of ndn_ExcludeEntry
+ * @param maxExcludeEntries the number of elements in the allocated excludeEntries array
+ */
+static inline void ndn_Interest_init
+  (struct ndn_Interest *self, struct ndn_NameComponent *nameComponents, unsigned int maxNameComponents,
+   struct ndn_ExcludeEntry *excludeEntries, unsigned int maxExcludeEntries) 
+{
+  ndn_Name_init(&self->name, nameComponents, maxNameComponents);
+	self->minSuffixComponents = -1;
+  self->maxSuffixComponents = -1;
+  ndn_PublisherPublicKeyDigest_init(&self->publisherPublicKeyDigest);
+  ndn_Exclude_init(&self->exclude, excludeEntries, maxExcludeEntries);
+	self->childSelector = -1;
+	self->answerOriginKind = -1;
+	self->scope = -1;
+	self->interestLifetimeMilliseconds = -1.0;
+	self->nonce = 0;
+	self->nonceLength = 0;
+}
+
+#ifdef	__cplusplus
+}
+#endif
+
+#endif
+