)]}'
{
  "log": [
    {
      "commit": "5bcbc3f58870bd28ab1deadfff75bf59d62db021",
      "tree": "f73ac5adc1856f4492eb352aa4d7aff774062248",
      "parents": [
        "dc684eb9976f8a1170312be42d142effce26b568"
      ],
      "author": {
        "name": "Paul Jakma",
        "email": "paul@opensourcerouting.org",
        "time": "Wed Oct 29 10:33:17 2014 +0000"
      },
      "committer": {
        "name": "Paul Jakma",
        "email": "paul@quagga.net",
        "time": "Sun Apr 26 18:07:30 2015 +0100"
      },
      "message": "gdb: Add a directory of files with gdb macros\n\n* gdb/: Directory to contain files with GDB macros. Organised by topic into\n  separate files.\n* gdb/lib.txt: General OS API and Quagga lib macros:\n  (def_ntohs) convert big-endian short to host order.\n  (def_ntohl) convert big-endian long to host order.\n  (walk_route_table_next) Walk to next route_node in a table, according\n  to given top and current node arguments.\n  (walk_route_table) walk the given route table dumping non-null info pointers,\n  from the given root node.\n  (dump_timeval) timeval to human readable output\n  (dump_s_addr) Print IP address of given pointer to a (struct in_addr).s_addr\n  (dump_s6_addr) Ditto for IPv6.\n  (dump_prefix4) Dump a Quagga (struct prefix_ipv4 *)\n  (dump_prefix6) Dump (struct prefix_ipv6 *)\n  (dump_prefix) Dump a (struct prefix *).\n  (rn_next_{down,up}) left-down and up-and-right walks of a route_table\n  from a given route_node.\n* gdb/ospfd.txt: ospfd specific gdb macros, depends on gdb/lib.txt\n  (dump_ospf_lsa_flags) LSA flags to text.\n  (dump_ospf_lsa_data) dump the data of a (struct lsa_header *) argument.\n  (dump_ospf_lsa) Dump the details of a (struct ospf_lsa *)\n  (walk_ospf_lsdb) Go through an LSDB, rooted at the\n  given (struct route_node *), and dump LSA details.\n  (ospf_backbone_lsdb_top) Get the LSDB top pointer for the given LSA type.\n"
    }
  ]
}
