management: Implementing nrd::PrefixRegOptions for NRD Face management protocol
Also in this commit fixes to nfd::FibManagementOptions data structure.
Change-Id: I1ade7df6a18798d9d0881c66a238b0ea84680623
diff --git a/src/encoding/encoding-buffer.hpp b/src/encoding/encoding-buffer.hpp
index c9abd31..1659c52 100644
--- a/src/encoding/encoding-buffer.hpp
+++ b/src/encoding/encoding-buffer.hpp
@@ -512,6 +512,18 @@
template<bool P>
inline size_t
+prependByteArrayBlock(EncodingImpl<P>& blk, uint32_t type, const uint8_t* array, size_t arraySize)
+{
+ size_t var_len = blk.prependByteArray(array, arraySize);
+ size_t total_len = var_len;
+ total_len += blk.prependVarNumber(var_len);
+ total_len += blk.prependVarNumber(type);
+
+ return total_len;
+}
+
+template<bool P>
+inline size_t
prependBooleanBlock(EncodingImpl<P>& blk, uint32_t type)
{
size_t total_len = blk.prependVarNumber(0);
diff --git a/src/encoding/tlv-nrd.hpp b/src/encoding/tlv-nrd.hpp
new file mode 100644
index 0000000..6dcbbfd
--- /dev/null
+++ b/src/encoding/tlv-nrd.hpp
@@ -0,0 +1,38 @@
+/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil -*- */
+/*
+ * Copyright (c) 2013, Regents of the University of California
+ *
+ * BSD license, See the LICENSE file for more information
+ *
+ * Author: Alexander Afanasyev <alexander.afanasyev@ucla.edu>
+ */
+
+#ifndef NDN_TLV_NRD_HPP
+#define NDN_TLV_NRD_HPP
+
+#include "tlv.hpp"
+
+namespace ndn {
+namespace tlv {
+namespace nrd {
+
+enum {
+ PrefixRegOptions = 101,
+ FaceId = 102,
+ Flags = 103,
+ Cost = 104,
+ ExpirationPeriod = 105,
+ StrategyName = 106,
+ Protocol = 107,
+};
+
+enum {
+ NDN_FORW_CHILD_INHERIT = 1,
+ NDN_FORW_CAPTURE = 2,
+};
+
+} // namespace nrd
+} // namespace tlv
+} // namespace ndn
+
+#endif // NDN_TLV_NRD_HPP