Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ns(3N) — NEWS-os 4.2.1R

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

hosts(5)

networks(5)

NS(3N)  —  NEWS-OS Programmer’s Manual

名称

ns_addr, ns_ntoa − XNS(tm)のアドレス変換ルーチン

形式

#include <sys/types.h>
#include <netns/ns.h>

struct ns_addr ns_addr(cp)
char ∗cp;

char ∗ns_ntoa(ns)
struct ns_addr ns;

解説

ルーチン ns_addr は、 XNSアドレスを表している文字列を解釈し、 システムコールに適したバイナリ情報を返します。 ns_ntoa は、 XNSアドレスを取り込み、 ゼロックス開発環境で一般に使用するアドレス表記に変換し、 ASCII文字列で返します。

        <ネットワーク番号>.<ホスト番号>.<ポート番号>

後ろにゼロを持つフィールドはつめられ、 各番号が 16進数表記の ns_addr への入力に適した形式で出力されます。 10進数で表せない数を欠くフィールドは、 後ろに“H”が付加されます。

XNSアドレス表現に対する一般的な基準はありません。 ns_addr は、 一般に使用するほとんどの形式との互換性を 保証することに努めています。 まず、 ピリオド(“.”)、 コロン(“:”)、 ポンド記号(“#”)から選ばれる区切り文字 1文字によって、 アドレスを 1〜3 個のフィールドに分解します。 (コロンやピリオドの)1バイトのセパレータを 求めて、 各フィールドを 検査します。 区切り文字が見つかった場合、 分けられた各フィールドは小さな 16進数として取り出され、 さらにその全部が、 high-network-order バイトでは、 0 に拡張されるような network-byte-order の値として扱われます。 まず、 各フィールドは、 ハイフンを探します。 もしハイフンが見つかると、 このフィールドは、 3桁ごとにハイフンで分けている 10進表記の フィールドと解釈されます。 または、フィールドは数と仮定され、 それは 先頭に“0X”がある(C言語のように)、 後ろに“H”がある(Mesaのように)、 または、 十進で表せない数の桁数がある場合、 このフィールドは 16進数として解釈されます。 先頭に“0”がありさらに 8 を超える数の桁数がない場合、 8進数として解釈されます。 それら以外の場合、 10進数として変換されます。

関連事項

hosts(5), networks(5)

診断

なし(バグを 参照してください)。

バグ

ns_ntoa で返される文字列は、 静的記憶領域を再利用します。
ns_addr は、 不適切な入力形式の原因をつきとめなければなりません。 これを見分ける明白な手段が必要です。

NEWS-OSRelease 4.2.1R

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026