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

Tuxedo C リファレンス

 Previous Next Contents View as PDF  

tpadmcall(3c)

名前

tpadmcall()−ブートされていないアプリケーションの管理

形式

#include <atmi.h> 
#include <fml32.h>
#include <tpadm.h>

int tpadmcall(FBFR32 *inbuf, FBFR32 **outbuf, long flags)

機能説明

tpadmcall() は、ブートされていないアプリケーションの属性の検索と更新に使用します。また、アクティブなアプリケーションで、限られた属性の集合を直接検索することもできます。この場合、外部プロセスとの通信は必要ありません。この関数は、システム提供のインターフェイス・ルーチンを使用してシステムのコンフィギュレーションと管理が完全に行えるような十分な機能を提供します。

inbuf には、tpalloc() によって以前に割り当てた、希望する管理操作とそのパラメータが入っている FML32 バッファへのポインタを指定します。

outbuf には、結果を入れる FML32 バッファへのポインタのアドレスを指定します。outbuf は、元々 tpalloc() によって割り当てられた FML32 バッファを指していなければなりません。送信と受信に同じバッファを使用する場合は、outbuf には inbuf のアドレスを指定してください。

現在 tpadmcall() の最後の引数の flags は将来の使用のために予約されているため、0 に設定しなければなりません。

MIB(5) を調べて、管理要求の構築に関する一般的な情報を得る必要があります。また TM_MIB(5) および APPQ_MIB(5) を調べて、tpadmcall() を通してアクセスできるクラスについて情報を得る必要があります。

tpadmcall() は次の4つのモードで呼び出すことができます。

モード 1:ブートされていない、環境設定されていないアプリケーション

呼び出し元は、アプリケーションの管理者であると考えられます。許される操作は、NEW T_DOMAIN クラス・オブジェクトに対して SET を実行してアプリケーションの初期コンフィギュレーションを定義すること、そして APPQ_MIB() で定義されているクラスのオブジェクトに対して GET および SET を実行することだけです。

モード 2:ブートされていない、コンフィギュレーションされたアプリケーション

呼び出し元は、割り当てられた管理者であるか、ローカル・システムの管理者用のコンフィギュレーションで定義された権限と自分の uid/gid を比較した結果に基づく他の権限を持っています。呼び出し元は、TM_MIB() および APPQ_MIB() のあらゆるクラスのあらゆる属性に対して、これらに対して適切なパーミッションを持つ場合に、GET および SET を実行できます。クラスによっては、起動されていないアプリケーションからアクセスできない属性だけを持ち、これらのクラスへのアクセスが失敗する場合があることに注意してください。

モード 3:ブートされたアプリケーション、アタッチされていないプロセス

呼び出し元は、割り当てられた管理者であるか、ローカル・システムの管理者用のコンフィギュレーションで定義された権限と自分の uid/gid を比較した結果に基づく他の権限を持っています。呼び出し元は、TM_MIB() のあらゆるクラスのあらゆる属性に対して、これらに対して適切なパーミッションを持つ場合に、GET を実行できます。同様に呼び出し元は、クラス固有の制限にもよりますが、APPQ_MIB() のあらゆるクラスのあらゆる属性に対して GET および SET を実行できます。ACTIVE であるときにのみアクセスできる属性は返されません。

モード 4:ブートされたアプリケーション、アタッチされているプロセス

tpinit() の実行時に割り当てられた認証キーに従ってパーミッションが決められます。呼び出し元は、TM_MIB() のあらゆるクラスのあらゆる属性に対して、これらに対して適切なパーミッションを持つ場合に、GET を実行できます。さらに呼び出し元は、クラス固有の制限にもよりますが、APPQ_MIB() のあらゆるクラスのあらゆる属性に対して GET および SET を実行できます。

これらのインターフェイス・ルーチンを使用したバイナリの BEA Tuxedo ATMI システム・アプリケーション・コンフィギュレーション・ファイルに対するアクセスおよび更新は、ディレクトリ名やファイル名に関する UNIX システムのパーミッションによって制御されます。

マルチスレッドのアプリケーションの場合、TPINVALIDCONTEXT 状態のスレッドは tpadmcall() の呼び出しを発行できません。

環境変数

このルーチンを呼び出す前に、次の環境変数を設定する必要があります。

TUXCONFIG

このアプリケーションに対する BEA Tuxedo システムのコンフィギュレーション・ファイルを保存するファイルまたはデバイスの名前を指定します。

注意事項

tpadmcall() を使用する場合、GET 要求における TA_OCCURS 属性の使用はサポートされていません。tpadmcall() を使用する場合、GETNEXT 要求はサポートされていません。

戻り値

tpadmcall() は成功すると 0 を、失敗すると -1 を返します。

エラー

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

注記 TPEINVAL の場合を除いて、呼び出し元の出力バッファ outbuf は、TA_ERRORTA_STATUS、そして場合によっては TA_BADFLD を含むように変更され、エラー条件についてさらに詳しい情報が得られます。このようにして返されるエラー・コードについて詳しくは、MIB(5)TM_MIB(5)、および APPQ_MIB(5) を参照してください。

[TPEINVAL]

無効な引数が指定されました。flags の値が無効であるか、inbuf または outbuf は &“ML32&”タイプの型付きバッファへのポインタではありません。

[TPEMIB]

管理要求が失敗しました。outbuf が更新され、MIB(5) および TM_MIB(5) で説明するエラーの原因を示す FML32 のフィールドが設定され、呼び出し側に返されました。

[TPEPROTO]

tpadmcall() が不正に呼び出されました。

[TPERELEASE]

環境変数 TUXCONFIG に別のリリース・バージョンのコンフィギュレーション・ファイルが設定されて、tpadmcall() が呼び出されました。

[TPEOS]

オペレーティング・システムのエラーが発生しました。失敗したシステム・コールを示す数値が Uunixerr に入っています。

[TPESYSTEM]

BEA Tuxedo システムのエラーが発生しました。このエラーの正確な内容は userlog() に書き込まれます。

相互運用性

このインターフェイスは、ローカルなコンフィギュレーション・ファイルおよび掲示板に対するアクセスおよび更新しかサポートしていません。したがって、相互運用性の問題はありません。

移植性

このインターフェイスは、BEA Tuxedo ATMI リリース 5.0 またはそれ以降が稼動する UNIX System のサイトでしか利用できません。

ファイル

${TUXDIR}/lib/libtmib.a${TUXDIR}/lib/libqm.a${TUXDIR}/lib/libtmib.so.<rel>${TUXDIR}/lib/libqm.so.<rel>${TUXDIR}/lib/libtmib.lib${TUXDIR}/lib/libqm.lib

buildclient を使用する場合は、ライブラリを手動でリンクする必要があります。この場合、-L${TUXDIR}/lib -ltmid -lqm を指定します。

関連項目

ACL_MIB(5)APPQ_MIB(5)EVENT_MIB(5) に関する追加情報MIB(5)TM_MIB(5)WS_MIB(5)
BEA Tuxedo アプリケーションの設定』
『BEA Tuxedo アプリケーション実行時の管理』

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy