The libtld project is a library that gives you the capability to determine the TLD part of any Internet URI.
The library takes a URI string and a tld_info structure. The library then computes the position where the TLD starts in your URI.
The only function offered by the library is tld().
All the other functions in this library are private or part of a test.
If you want to work on the library, there are certainly things to enhance. We could for example offer more offsets in the info string, or functions to clearly define each part of the URI.
However, the most important part of this library is the XML file which defines all the TLDs. Maintaining that file is what will help the most. It includes all the TLDs known at this point (as defined in different places such as Wikipedia and each different authority in that area.) The file is easy to read so you can easily find whether your extension is defined and if not you can let us know.
The library doesn't need anything special. It's one C function.
To compile the library, you'll need CMake, a C++ compile for the parser that makes use of QtXml and QtCore (Qt4). The QtXml library is used to parse the XML file (tld_data.xml).
To regenerate the documentation we use Doxygen. It is optional.
We have the following tests at this time: