__getclientid() - 呼び出しアプリケーションの ID (PID) の取得

標準

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

形式

#define _OPEN_SYS_SOCK_EXT
#include <sys/socket.h>
#include <sys/types.h>

int __getclientid(int domain, struct clientid *clientid);

機能説明

__getclientid() 関数呼び出しは、TCP/IP アドレス・スペースで 呼び出しアプリケーションが認知される ID (PID) を戻します。clientid を givesocket() および takesocket() 呼び出しで使用します。__getclientid() 関数呼び出しを使用して、呼び出し元アプリケーションと 選択アプリケーションとの間でソケットを転送します。__getclientid() 関数は、__getclientid() の出力を givesocket() および takesocket() の入力 clientid として使用する アプリケーションに、getclientid() より優れたパフォーマンスと保全性を 提供します。
パラメーター
説明
domain
要求されたアドレス・ドメイン。
clientid
埋められる clientid 構造体へのポインター。
clientid 構造体:
      struct clientid {
         int domain;
         union  {
           char name[8];
           struct {
             int NameUpper;
             pid_t pid;
           } c_pid;
         } c_name;
         char subtaskname[8];

         struct  {
           char type;
           union  {
              char specific[19];
              struct  {
                char unused[3];
                int SockToken;
              } c_close;
           } c_func;
         } c_reserved;
      };
エレメント
説明
domain
clientid 構造体のドメイン・フィールドに戻される入力 domain 値。
c_pid.pid
clientid 構造体のラベル。リクエスター (__getclientid() の呼び出し元) の PID の関数呼び出しによって 挿入される。takesocket() および givesocket() 関数によって使用され るため、セットのままにしなければならない。
subtaskname
ブランク。
c_reserved
2 進ゼロ。

戻り値

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

正常に実行されなかった場合、__getclientid() は -1 を戻して、errno を次のいずれかの 値に設定します。
エラー・コード
説明
EFAULT
clientid パラメーターの指定を適用すると、呼び出し側のアドレス・スペースの外側、または呼び出し側が変更できないストレージ にアクセスすることになります。

関連情報