共通デスクトップ環境 ToolTalk メッセージの概要

付録 C 新規の ToolTalk 関数

この章では、今回のリリースで新規に作成された ToolTalk 関数について説明します。これらの関数を使用するには、次のような ToolTalk ヘッダ・ファイルを組み込む必要があります。

#include <Tt/tt_c.h>

tt_error

void tt_error(const char *funcname, Tt_status status)

tt_error() 関数は、一般的によく知られている NULL 関数です。この関数は、TT_OK 以外のステータスを持っている ToolTalk API 呼び出しから返される直前に ToolTalk ライブラリによって呼び出されます。返されようとしている関数名とステータス・コードが渡されます。この呼び出しを使って、tt_error()デバッガのブレークポイントを設定し、ToolTalk エラーをすばやくキャッチして追跡できます。また、たとえば stderr に ToolTalk エラーのログを取るために、この関数を割り込み処理することもできます。次のコード・サンプルは、アプリケーションが上記の動作を行う方法を示しています。

void 
tt_error(const char *funcname, Tt_status status) 
{
    fprintf(stderr, "ToolTalk function %s returned %s.¥n",
            funcname, tt_status_message(status));	
}

tt_file_netfile

char *      tt_file_netfile( const char *  filename );

tt_file_netfile() 関数は、ローカル・パス名と正規のパス名とを対応づけます。filename で指定したファイルを、ネットワーク上の他のホストに渡すことができる netfilename に変換します。filename は、ローカル・ホストで有効な絶対パス名または相対パス名です。filename の最後のコンポーネントは必須ではありませんが、filename のその他の各コンポーネントは必ず存在しなければなりません。


注 -

この関数を使用する前に tt_open 関数を呼び出す必要はありません。


この関数は、エラー・ポインタを返すか、正常終了した場合は未指定の書式の新たに割り当てられた NULL で終了する文字列を返します。この文字列は tt_netfile_file 関数に渡されます。

エラー・ポインタからステータスを取り出すには、tt_ptr_error を使用します。返される可能性のあるエラーを表 C-1 に示します。

表 C-1 tt_file_netfile が返す可能性のあるエラー

エラー 

説明 

TT_ERR_PATH

filename はこのホスト上では有効でないパスです。

TT_ERR_DBAVAIL

ホスト上の rpc.ttdbserverd に到達できませんでした。

TT_ERR_DBEXIST

rpc.ttdbserverd はホストに適切にインストールされていない可能性があります。

割り当てられた文字列を解除するには、tt_free または tt_release 呼び出しを使用します。

ファイル名を同じファイルのローカル・ファイル名に戻すには、tt_netfile_file 関数を使用します。

tt_host_file_netfile

char *  tt_host_file_netfile(   const char *    host,		
                                const char *    filename );

tt_host_file_netfile() 関数は、リモート・ホスト上のローカル・パス名と正規のパス名とを対応づけます。host で指定したファイルを、ネットワーク上の他のホストに渡すことができる netfilename に変換します。filename は、リモート・ホストで有効な絶対パス名または相対パス名です。filename の最後のコンポーネントは必須ではありませんが、その他の各コンポーネントは必ず存在しなければなりません。


注 -

この関数を使用する前に tt_open 関数を呼び出す必要はありません。


この関数は、エラー・ポインタを返すか、正常終了した場合は未指定の書式の新たに割り当てられた NULL で終了する文字列を返します。この文字列は tt_netfile_file 関数に渡されます。

エラー・ポインタからステータスを取り出すには、tt_ptr_error を使用します。返される可能性のあるエラーを表 C-2 に示します。

表 C-2 tt_host_file_netfile が返す可能性のあるエラー

エラー 

説明 

TT_ERR_PATH

filename はリモート・ホスト上では有効でないパスです。

TT_ERR_DBAVAIL

ホスト上の rpc.ttdbserverd に到達できませんでした。

TT_ERR_DBEXIST

rpc.ttdbserverd はホストに適切にインストールされていない可能性があります。

TT_ERR_UNIMP

rpc.ttdbserverd バージョンは、tt_host_file_netfile() 関数をサポートしていません。

ファイル名を同じファイルのローカル・ファイル名に戻すには、tt_host_netfile_file() 関数を使用します。

tt_host_netfile_file

char * tt_host_netfile_file(  const char *      host,
                              const char *      netfilename );

