LINUX.ORG.RU

Сделать mknod не используя внешних библиотек

 , ,


0

1

Есть какой-нибудь способ программно (на сях) сделать mknod, при этом не используя внешние библиотеки, только что-нибудь из /include/linux/ ?

★★★★

Последнее исправление: RiseOfDeath (всего исправлений: 2)
Ответ на: комментарий от Artificial_Thought

Если коротко, что бы сделать символьному устройству (ну точнее модулю, который делает вид, что он символьное устройство) файл.

Ну про системный вызов я подозревал, не подскажите как он называется?

RiseOfDeath ★★★★
() автор топика
Ответ на: комментарий от RiseOfDeath

Ну про системный вызов я подозревал, не подскажите как он называется?

man 2 mknod

SEE ALSO chmod(2), chown(2), fcntl(2), mkdir(2), mknodat(2), mount(2), socket(2), stat(2), umask(2), unlink(2), makedev(3), mkfifo(3), path_resolution(7)

drBatty ★★
()
Ответ на: комментарий от Delirium_veritas

Выхлоп от udevadm monitor выглядит примерно так (из модуля умышленно убраны все сообщения)

KERNEL[1366375236.396148] add /module/mymodule (module) UDEV [1366375236.397949] add /module/mymodule (module)

Что бы сделать ноду мне нужен major number. Его можно как-то узнать скриптом? (сам-то модуль это число знает).

RiseOfDeath ★★★★
() автор топика
Ответ на: комментарий от RiseOfDeath

Я сейчас на оффтопике сижу. Вечерком дома свои модули подниму, опишу, как делал.

Delirium_veritas
()

В общем сам разобрался как-то.

Делается это с помощью

class_create и device_create функций (остальное сделает udev, при условии что у нас лицензия не «Proprietary». В противном случае udev не сделает файл устройства (хз по чему)

RiseOfDeath ★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.