X25
Section: Linux Programmer's Manual (7)
Updated: 2017-09-15
Index
JM Home Page
roff page
名前
x25 - ITU-T X.25 / ISO-8208 プロトコルインターフェース
書式
#include <sys/socket.h>
#include <linux/x25.h>
x25_socket = socket(AF_X25, SOCK_SEQPACKET, 0);
説明
X25 ソケットは X.25 パケット層プロトコルに対するインターフェースを提供する。 これにより、アプリケーションはパブリックな X.25
データネットワークで 通信することができるようになる。 X.25 は International Telecommunication Union's
recommendation X.25 (X.25 DTE-DCE mode) で標準化されている。 X25 ソケットは、中間層のない X.25
ネットワーク (X.25 DTE-DTE mode) での通信にも用いることができる。 DTE-DTE モードは ISO-8208 に記述されている。
メッセージ境界は保存される。ソケットからの read(2) は、反対側のソケットからの対応する write(2)
と同じ大きさのデータを受け取り、出力する。 必要がある場合は、カーネルが長いメッセージの 分割 (segmenting) と再構成
(reassembling) を行う。 これには X.25 の M ビットが用いられる。 メッセージサイズには、ハードコーディングされた上限はない。
しかし、一時的にシステムリソースが足りなかったり、 他の制約 (ソケットメモリーバッファーのサイズ制限など) が
効いてしまうと、長いメッセージの再構成には失敗するかもしれない。 この場合、その X.25 接続はリセットされることになる。
ソケットアドレス
AF_X25 ソケットアドレスファミリーは、ネットワークアドレスを表すために struct sockaddr_x25 を用いる。これは
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 には char 配列 x25_addr[] を含まれる。これは 0 で終端する文字列として解釈される。
sx25_addr.x25_addr[] は 15 個までの ASCII 文字を含むことができ (終端のヌルバイトは含まない)、 これが
X.121 アドレスをなす。 10 進の数文字、'0' から '9' までだけが許される。
ソケットオプション
以下の X.25 特有のソケットオプションは、 setsockopt(2) で設定でき、 getsockopt(2)
で取得できる。このとき level 引数には SOL_X25 を指定する。
- X25_QBITINCL
-
X.25 の Q ビット (Qualified データビット) にユーザーがアクセス できるかどうかをコントロールする。整数の引数を取る。 0
にセットすると、 Q ビットは発信パケットには決してセットされず、 受信パケットでは無視される (デフォルト)。 1
にセットすると、ソケットから読む、あるいはソケットに送る メッセージそれぞれに先頭バイトが前置される。 ソケットから読んだデータでは、先頭バイトが 0
だと、 この到着データパケットに対応する Q ビットはセットされていなかったことになる。 先頭バイトが 1 だと、到着データパケットの Q
ビットがセットされていたことになる。 ソケットに書き込むデータの先頭バイトが 1 だと、 その発信パケットの Q ビットをセットする。 0 だと、 Q
ビットをセットしない。
バージョン
AF_X25 プロトコルファミリーは Linux 2.2 の新機能である。
バグ
X.25 PLP 実装は CONFIG_EXPERIMENTAL なので、たくさんあるだろう。
この man ページは完成していない。
まだアプリケーションプログラマー用のヘッダーファイルがない。 カーネルのヘッダーファイル <linux/x25.h>
をインクルードしなければならない。 CONFIG_EXPERIMENTAL なので、将来のバージョンのインターフェースでは
バイナリ互換性が失われるかもしれない。
X.25 N-Reset イベントは、まだユーザープロセスに伝播しない。 したがってリセットが起こると、データは通知無しに失われる。
関連項目
socket(2), socket(7)
Jonathan Simon Naylor: "The Re-Analysis and Re-Implementation of
X.25." The URL is
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/ に書かれている。
Index
- 名前
-
- 書式
-
- 説明
-
- ソケットアドレス
-
- ソケットオプション
-
- バージョン
-
- バグ
-
- 関連項目
-
- この文書について
-
This document was created by
man2html,
using the manual pages.
Time: 16:46:43 GMT, November 24, 2023