__convert_id_np() - DCE UUID とユーザー ID との変換

標準

標準/拡張機能 C/C++ 依存項目
z/OS®UNIX 両方  

形式

#include <unistd.h>

int __convert_id_np(int function_code,
                    char *principal_uuid,
                    char *cell_uuid,
                    char *userid);

機能説明

__convert_id_np() 関数は、ユーザー ID に関連した DCE UUID、また は DCE UUID に関連したユーザー ID を検索するために使用します。

この関数は、複数のクライアントからの要求を 処理する DCE サーバーを意図したものです。例えば、クライアントからの DCE RPC 要求 は、DCE UUID のみによって識別されます。この関数により、サーバーはリクエスターのユーザー ID を 取り出すことができます。

サポートされるパラメーターは次のとおりです。
function_code
ユーザー ID または UUID のどちらを取り出すかを示します。指定可能な機能コードは次のとおりです。
__GET_USERID
指定の UUID に関連したユーザー ID を戻す。
__GET_UUID
指定のユーザー ID に関連した UUID を戻す。
principal_uuid
__GET_USERID を指定すると、principal_uuid には 指定のユーザー ID のユーザーの UUID が入ります。__GET_UUID を指定すると、principal_uuid は 指定のユーザー ID 用に取り出された UUID を戻します。呼び出し元は、戻される principal_uuid 用 に 36 バイトのフィールドを準備しなければなりません。
cell_uuid
_GET_USERID を指定すると、cell_uuid には セル UUID が入ります (既知の場合)。既知でない場合、cell_uuid は NULL で なければなりません。__GET_UUID を指定すると、cell_uuid は、取り出されるセル UUID が指定のユーザー ID 用に 定義されていれば、この UUID を戻します。呼び出し元は、戻される cell_uuid 用 に 36 バイトのフィールドを準備しなければなりません。
userid
_GET_USERID を指定すると、userid は 指定の UUID 用に取り出されたユーザー ID を戻します。呼び出し元は、戻されるユーザー ID 用に 9 バイトの フィールドを準備しなければなりません。__GET_UUID を指定すると、userid には UUID を 取り出すユーザー ID が入ります。ユーザー ID は、1 ~ 8 文字の長さでなければなりません。

戻り値

正常に実行された場合、__convert_id_np() は 0 を戻します。

正常に実行されなかった場合、__convert_id_np() は -1 を戻して、errno を次のいずれかの 値に設定します。
エラー・コード
説明
EINVAL
次のエラーのいずれかが検出されました。
  • 指定された function_code が未定義です。
  • __GET_UUID が指定されたが、ユーザー ID が 1 ~ 8 文字 の範囲にありません。
  • __GET_USERID が指定されたが、ユーザー ID が 9 文字の 長さではありません。
EMVSERR
MVS™ 環境エラーまたは内部エラーが発生しました。
EMVSSAF2ERR
次のエラーのいずれかが検出されました。
  • セキュリティー・プロダクトに対して 予期しない戻りコードを受け取りました。
  • セキュリティー・プロダクトが入力パラメーターでエラーを検出されました。
  • セキュリティー・プロダクトで内部エラーが発生しました。
ENOSYS
次のエラーのいずれかが検出されました。
  • セキュリティー・プロダクトがシステムに インストールされていません。
  • セキュリティー・プロダクトがこの関数をサポートしていません。
ESRCH
次のエラーのいずれかが検出されました。
  • UUID と Userid の間にマッピングが存在しません。
  • Userid と UUID の間にマッピングが存在しません。
  • DCEUUIDS クラスがアクティブではありません。
  • __GET_UUID が指定されたが、ユーザー ID に セル UUID が定義されていません。
  • ユーザー ID がセキュリティー・プロダクトに定義されていません。

関連情報