ИМЯ¶
x25, PF_X25 - ITU-T X.25 / ISO-8208
интерфейс
протокола.
ОБЗОР¶
#include <sys/socket.h>
#include <linux/x25.h>
x25_socket = socket(PF_X25, SOCK_SEQPACKET, 0);
ОПИСАНИЕ¶
Сокеты X25
предоставляют
интерфейс
для
пакетного
протокола X.25.
Они
позволяют
приложениям
связываться
через
открытые
сети
передачи
данных X.25
согласно
стандартизированным
рекомендациям
Интернационального
Союза
Телекоммуникаций
(International Telecommunication Union) по X.25 (X.25
режим DTE-DCE).
Сокеты X25
также можно
использовать
для связи
без наличия
промежуточной
X.25 сети (X.25 режим
DTE-DTE) как
описано в
стандарте ISO-8208.
Для работы с
передаваемыми
через сокет
данными
сохраняется
использование
вызова
read(2)
для чтения
данных из
сокета и
вызова
write(2)
для записи
данных в
сокет. Когда
это
необходимо,
ядро следит
за
сегментированием
и
реассемблирует
длинные
сообщения
через X.25 M-bit. Не
существует
жёсткого
ограничения
на
максимальный
размер
сообщения.
Однако,
реассемблирование
длинного
сообщения
может
закончиться
неудачно,
если
существует
временная
нехватка
системных
ресурсов или
другие
ограничения
(такие как
память
сокета или
лимиты на
размер
буфера). Если
возникает
такая
ситуация, то
соединение X.25
будет
сброшено.
АДРЕСА
СОКЕТОВ¶
Семейство
адреса
сокета
AF_X25
использует
структуру
struct
sockaddr_x25 для
представления
сетевого
адреса, как
описано в
рекомендации
ITU-T X.121.
struct sockaddr_x25 {
sa_family_t sx25_family; /* must be AF_X25 */
x25_address sx25_addr; /* X.121 Address */
};
sx25_addr содержит
массив
символов
x25_addr[] ,
который
будет
интерпретироваться
как строка,
завершающаяся
нулём.
sx25_addr.x25_addr[]
содержит до
15-ти (не считая
завершающего
нуля)
символов ASCII,
формирующих
адрес X.121.
Разшаются
только
десятичные
цифры от `0' до `9'.
ОПЦИИ
СОКЕТА¶
Если
параметр level
установлен в
значение
SOL_X25,
то при
использовании
setsockopt(2) могут
быть
установлены,
а при
использовании
getsockopt(2) могут
быть
прочитаны
следующие
специфичные
для X.25 опции.
- X25_QBITINCL
- Управляет
битом X.25 Q-бит
(Qualified Data Bit -- Бит
Пригодности
Данных)
который
доступен
пользователю.
Опция
использует
целое число
как
аргумент.
Если он
установлен
в 0 (по
умолчанию),
то Q-бит
никогда не
устанавливается
Если он
установлен
в 1, то каждое
прочитываемое
или
записываемое
в сокет
сообщение
предваряется
дополнительным
байтом. Для
данных,
которые
читаются из
сокета,
нулевой
первый байт
говорит, что
Q-биты в
соответствующих
входящих
пакетах
данных не
установлены.
Если первый
байт имеет
значение 1, то
это говорит,
что в
соответствующих
входящих
пакетах
данных
установлены
Q-биты. Если
первый байт
данных,
которые
записываются
в сокет
имеет
значение 1, то
для
соответствующих
исходящих
пакетов
данных
будет
установлен
Q-бит. Если
первый байт
имеет
значение 0, то
Q-бит
установлен
не будет.
БАГИ¶
Имеются в
наличии, так
как PLP
реализация X.25
является
экспериментальной
CONFIG_EXPERIMENTAL.
Данная
страница
руководства
является
неполной.
Пока не
существует
заголовочных
файлов,
предназначенных
для
программирования
приложений;
вам
необходимо
включать
заголовочный
файл ядра
<linux/x25.h>.
CONFIG_EXPERIMENTAL
также может
неявно
означать,
что будущие
версии
данного
интерфейса
не будут
бинарно
совместимыми.
События X.25 N-Reset
пока не
передаются
пользовательскому
процессу.
Так что, если
случится
сброс
соединения,
данные могут
быть
потеряны без
уведомления.
СМОТРИ
ТАКЖЕ¶
socket(7),
socket(2)
Jonathan Simon Naylor: “Новый
анализ и
реализация
X.25.” Адрес в
Интернет
ВЕРСИИ¶
Семейство
протокола PF_X25
является
новой
возможностью
Linux 2.2.
ПЕРЕВОД¶
Перевёл с
английского
Виктор
Вислобоков
<corochoone@perm.ru> 2005