CLIENTLIB(3)

名前
clientlib - InterNetNews 用 NNTP クライアント用ライブラリ

形式
extern FILE	*ser_rd_fp;
extern FILE	*ser_wr_fp;
extern char	ser_line[];
char *
getserverbyfile(file)
    char	*file;
int
server_init(host)
    char	*host;
int
handle_server_response(response, host)
    int	reponse;
    char	*host;
void
put_server(text)
    char	*text;
int
get_server(buff, buffsize)
    char	*buff;
    int	buffsize;
void
close_server()

機能説明
この man ページは InterNetNews ライブラリである libinn(3) の一部を説明します。 これは rrn のようなプログラムを構築するために使用する NNTP 機能の配布の一部である ``clientlib'' の代わりとなります。

getserverbyfile は GetConfigValue を呼んでローカルの NNTP サーバの名前を取得します。 戻り値はスタティックな領域へのポインタとなります。 引数の file は無視されます。

server_init は host で指定した NNTP サーバへのコネクションを張ります。 戻り値はサーバからの NNTP のレスポンドコードかエラーであれば -1 となります。 コネクションを張ると、 ser_rd_fp と ser_wr_fp を使用してサーバに対して read や write を行うことができ、それぞれ ser_line にサーバからのレスポンドコードが入っています。 ser_line は他のルーチンでも使用することができます。

handle_server_response は host 上のサーバからの response をデコードします。 クライアントがサーバとの対話が認められていれば戻り値は 0 となります。 read のみ認められてされているクライアントは handle_server_response により標準出力にメッセージを出力します。 クライアントがサーバとの対話が認められていなければ、そのメッセージが出力され戻り値は -1 となります。

put_server は NNTP で必要な行末文字を追加して buff 内のテキストをサーバに送り、I/O バッファをフラッシュします。

get_server は buff にサーバから送られてきたテキストを buffsize の文字数まで読み込みます。 テキストの最後の \r\n は除去されています。 get_server でエラーがあれば戻り値は -1 となります。

close_server はサーバに ``quit'' コマンドを送ってコネクションを終了します。

履歴
InterNetNews 用に Rich $alz <rsalz@uunet.uu.net> により記述されました。

参照項目
libinn(3)