Developing lsquic

Generating Tags

Over the years, we have developed a wrapper around Universal Ctags to generate convenient tags so that, for example, ci_packet_in will be able to take you to any of its implementations such as full_conn_ci_packet_in(), evanescent_conn_ci_packet_in(), and others.

_Exuberant_ Ctags will work, too, but the more recent and maintained fork of it, the _Universal_ Ctags, is preferred. (If you are on Ubuntu, you should clone Universal Ctags from GitHub and compiled it yourself. The version that comes in the Ubuntu package – at the time of this writing – is so slow as to be considered broken).

The wrapper is tools/gen-tags.pl. Run it in the source directory:

sh$ cd lsquic
sh$ ./tools/gen-tags.pl

Maintaining Documentation

Documentation – the *.rst files under docs/ should be kept up-to-date with changes in the API in include/lsquic.h.

For convenience, tags for the documentation files can be generated by passing the --docs argument to tools/gen-tags.pl.