tt_host_file_netfile() 関数は、リモート・ホスト上のローカル・パス名と正規のパス名とを対応づけます。netfilename で指定したファイルを、リモート・ホスト上で有効なパス名に変換します。netfilename は、tt_netfile_file 関数によって返される NULL で終了する文字列のコピーです。


注 -

この関数を使用する前に tt_open 関数を呼び出す必要はありません。


指定されたファイルが現在ローカル・ホストにマウントされていない場合、次のような書式のパス名が作成されます。

/DTMOUNTPOINT/host/filepath

DTMOUNTPOINT は、オートマウントのホスト・マップのために作成されたマウント・ポイントです。環境変数 DTMOUNTPOINT で、このマウント・ポイントを指定することもできます。

host は、ファイルを格納しているホストです。

filepath は、ホストに格納されているファイルに対するパスです。

この関数は、エラー・ポインタを返すか、正常終了した場合は新たに割り当てられた NULL で終了するローカル・ファイル名を返します。

エラー・ポインタからステータスを取り出すには、tt_ptr_error を使用します。返される可能性のあるエラーを表 C-3 に示します。

表 C-3 tt_host_netfile_file が返す可能性のあるエラー

エラー 

説明 

TT_ERR_PATH

netfilename は有効なネットファイル名ではありません。

TT_ERR_DBAVAIL

ホスト上の rpc.ttdbserverd に到達できませんでした。

TT_ERR_DBEXIST

rpc.ttdbserverd はホストに適切にインストールされていない可能性があります。

TT_ERR_UNIMP

rpc.ttdbserverd バージョンは、tt_host_netfile_file() 関数をサポートしていません。

割り当てられた文字列を解除するには、tt_free または tt_release 呼び出しを使用します。

ファイル名を同じファイルのローカル・ファイル名に戻すには、tt_host_file_netfile() 関数を使用します。

tt_message_print

char *	tt_message_print(Tt_message m);

tt_message_print 関数により、理解しないまま受信したメッセージを出力できます。

割り当てられた文字列を解除するには、tt_free または tt_release 呼び出しを使用します。

この関数は、エラー TT_ERR_POINTER を返すか、正常終了した場合は (tt_X_session などの他の ToolTalk API 呼び出しで行われているのと同様の方法で) ToolTalk によって割り当てられたバッファにあるメッセージ m を返します。

tt_netfile_file

char *  tt_netfile_file( const char *  netfilename );

tt_netfile_file 関数は、ローカル・パス名と正規のパス名とを対応づけます。netfilename で指定したファイルを、ローカル・ホスト上で有効なパス名に変換します。netfilename は、tt_netfile_file 関数によって返される NULL で終了する文字列のコピーです。


注 -

この関数を使用する前に tt_open 関数を呼び出す必要はありません。


指定されたファイルが現在ローカル・ホストにマウントされていない場合、次のような形式のパス名が作成されます。

/DTMOUNTPOINT/host/filepath

DTMOUNTPOINT は、オートマウントのホスト・マップのために作成されたマウント・ポイントです。環境変数 DTMOUNTPOINT でこのマウント・ポイントを指定することもできます。

host は、ファイルを格納しているホストです。

filepath は、ホストに格納されているファイルに対するパスです。

この関数は、エラー・ポインタを返すか、正常終了した場合は新たに割り当てられた NULL で終了するローカル・ファイル名を返します。

エラー・ポインタからステータスを取り出すには、tt_ptr_error を使用します。返される可能性のあるエラーを表 C-4 に示します。

表 C-4 tt_netfile_file が返す可能性のあるエラー

エラー 

説明 

TT_ERR_PATH

netfilename は有効なネットファイル名ではありません。

TT_ERR_DBAVAIL

ホスト上の rpc.ttdbserverd に到達できませんでした。

TT_ERR_DBEXIST

rpc.ttdbserverd はホストに適切にインストールされていない可能性があります。

割り当てられた文字列を解除するには、tt_free または tt_release 呼び出しを使用します。

ファイル名を同じファイルのネット・ファイル名に戻すには、tt_file_netfile() 関数を使用します。

tt_pattern_print

char *  tt_message_print(Tt_pattern p);

tt_pattern_print() 関数により、パターンを出力できます。

割り当てられた文字列を解除するには、tt_free または tt_release 呼び出しを使用します。

この関数は、エラー TT_ERR_POINTER を返すか、正常終了した場合は (tt_X_session などの他の ToolTalk API 呼び出しで行われているのと同様の方法で) ToolTalk によって割り当てられたバッファにあるパターン p を返します。