Major code style change to rename all files to lower case.
diff --git a/ndn-cpp/c/encoding/binary-xml-key.h b/ndn-cpp/c/encoding/binary-xml-key.h
new file mode 100644
index 0000000..38c7420
--- /dev/null
+++ b/ndn-cpp/c/encoding/binary-xml-key.h
@@ -0,0 +1,47 @@
+/**
+ * @author: Jeff Thompson
+ * See COPYING for copyright and distribution information.
+ */
+
+#ifndef NDN_BINARYXMLKEY_H
+#define NDN_BINARYXMLKEY_H
+
+#include "../errors.h"
+#include "../key.h"
+#include "binary-xml-encoder.h"
+#include "binary-xml-decoder.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/**
+ * Encode the ndn_KeyLocator struct using Binary XML. If keyLocator->type is -1, then do nothing.
+ * @param keyLocator pointer to the ndn_KeyLocator struct
+ * @param encoder pointer to the ndn_BinaryXmlEncoder struct
+ * @return 0 for success, else an error code
+ */
+ndn_Error ndn_encodeBinaryXmlKeyLocator(struct ndn_KeyLocator *keyLocator, struct ndn_BinaryXmlEncoder *encoder);
+
+/**
+ * Expect the next element to be a Binary XML KeyLocator and decode into the ndn_KeyLocator struct.
+ * @param keyLocator pointer to the ndn_KeyLocator struct
+ * @param decoder pointer to the ndn_BinaryXmlDecoder struct
+ * @return 0 for success, else an error code, including if the next element is not KeyLocator.
+ */
+ndn_Error ndn_decodeBinaryXmlKeyLocator(struct ndn_KeyLocator *keyLocator, struct ndn_BinaryXmlDecoder *decoder);
+
+/**
+ * Peek the next element and if it is a Binary XML KeyLocator and decode into the ndn_KeyLocator struct.
+ * Otherwise, set the ndn_KeyLocator struct to none.
+ * @param keyLocator pointer to the ndn_KeyLocator struct
+ * @param decoder pointer to the ndn_BinaryXmlDecoder struct
+ * @return 0 for success, else an error code, including if the next element is not KeyLocator.
+ */
+ndn_Error ndn_decodeOptionalBinaryXmlKeyLocator(struct ndn_KeyLocator *keyLocator, struct ndn_BinaryXmlDecoder *decoder);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif