Ядро Linux - Как использовать timespec_to_ns()?

Я пытаюсь преобразовать start_time ядра Linux task_struct в наносекунды. Мне нужно дать ему аргумент const struct timespec * но start_time имеет тип struct timespec,

Как бы я сделал его константой и указателем на timespec структура? Пример кода:

(*kinfo).start_time = timespec_to_ns((*current).start_time);

1 ответ

Решение

Я бы порекомендовал подобрать учебник для начинающих на C, так как вам нужно быть очень хорошо знакомым с программированием на C (особенно потому, что ядро ​​Linux использует все хитрости C в этой книге), чтобы писать код ядра (или модифицировать существующий код ядра)., Однако, чтобы ответить на ваш вопрос, вам нужно передать указатель на значение (что делается с помощью & оператор в с). Также, пожалуйста, используйте правильный синтаксис разыменования для указателей на структуры (p->attr).

kinfo->start_time = timespec_to_ns(&current->start_time);
Другие вопросы по тегам