日本語 man コマンド類 (ja-man-1.1j_5) と日本語 man ドキュメント (ja-man-doc-5.4 (5.4-RELEASE 用) など) をインストールすると、以下のような man コマンド閲覧、キーワード検索が コンソールからできるようになります。
4.11-RELEASE-K, 5.4-RELEASE-K, 5.5-RELEASE-K, 6.0-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、プライベート版 (小金丸が編集してまとめたもの) ですが、 より多くの翻訳したファイルが含まれています。 (5.4-RELEASE-K から 6.4-RELEASE-K, 7.0-RELEASE-K から 7.2-RELEASE-K, 8.0-RELEASE-K は、全翻訳済み)
6.4-STABLE-K, 7.2-STABLE-K, 8.0-STABLE-K は現在、 作成中で日々更新されています。 最新の snapshots を元に作成しています。
ftpio(3) FreeBSD Library Functions Manual ftpio(3)
名称
ftpLogin, ftpChdir, ftpErrno, ftpGetModtime, ftpGetSize, ftpGet, ftpPut,
ftpBinary, ftpPassive, ftpVerbose, ftpGetURL, ftpPutURL - FTPIO ユーザラ
イブラリ
書式
#include <ftpio.h>
FILE *
ftpLogin(char *host, char *user, char *passwd, int ftp_port, int verbose,
int *retcode)
int
ftpChdir(FILE *stream, char *dirname)
int
ftpErrno(FILE *stream)
const char *
ftpErrString(int errno)
time_t
ftpGetModtime(FILE *stream, char *file)
off_t
ftpGetSize(FILE *stream, char *file)
FILE *
ftpGet(FILE *stream, char *file, off_t *seekto)
FILE *
ftpPut(FILE *stream, char *file)
int
ftpAscii(FILE *stream)
int
ftpBinary(FILE *stream)
int
ftpPassive(FILE *stream, int status)
void
ftpVerbose(FILE *stream, int status)
FILE *
ftpGetURL(char *url, char *user, char *passwd, int *retcode)
FILE *
ftpPutURL(char *url, char *user, char *passwd, int *retcode)
解説
この関数は、FTP コネクションを管理するための高レベルなライブラリを実装し
ます。
ftpLogin() は、指定された user, passwd, ftp_port (0 を渡した場合、標準
FTP ポートの 21 がデフォルトで ftp_port になる), verbose フィールドを使用
してログインしようとします。ログインに成功すれば、標準的なストリーム記述
子が戻されます。この記述子は、後の FTP オペレーションに渡してください。エ
ラーが発生した場合は NULL が戻され、 retcode には、外部サーバが戻すエラー
コードが入ります。
ftpChdir() は、サーバの CD コマンドを出し、 dir で指定されたディレクトリ
に変更しようとします。問題がなければゼロが戻されます。問題がある場合は、
サーバのエラーコードが戻されます。
ftpErrno() は、最後のオペレーションのサーバエラーコードを戻します。FTP の
エラーコードに精通している場合は、エラーの原因の確認に有益です。
ftpErrString() は、人間が判読できるサーバエラーコードを戻します。
ftpGet() は、 file 引数が指定するファイルを取り出し (FTP サーバのカレント
ディレクトリからの相対パスと想定される。 ftpChdir() 参照)、そのファイルの
ための新しい FILE* ポインタを戻します。エラーが発生した場合は NULL を戻し
ます。 seekto が NULL ではない場合、これが指す整数の内容は、ファイルの再
開ポイントとして使用されます。つまり、戻されたストリームは、ファイルの
*seekto バイトを指しているということです。これは、エラーで失敗した転送を
効率的に再開する際に便利です。シーク操作がエラーになった場合、 *seekto の
値はゼロになります。
ftpGetModtime() は、 file 引数が指定するファイルの最終修正時刻を戻しま
す。ファイルをオープンできない場合は 0 が戻されます。
ftpGetSize() は、 file 引数が指定するファイルのサイズをバイト単位で戻しま
す。ファイルをオープンできない場合は -1 が戻されます。
ftpPut() は、 file 引数が指定する新しいファイルを作成し (FTP サーバのカレ
ントディレクトリからの相対パスと想定される。 ftpChdir() 参照)、ファイルの
新しい stream ポインタを戻します。エラーが発生した場合は NULL を戻しま
す。
ftpAscii() は、 stream が指定する現行サーバのコネクションに ASCII モード
を設定します。
ftpBinary() は、 stream が指定する現行サーバのコネクションにバイナリモー
ドを設定します。
ftpPassive() は、 stream が指定する現在のサーバのコネクションのパッシブモ
ード (ファイアウォール用) を論理値 status に設定します。
ftpVerbose() は、 stream が指定する現在のサーバのコネクションの冗長モード
を論理値 status に設定します。
ftpGetURL() は、 URL が指定するファイルを取り出します。これは、サーバの
stream が戻されないこと除けば、 ftpLogin(), ftpChdir(), ftpGet() を組み合
わせた操作と同じとみなすことができます。サーバとのコネクションは、ファイ
ルが完全に読み込まれた時点でクローズされます。複数のファイルを取り出す場
合は、低レベルのルーチンを使用してください。この方がはるかに効率的です。
ftpPutURL() は、 URL が指定するファイルを作成します。これは、サーバの
stream が戻されないことを除けば、 ftpLogin(), ftpChdir(), ftpPut() を組み
合わせた操作と同じとみなすことができます。サーバとのコネクションは、ファ
イルが完全に書き込まれた時点でクローズされます。複数のファイルを作成する
場合は、低レベルのルーチンを使用してください。この方がはるかに効率的で
す。
環境変数
FTP_TIMEOUT FTP 接続を異常終了させる前に、通信相手からの応答を待
つ最大時間 (秒単位) です。
FTP_PASSIVE_MODE パッシブモード FTP を強制的に使用します。
バグ
こいつを徹底的に使い込むと、内部状態マシンを混乱させてしまう可能性があり
ますが、私がテストした限りでは、非常に丈夫に作られていることが確かめてあ
ります。
歴史
Poul-Henning Kamp のシステムインストレーションユーティリティ用 ftp ドライ
バとして始まり、Jordan Hubbard が、stdio の拡張というより一般的な形式に変
更しました。Jean-Marc Zucconi のアイデアと拡張機能もいくつか盛り込まれて
います。
作者
Jordan Hubbard,
Poul-Henning Kamp,
Jean-Marc Zucconi
BSD June 17, 1996 3