ライブラリの使用方法

JP1/FTP APIライブラリは,JP1/FTPのファイル伝送機能をユーザプログラムから利用するときに使用します。

JP1/FTP APIライブラリを使用して,次のことができます。

言語

ユーザプログラムで使用できる言語を次に示します。

環境設定

/etc/servicesの設定

JP1/FTP Clientのサービス名「ftsc」を設定します。詳しくは,「2.3.3 ポート番号を設定する」を参照してください。

/etc/hostsの設定

クライアント側のJP1/FTPデーモンが動作しているホストのホスト名とIPアドレスを設定します。このホスト名はfts_ftp_open()の第1引数,伝送情報構造体で指定します。

/etc/hostsに次の1行を追加してください。

xxx.xxx.xxx.xxx      yyyyyy

(凡例)
xxx.xxx.xxx.xxx :IPアドレス
yyyyyy:ホスト名

コーディング

伝送情報の指定

ファイル伝送要求の登録は,fts_ftp_syn_request_ex(),fts_ftp_asyn_request_ex()の引数に登録済みの伝送カード名や伝送情報構造体のアドレスを設定します。

注意事項
char型の変数値の最後は,「¥0」にしてください。

伝送終了情報の取得

fts_ftp_syn_request_ex(),fts_ftp_asyn_request_ex()で登録した伝送要求に対する終了情報を取得できます。

typedef struct _FTS_FTP_API_RETDATA_EX {
 /* 常時のデータ */
 int trans_status;               /* 伝送終了状態 成功(TRANS_SUCCESS)  */
                                 /* 伝送終了情報 失敗(TRANS_FAILURE)  */
 char cardname[20+1];            /* カード名称 */
 unsigned long trno;             /* 伝送番号 */
 unsigned long trcno;            /* 接続番号 */

 /* 伝送成功時のデータ */
 unsigned long trans_size;       /* 伝送データサイズ */

 /* 伝送(圧縮)成功時のデータ */
 unsigned long trans_size_comp;  /* 圧縮後伝送データサイズ */

 /* 失敗時のデータ */
 int ab_kind;                     /* システムコールエラー(FTS_ERR_SYSTEM) */
                                 /* 論理エラー(FTS_ERR_LOGIC) */
                                 /* プロトコルエラー(FTS_ERR_PROTOCOL) */
                                 /* 強制終了エラー(FTS_ERR_FORCE) */
 char ab_place[8];               /* エラー発生場所 */
 char ab_func[32];               /* エラー発生モジュール名称 */
 char ab_system[32];             /* システムコール名称 */
 unsigned long ab_errno;         /* エラー番号 */
 char ab_promes[256];            /* プロトコルメッセージ(エラー) */

 char full_trans_size[8];        /* 伝送データサイズ */
 char full_trans_size_comp[8];   /* 圧縮後伝送データサイズ */

 char reserve[1672];             /* 予約領域 */
} FTS_FTP_API_RETDATA_EX;

 trans_status  :伝送の終了状態を示す次の値を返します。
                    TRANS_SUCCESS(正常終了)
                    TRANS_FAILURE(異常終了)
 cardname      :伝送のカード名称を返します。
 trno          :伝送番号を返します。
 trcno         :接続番号を返します。
 trans_size    :(正常終了時だけ)
                    伝送データサイズ(Linux(IPF)の場合に参照します。
                    Linux(IPF)以外の場合は伝送データサイズが4ギガバ
                    イト未満のときだけ参照可能です。)
 trans_size_comp    
               :(正常終了時だけ)
                    圧縮後伝送データサイズ(Linux(IPF)の場合に参照し
                    ます。Linux(IPF)以外の場合は圧縮後伝送データサイズ
                    が4ギガバイト未満のときだけ参照可能です。)
 ab_kind       :(異常終了時だけ)
                  エラー種別を返します。
                    FTS_ERR_SYSTEM(システムコールエラー)
                    FTS_ERR_LOGIC(論理エラー)
                    FTS_ERR_PROTOCOL(プロトコルエラー)
                    FTS_ERR_FORCE(強制終了エラー)
 ab_place      :(異常終了時だけ)
                    エラー発生場所を返します。
 ab_func       :(異常終了時だけ)
                    エラー発生モジュール名称を返します。
 ab_system     :(異常終了時だけ)
                    システムコール名称を返します。
 ab_errno      :(異常終了時だけ)
                    システムコールエラー番号を返します。
 ab_promes     :(異常終了時だけ)
                    サーバ(着信側)より送られてきたプロトコルメッセージ
                    を返します。
 full_trans_size
               :(正常終了時だけ)
                    伝送データサイズ(Linux(IPF)の場合は使用できま
                    せん。Linux(IPF)以外の場合に参照しますが,
                    fts_ftp_buftoll()を使用して参照します。)
 full_trans_size_comp
               :(正常終了時だけ)
                    圧縮後伝送データサイズ(Linux(IPF)の場合は使用
                    できません。Linux(IPF)以外の場合に参照しますが,
                    fts_ftp_buftoll()を使用して参照します。)

コンパイルとリンク

ライブラリ使用時の注意事項

マルチスレッド・プログラム用ライブラリ使用時の注意事項