Я сейчас читаю Linux Разработка ядра Роберт Лав. Читая о потоках, я натолкнулся на функцию kthread_create (), которая принимает несколько аргументов и соответственно создает поток ядра.
struct task_struct *kthread_create(int (*threadfn)(void *data),
void *data,
const char namefmt[],
...)
Насколько я знаю, первый аргумент - это указатель на функцию, второй - является аргументом для threadfn (), namefmt - это имя процесса. Может кто-нибудь объяснить, что это за переменные аргументы в конце?