x25 中文man頁面
NAME
x25, PF_X25 - ITU-T X.25 / ISO-8208 協(xié)議接口。
總覽
#include <sys/socket.h>
#include <linux/x25.h>
x25_socket = socket(PF_X25, SOCK_SEQPACKET, 0);
描述
X25 sockets 為 X.25 數(shù)據(jù)包層協(xié)議(packet layer protocol)提供接口。這令應用程序可以使用標準的 ITU X.25 建議(X.25 DTE-DCE 模式)在公共 X.25 數(shù)據(jù)網(wǎng)中進行通訊。 X25 socket 也可以在沒有在 ISO-8208中描述的那樣的 X.25 中介(X.25 DTE-DCE 模式)的網(wǎng)絡進行通訊.
信息分界的保持 - 對 socket 進行 read(2) 得到的數(shù)據(jù)塊與對端 socket 對應 write(2) 動作輸出的數(shù)據(jù)塊是完全一樣的.如果必要,內(nèi)核負責處理信息片段和重組長信息,用的是 X.25 M-bit 方法(校注:請懂 x.25 的同志指正)。對信息大小沒有硬編碼的上限。 但是重組長信息有時會失敗(比如系統(tǒng)資源暫時匱乏,或是出現(xiàn)其他的諸如此類的限制時)。如果出現(xiàn)這種情況,X.25 連接將被重置。
套接口地址 SOCKET ADDRESS
AF_X25 socket 地址族用 struct sockaddr_x25 代表 ITU-T X.121 規(guī)范中定義的網(wǎng)絡地址。
-
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 地址。只能使用數(shù)字 `0' 到 `9' 。
套接字選項 SOCKET OPTIONS
以下 X.25 相關的套接字選項可以在級別參數(shù)設置為 SOL_X25 時用 setsockopt(2) 設定并可用 getsockopt(2) 讀取。
- X25_QBITINCL
- 控制用戶是否能夠訪問 X.25 Q-bit ((資格數(shù)據(jù)位)Qualified Data Bit)。接受整型參數(shù)。 如果設為 0 (缺省), 那么傳出的數(shù)據(jù)包不設置 Q-bit 傳入的數(shù)據(jù)包中的 Q-bit 被忽略。如果設為 1, 就會在通過該套接字傳入傳出的信息中附加一個前置的首字節(jié)。對于從套接字中數(shù)據(jù), 首位字節(jié)的 0 表示對應的讀入包未設置 Q-bit;而如果是 1 則相反。 如果通過套接字寫入(傳出)的數(shù)據(jù)中首位字節(jié)為 1 則傳出包設置 Q-bit ,如果是 0 則不設置 Q-bit。
缺憾
有很多, 比如 X.25 PLP 實現(xiàn) CONFIG_EXPERIMENTAL.(譯注:內(nèi)核編譯選項,尚處于試驗階段)。
本手冊頁也不完善。
還沒有給程序員用的頭文件;您需要包含內(nèi)核頭文件 linux/x25.h CONFIG_EXPERIMENTAL 也暗示著未來的接口版本可能在二進制級別不兼容。
X.25 N-重置事件(Reset events)還不會傳播給用戶進程。因此,如果重置,可能會發(fā)生數(shù)據(jù)丟失而得不到任何提示。
另見
socket(7), socket(2).
Jonathan Simon Naylor: lqThe Re-Analysis and Re-Implementation of X.25.rq The URL is
#p#
NAME
x25, PF_X25 - ITU-T X.25 / ISO-8208 protocol interface.
SYNOPSIS
#include <sys/socket.h>
#include <linux/x25.h>
x25_socket = socket(PF_X25, SOCK_SEQPACKET, 0);
DESCRIPTION
X25 sockets provide an interface to the X.25 packet layer protocol. This allows applications to communicate over a public X.25 data network as standardised by International Telecommunication Union's recommendation X.25 (X.25 DTE-DCE mode). X25 sockets can also be used for communication without an intermediate X.25 network (X.25 DTE-DTE mode) as described in ISO-8208.
Message boundaries are preserved - a read(2) from a socket will retrieve the same chunk of data as output with the corresponding write(2) to the peer socket. When necessary, the kernel takes care of segmenting and re-assembling long messages by means of the X.25 M-bit. There is no hard-coded upper limit for the message size. However, re-assembling of a long message might fail if there is a temporary lack of system resources or when other constraints (such as socket memory or buffer size limits) become effective. If that occurs, the X.25 connection will be reset.
SOCKET ADDRESSES
The AF_X25 socket address family uses the struct sockaddr_x25 for representing network addresses as defined in ITU-T recommendation X.121.
-
struct sockaddr_x25 { sa_family_t sx25_family; /* must be AF_X25 */ x25_address sx25_addr; /* X.121 Address */ };
sx25_addr contains a char array x25_addr[] to be interpreted as a null-terminated string. sx25_addr.x25_addr[] consists of up to 15 (not counting the terminating 0) ASCII characters forming the X.121 address. Only the decimal digit characters from `0' to `9' are allowed.
SOCKET OPTIONS
The following X.25 specific socket options can be set by using setsockopt(2) and read with getsockopt(2) with the level parameter set to SOL_X25.
- X25_QBITINCL
- Controls whether the X.25 Q-bit (Qualified Data Bit) is accessible by the user. It expects an integer argument. If set to 0 (default), the Q-bit is never set for outgoing packets and the Q-bit of incoming packets is ignored. If set to 1, an additional first byte is prepended to each message read from or written to the socket. For data read from the socket, a 0 first byte indicates that the Q-bits of the corresponding incoming data packets were not set. A first byte with value 1 indicates that the Q-bit of the corresponding incoming data packets was set. If the first byte of the data written to the socket is 1 the Q-bit of the corresponding outgoing data packets will be set. If the first byte is 0 the Q-bit will not be set.
BUGS
Plenty, as the X.25 PLP implementation is CONFIG_EXPERIMENTAL.
This man page is incomplete.
There is no dedicated application programmer's header file yet; you need to include the kernel header file <linux/x25.h>. CONFIG_EXPERIMENTAL might also imply that future versions of the interface are not binary compatible.
X.25 N-Reset events are not propagated to the user process yet. Thus, if a reset occurred, data might be lost without notice.
SEE ALSO
socket(7), socket(2)
Jonathan Simon Naylor: lqThe Re-Analysis and Re-Implementation of X.25.rq The URL is
- ftp://ftp.pspt.fi/pub/ham/linux/ax25/x25doc.tgz