| Предыдущий | Следующий |
| EREMOTEIO | ENOLINK |
ESOCKTNOSUPPORT
Тип сокета определяет семантику обмена
ESOCKTNOSUPPORT относится к запрошенному типу сокета. Solaris сообщает, что поддержка этого типа не настроена или не реализована. POSIX определяет такие типы, как SOCK_STREAM, SOCK_DGRAMи SOCK_SEQPACKET, и отмечает, что их поддержка зависит от реализации и семейства адресов.
Эта ошибка отличается от EPROTONOSUPPORT: система может распознавать семейство адресов, но не предоставлять запрошенную семантику обмена. POSIX также описывает исторические различия, при которых реализации могут возвращать EPROTONOSUPPORT или EPROTOTYPE для некоторых случаев неподдерживаемого типа, поэтому важен полный набор аргументов сокета.
Что записать
- Зафиксируйте домен, тип вместе с его флагами и протокол из точного вызова
socket(). - Проверьте поддержку запрошенного типа выбранным семейством адресов именно в Solaris, не полагаясь на матрицу другой UNIX-системы.
- Если оболочка добавляет
SOCK_NONBLOCKили флаги close-on-exec, регистрируйте итоговое значение типа, полученное системным вызовом.
Ссылки
- Oracle Solaris: каталог errno intro(2)
- POSIX: правила domain, type и protocol для socket()
- illumos sys/errno.h: определения ABI
Нужно найти другой код? Найти другой код состояния или ошибки.