X25(4)

NAME
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 sockets 为 X.25 数据包层协议（packet layer protocol）提供接口。 这令应用程序可以使用标准的 ITU X.25 建议 （X.25 DTE-DCE 模式）在公共 X.25 数据网中进行通讯。 X25 socket 也可以在没有在 ISO-8208中描述的那样的 X.25 中介（X.25 DTE-DCE 模式）的网络进行通讯．

信息分界的保持 - 对 socket 进行 read(2) 得到的数据块与对端 socket 对应 write(2) 动作输出的数据块是完全一样的． 如果必要，内核负责处理信息片段和重组长信息， 用的是 X.25 M-bit 方法（校注：请懂 x.25 的同志指正）。 对信息大小没有硬编码的上限。 但是重组长信息有时会失败 （比如系统资源暂时匮乏，或是出现其他的诸如此类的限制时）。 如果出现这种情况，X.25 连接将被重置。

套接口地址 SOCKET ADDRESS
AF_X25 socket 地址族用 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 个 ASCII 字符（不包括结束的 0）构成 X.121 地址。 只能使用数字 `0' 到 `9' 。

套接字选项 SOCKET OPTIONS
以下 X.25 相关的套接字选项 可以在级别参数设置为 SOL_X25 时用 setsockopt(2) 设定并可用 getsockopt(2) 读取。

X25_QBITINCL
    控制用户是否能够访问 X.25 Q-bit (（资格数据位）Qualified Data Bit)。 接受整型参数。 如果设为 0 (缺省), 那么传出的数据包不设置 Q-bit 传入的数据包中的 Q-bit 被忽略。 如果设为 1, 就会在通过该套接字传入传出的信息中附加一个前置的首字节。 对于从套接字中数据， 首位字节的 0 表示对应的读入包未设置 Q-bit；而如果是 1 则相反。 如果通过套接字写入（传出）的数据中首位字节为 1 则传出包设置 Q-bit ， 如果是 0 则不设置 Q-bit。

缺憾
有很多, 比如 X.25 PLP 实现 CONFIG_EXPERIMENTAL.（译注：内核编译选项，尚处于试验阶段）。

本手册页也不完善。

还没有给程序员用的头文件；您需要包含内核头文件 linux/x25.h CONFIG_EXPERIMENTAL 也暗示着未来的接口版本可能在二进制级别不兼容。

X.25 N-重置事件（Reset events）还不会传播给用户进程。 因此，如果重置，可能会发生数据丢失而得不到任何提示。

另见
socket(7), socket(2).

Jonathan Simon Naylor: “The Re-Analysis and Re-Implementation of X.25.” The URL is

版本
PF_X25 协议族是 Linux 2.2 的新特性.

TRANSBY
LinuxForum.Net CMPP 中文手册页计划 http://cmpp.linuxforum.net

* Thu Oct 26 2000 RedCandle <redcandle51@chinaren.com>
- 初始版本