diff --git a/ndn-cpp/c/encoding/binary-xml-data.h b/ndn-cpp/c/encoding/binary-xml-data.h
index df77d69..cfbfa3d 100644
--- a/ndn-cpp/c/encoding/binary-xml-data.h
+++ b/ndn-cpp/c/encoding/binary-xml-data.h
@@ -16,19 +16,30 @@
 #endif
 
 /**
- * Encode the data as binary XML.
+ * Encode the data packet as binary XML.
  * @param data Pointer to the data object the encode.
  * @param signedFieldsBeginOffset Return the offset in the encoding of the beginning of the fields which are signed.
  * If you are not encoding in order to sign, you can ignore this.
  * @param signedFieldsEndOffset Return the offset in the encoding of the end of the fields which are signed.
  * If you are not encoding in order to sign, you can ignore this.
- * @param encoder Pointer to the encoder object which receives the encoding. 
- * @return 
+ * @param encoder Pointer to the ndn_BinaryXmlEncoder struct which receives the encoding. 
+ * @return 0 for success, else an error code.
  */
 ndn_Error ndn_encodeBinaryXmlData
   (struct ndn_Data *data, unsigned int *signedFieldsBeginOffset, unsigned int *signedFieldsEndOffset, struct ndn_BinaryXmlEncoder *encoder);
 
-ndn_Error ndn_decodeBinaryXmlData(struct ndn_Data *data, struct ndn_BinaryXmlDecoder *decoder);
+/**
+ * Decode the data packet as binary XML.
+ * @param data Pointer to the data object the decode.
+ * @param signedFieldsBeginOffset Return the offset in the encoding of the beginning of the fields which are signed.
+ * If you are not encoding in order to sign, you can ignore this.
+ * @param signedFieldsEndOffset Return the offset in the encoding of the end of the fields which are signed.
+ * If you are not encoding in order to sign, you can ignore this.
+ * @param decoder Pointer to the ndn_BinaryXmlDecoder struct which has been initialized with the buffer to decode. 
+ * @return 0 for success, else an error code.
+ */
+ndn_Error ndn_decodeBinaryXmlData
+  (struct ndn_Data *data, unsigned int *signedFieldsBeginOffset, unsigned int *signedFieldsEndOffset, struct ndn_BinaryXmlDecoder *decoder);
 
 #ifdef __cplusplus
 }
