Мне нужно создать приложение Cocoa, которое будет создавать виртуальный последовательный порт, доступный для других приложений, то есть зарегистрированный в реестре IO Kit.
Суть приложения:
- Создайте виртуальный последовательный порт (перечисленный в / dev и зарегистрированный в реестре IOKit)
- Инициируйте TCP-соединение с другим компьютером
- Прокси-сервер всего, что получено через виртуальный последовательный порт, в сеть и наоборот.
Это приложение будет использоваться сторонними приложениями, которые взаимодействуют с последовательными портами на компьютере, что позволяет размещать конкретное последовательное устройство в сети. Какао и сетевая часть - это не проблема, я написал несколько приложений, которые общаются по сети. Мое зависание - это последовательный порт.
Я провел тест с socat / netcat / minicom, чтобы убедиться, что все это работает для проксирования трафика pty / tty по сети, но tty, который я использую, не отображается как пригодный для использования случайными приложениями, потому что он не зарегистрирован в IO Kit Реестр.
Хотя я могу использовать главный / подчиненный pty / tty для связи, мне нужно, чтобы этот подчиненный tty отображался в приложениях Mac. Что было бы очень удобно, так это способ зарегистрировать tty в реестре IO Kit.
Мне действительно нужно создавать собственный драйвер kext IOKit, который регистрируется во время выполнения приложения Какао? Если так, мне предстоит большая кривая обучения. С чего мне начать читать? Или я могу использовать IOKit для создания виртуального последовательного порта и зарегистрировать его как пригодный для использования последовательный порт для приложений без необходимости загружать какие-либо расширения ядра?
Спасибо за любую помощь, которую вы можете предоставить,
Stateful