x25, PF_X25 - интерфейс протокола ITU-T X.25 / ISO-8208
НАЗВАНИЕx25, PF_X25 - интерфейс протокола ITU-T X.25 / ISO-8208.
СИНТАКСИС
#include
#include
x25_socket = socket(PF_X25, SOCK_SEQPACKET, 0);
ОПИСАНИЕ
Сокеты X25 предоставляют интерфейс протоколу X.25
пакетного уровня. Это позволяет приложениям связываться
через общую сеть X.25 в соответствии со стандартом Inter-
national Telecommunication Union's recommendation X.25
(режим X.25 DTE-DCE). Сокеты X25 также могут
использоваться для связи без промежуточной сети X.25
(режим X.25 DTE-DTE), как описано в ISO-8208.
Границы сообщений сохраняются: при вызове read(2) из
сокета будет считана та же последовательность данных, что
и была помещена в него при вызове write(2), произведенного
для записи в сокет другой стороной. При необходимости ядро
заботится о сегментации и сборке длинных сообщений с
помощью X.25 M-bit. Hе существует жестко заданного
ограничения максимального размера сообщений. Тем не менее,
сборка длинного пакета может быть неудачной из-за
временной нехватки системных ресурсов или при наличии
других ограничений (таких, как ограничения памяти или
размера буферов сокета). Если это произойдет, соединение
X.25 будет разорвано.
АДРЕСА СОКЕТОВ
Семейство адресов сокетов AF_X25 использует структуру
struct sockaddr_x25 для предоставления системе адресов,
как определено в рекомендации ITU-T X.121.
struct sockaddr_x25 {
sa_family_t sx25_family; /* Должно быть AF_X25 */
x25_address sx25_addr; /* Адрес X.121 */
};
sx25_addr содержит массив символов x25_addr[],
интерпретируемый как строка, оканчивающаяся нулем.
sx25_addr.x25_addr[] состоит из 15-и (не включая конечный
0) символов ASCII, формирующих адрес X.121. Разрешены
только десятичные цифры от "0" до "9".
ОПЦИИ СОКЕТОВ
Hижеприведенные специфичные для X.25 опции сокета могут
быть установлены с помощью setsockopt(2) и считаны с
помощью getsockopt(2); установленный параметр уровня равен
SOL_X25.
X25_QBITINCL
Определяет, доступен ли пользователю Q-бит X.25
(Qualified Data Bit). Ожидается целочисленный
аргумент. Если он равен нулю (по умолчанию), то
Q-бит никогда не устанавливается для исходящих
пакетов, а входящими пакетами игнорируется. Если он
равен 1, то для каждого сообщения, прочитанного из
сокета или записанного в него, подготавливается
дополнительный первый байт. Для считываемых из
сокета данных первый байт, равный нулю, означает,
что Q-биты соответствующих входящих пакетов данных
не были установлены. Если первый байт имеет
значение 1, то это означает, что Q-бит
соответствующих входящих пакетов данных был
установлен. Если первый байт данных, записываемых в
сокет, равен единице, то Q-бит соответствующих
исходящих пакетов данных будет установлен. Если
первый бит равен нулю, то Q-бит не будет
установлен.
НАЙДЕННЫЕ ОШИБКИ
Замечаний много, так как реализация X.25 PLP является CON-
FIG_EXPERIMENTAL.
Эта страница документации не является полной.
В данное время нет отдельного файла заголовка для
программистов; Вам придется включать в программу файл
заголовка ядра . CONFIG_EXPERIMENTAL также
означает, что следующие версиии интерфейса могут оказаться
несовместимыми на двоичном (бинарном) уровне.
События X.25 N-Reset пока что не передаются процессу
пользователя. Поэтому, если происходит сброс событий,
данные могут незаметно пропасть.
ВЕРСИИ
Семейство протоколов PF_X25 появилось в Linux 2.2.