標準
標準/拡張機能 |
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 がセキュリティー・プロダクトに定義されていません。