POSIX-совместимые семейства адресов и протоколы

POSIX-совместимые семейства адресов и протоколы

22.11.2018 02:55:03 Просмотров 20 Источник

Возможно, я не достаточно внимательно просмотрел стандрат, но я так и не нашел отдельной секции, в которой бы описывались допустимые семейства адресов и протоколы. В описании хедера netinet/in.h сказано, что последний должен содержать следующие константы, которые использутся как значения level (!) в функциях getsockopt/setsockopt:

  1. IPPROTO_IP
  2. IPPROTO_IPv6
  3. IPPROTO_ICMP
  4. IPPROTO_RAW
  5. IPPROTO_TCP
  6. IPPROTO_UDP

Могу ли я трактовать это следующим образом - Posix-совместимая система не предполагает использование SCTP протокола, например?

Аналогичная ситуация с семействами адресов.

У вопроса есть решение - Посмотреть?

Ответы - POSIX-совместимые семейства адресов и протоколы / POSIX-совместимые семейства адресов и протоколы

Является ответом!
Fat-Zer

22.11.2018 03:43:01

POSIX — это стандарт определяющий необходимый минимум интерфейса ОС. Так что любой список, описанный в нём стоит рассматривать как минимально допустимый набор значений, если не оговорено обратное.

Таким образом содержимое документации <netinet/in.h> можно трактовать как «POSIX-совместимая ОС обязана реализовывать перечисленные IP-протоколы»; но это ни как не ограничивает реализацию других протоколов и добавление соответствующих значений в <netinet/in.h> любой конкретной ОС.

https://ru.stackoverflow.com/questions/909931/posix-%d1%81%d0%be%d0%b2%d0%bc%d0%b5%d1%81%d1%82%d0%b8%d0%bc%d1%8b%d0%b5-%d1%81%d0%b5%d0%bc%d0%b5%d0%b9%d1%81%d1%82%d0%b2%d0%b0-%d0%b0%d0%b4%d1%80%d0%b5%d1%81%d0%be%d0%b2-%d0%b8-%d0%bf%d1%80%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%bb%d1%8b/909934#comment1497446_909934
Для типов сокетов, например, есть отдельная секция (2.10.6), в которой на данный момент описаны четыре типа сокетов (raw, stream, seqpacket, dgram). И они не трактуются, как "возможные значения аргумента type функции socket". Вот этот момент мне не понятен - почему вышеприведенные типы описаны без привязки к конкретной функции, а о протоколах говорят как о возможных аргументах ф-ий getsockopt/setsockopt.
https://ru.stackoverflow.com/questions/909931/posix-%d1%81%d0%be%d0%b2%d0%bc%d0%b5%d1%81%d1%82%d0%b8%d0%bc%d1%8b%d0%b5-%d1%81%d0%b5%d0%bc%d0%b5%d0%b9%d1%81%d1%82%d0%b2%d0%b0-%d0%b0%d0%b4%d1%80%d0%b5%d1%81%d0%be%d0%b2-%d0%b8-%d0%bf%d1%80%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%bb%d1%8b/909934#comment1497673_909934
@isnullxbh, ИМХО квалифицированно отвечать на вопросы «почему в стандрте написано так, а не иначе» могут только люди принимавшие участие в его написании (кстати на некоторые они отвечают в XRAT), а тут таких скорей всего крайне мало.... в остальном не вижу ничего удивительного — типы сокетов важный системный концепт, заслуживший отдельного упоминания в разделе с основной информацией, а список протоколов, описанный в системном хедере не даёт ни какой информации, зачем эти константы могут быть нужны; так что ссылка на функцию. где они могут быть использованы совсем не лишняя в этом месте...
https://ru.stackoverflow.com/questions/909931/posix-%d1%81%d0%be%d0%b2%d0%bc%d0%b5%d1%81%d1%82%d0%b8%d0%bc%d1%8b%d0%b5-%d1%81%d0%b5%d0%bc%d0%b5%d0%b9%d1%81%d1%82%d0%b2%d0%b0-%d0%b0%d0%b4%d1%80%d0%b5%d1%81%d0%be%d0%b2-%d0%b8-%d0%bf%d1%80%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%bb%d1%8b/909934#comment1498195_909934
Ваш комментарий оказался более убедительным, чем те вещи, о которых гооврится непосредственно в ответе. Спасибо за разъяснения!
https://ru.stackoverflow.com/questions/909931/posix-%d1%81%d0%be%d0%b2%d0%bc%d0%b5%d1%81%d1%82%d0%b8%d0%bc%d1%8b%d0%b5-%d1%81%d0%b5%d0%bc%d0%b5%d0%b9%d1%81%d1%82%d0%b2%d0%b0-%d0%b0%d0%b4%d1%80%d0%b5%d1%81%d0%be%d0%b2-%d0%b8-%d0%bf%d1%80%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%bb%d1%8b/909934#comment1498197_909934
> кстати на некоторые они отвечают в XRAT - ссылкой не поделитесь?
https://ru.stackoverflow.com/questions/909931/posix-%d1%81%d0%be%d0%b2%d0%bc%d0%b5%d1%81%d1%82%d0%b8%d0%bc%d1%8b%d0%b5-%d1%81%d0%b5%d0%bc%d0%b5%d0%b9%d1%81%d1%82%d0%b2%d0%b0-%d0%b0%d0%b4%d1%80%d0%b5%d1%81%d0%be%d0%b2-%d0%b8-%d0%bf%d1%80%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%bb%d1%8b/909934#comment1498258_909934
@isnullxbh, это последний том стандарта: pubs.opengroup.org/onlinepubs/9699919799/xrat/contents.html
https://ru.stackoverflow.com/questions/909931/posix-%d1%81%d0%be%d0%b2%d0%bc%d0%b5%d1%81%d1%82%d0%b8%d0%bc%d1%8b%d0%b5-%d1%81%d0%b5%d0%bc%d0%b5%d0%b9%d1%81%d1%82%d0%b2%d0%b0-%d0%b0%d0%b4%d1%80%d0%b5%d1%81%d0%be%d0%b2-%d0%b8-%d0%bf%d1%80%d0%be%d1%82%d0%be%d0%ba%d0%be%d0%bb%d1%8b/909934#comment1498260_909934
Спасибо за ссылку!
Закрыть X