bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo C リファレンス > セクション 3c - C 関数 |
Tuxedo C リファレンス
|
名前
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 を次のいずれかの値に設定します
関連項目
tpservice(3c)、tpunadvertise(3c)
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |