bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

tpadvertise(3c)

名前

tpadvertise()−サービス名の宣言を行うルーチン

形式

#include <atmi.h>
int tpadvertise(char *svcname, void (*func)(TPSVCINFO *))

機能説明

tpadvertise() 使用するとサーバは提供するサービスを宣言することができます。デフォルトの設定では、サーバのサービスは、サーバのブート時に宣言され、サーバのシャットダウン時にその宣言が解除されます。

複数サーバ単一キュー (MSSQ) セットに属するすべてのサーバは、同じサービス・セットを提供しなければなりません。これらのルーチンは、MSSQ セットを共有する全サーバを宣言することによってこの規則を適用します。

tpadvertise() は、サーバ (あるいは、呼び出し元の MSSQ セットを共有するサーバのセット) の svcname を宣言します。svcname に NULL あるいは NULL 文字列 (&dl“q;) を指定することはできません。また、長さは 15 文字までとしてください(UBBCONFIG(5) の SERVICES セクションを参照)。func は BEA Tuxedo ATMI システムのサービス関数のアドレスです。この関数は、svcname に対する要求をサーバが受け取ったときに起動されます。func に NULL を指定することはできません。明示的に指定された関数名 (servopts(5) 参照) は、128 文字までの長さを指定できます。15 文字を超える名前は受け入れられますが、15 文字に短縮されます。このため、短縮された名前が他のサービス名と同じにならないよう、注意が必要です。

svcname がすでにサーバに対して宣言されていて、func がその現在の関数と一致する (すでに宣言されている名前に一致する短縮された名前も含まれます) 場合、tpadvertise() は正常に終了します。ただし、svcname がすでにサーバに対して宣言されていても、func が現在の関数と一致しない場合には (短縮された名前がすでに宣言されている名前と同じ場合にも)、エラーが返されます。

'.' で始まるサービス名は、管理用サービスのために予約されています。アプリケーションがこれらのサービスの一つを宣言しようとするとエラーが返されます。

戻り値

異常終了すると、tpadvertise() は -1 を返し、tperrno を設定してエラー条件を示します。

エラー

異常終了時には、tpadvertise()tperrno を次のいずれかの値に設定します

[TPEINVAL]

svcname が NULL または NULL 文字列 (&dlq;&d“であるか、ピリオド (&d“drq;) で開始するか、または func が NULL である場合。

[TPELIMIT]

領域に制限があるため、svcname を宣言できない場合(UBBCONFIG(5)RESOURCES セクションの MAXSERVICES を参照)。

[TPEMATCH]

svcname は、すでにこのサーバについて宣言されていますが、それは、func 以外の関数で行われました。この関数は異常終了しても、svcname はその現在の関数で宣言されたまま変わりません (すなわち、func は現在の関数と振り変わりません)。

[TPEPROTO]

tpadvertise() が不正なコンテキストで呼び出された場合 (たとえば、クライアントによって)。

[TPESYSTEM]

BEA Tuxedo システムのエラーが発生しました。エラーの正確な内容がログ・ファイルに書き込まれます。

[TPEOS]

オペレーティング・システムのエラーが発生しました。

関連項目

tpservice(3c)tpunadvertise(3c)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy