Простой пример.
Декларация:
typedef int myint.
Использование:
myint number = 7;
myint является синонимом int .
ваш пример
typedef void (*alpm_cb_log)(alpm_loglevel_t, const char *, va_list);
это указатель на функцию
(*alpm_cb_log)
Аргументы:
(alpm_loglevel_t, const char *, va_list)
и ничего не возвращает.
void
Общее правило с использованием typedef - выписать объявление так, как будто
вы объявляли переменные нужных вам типов