Попробуйте exuberant-ctags с параметром -x и скажите, чтобы он генерировал все его виды.
Exuberant CTAGS - это ctags по умолчанию во многих дистрибутивах Linux.
Вы можете попробовать: exuberant-ctags -x --c-types = cdefglmnpstuvx --language-force = c имя файла
будет даже работать, если имя файла не имеет расширения .c.
Вы можете использовать exuberant-ctags --list-types = c, чтобы увидеть возможные теги.
Под windows среда cygwin поддерживает ctags. Я не уверен, что есть сборка Windows, которая не нуждается в Cygwin.