| /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */ |
| /* |
| * Copyright (c) 2014-2020, The University of Memphis, |
| * Regents of the University of California, |
| * Arizona Board of Regents. |
| * |
| * This file is part of NLSR (Named-data Link State Routing). |
| * See AUTHORS.md for complete list of NLSR authors and contributors. |
| * |
| * NLSR is free software: you can redistribute it and/or modify it under the terms |
| * of the GNU General Public License as published by the Free Software Foundation, |
| * either version 3 of the License, or (at your option) any later version. |
| * |
| * NLSR is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; |
| * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR |
| * PURPOSE. See the GNU General Public License for more details. |
| * |
| * You should have received a copy of the GNU General Public License along with |
| * NLSR, e.g., in COPYING.md file. If not, see <http://www.gnu.org/licenses/>. |
| **/ |
| |
| #ifndef NLSR_TLV_NLSR_HPP |
| #define NLSR_TLV_NLSR_HPP |
| |
| #include <ndn-cxx/encoding/tlv.hpp> |
| |
| namespace ndn { |
| namespace tlv { |
| namespace nlsr { |
| |
| /*! The TLV block types that NLSR uses to encode/decode LSA types. The |
| * way NLSR encodes LSAs to TLV is by encoding each element of the |
| * LSA as a separate TLV block. So, block types are needed. These are |
| * used in the LSDB Status Dataset. |
| */ |
| enum { |
| Lsa = 128, |
| SequenceNumber = 130, |
| AdjacencyLsa = 131, |
| Adjacency = 132, |
| CoordinateLsa = 133, |
| CostDouble = 134, |
| HyperbolicRadius = 135, |
| HyperbolicAngle = 136, |
| NameLsa = 137, |
| LsdbStatus = 138, |
| ExpirationTime = 139, |
| Cost = 140, |
| Uri = 141, |
| Destination = 142, |
| NextHop = 143, |
| RoutingTable = 144, |
| RoutingTableEntry = 145 |
| }; |
| |
| } // namespace nlsr |
| } // namespace tlv |
| } // namespace ndn |
| |
| #endif // NLSR_TLV_NLSR_HPP |