Почему функция cfsetospeed находится в glibc, а не в базе кода termios ядра или не обрабатывается вызывающей стороной?Linux

Ответить
Anonymous
 Почему функция cfsetospeed находится в glibc, а не в базе кода termios ядра или не обрабатывается вызывающей стороной?

Сообщение Anonymous »

Функция cfsetospeed в musl и glibc просто устанавливает скорость для члена c_cflag структуры termios, хотя и после некоторых битовых проверок и операций с использованием CBAUD.
Вот реализация musl

Код: Выделить всё

    int cfsetospeed(struct termios *tio, speed_t speed)
{
if (speed & ~CBAUD) {
errno = EINVAL;
return -1;
}
tio->c_cflag &= ~CBAUD;
tio->c_cflag |= speed;
return 0;
}
Почему ядро ​​не может этого сделать? Или вызывающий абонент, если уж на то пошло.
Специальна ли платформа CBAUD? «Зависит от реализации»?
Какое-то особое значение, известное только поставщикам libc?

Подробнее здесь: https://stackoverflow.com/questions/791 ... -code-base
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»