遠隔プロセスのラベルの取得は、2 ステップの手続きで実行されます。最初に、資格を取得します。次に、その資格からラベルを取得します。
資格は、遠隔プロセスの ucred_t データ構造体にあります。ラベルは、資格の m_label_t データ構造体にあります。遠隔プロセスの資格を取得したあとに、その資格からラベル情報を抽出します。
getpeerucred() 関数が、遠隔プロセスから ucred_t 資格データ構造体を取得します。ucred_getlabel() 関数が、ucred_t データ構造体からラベルを抽出します。get_peer_label() 関数では、次のように 2 ステップの手続きがコーディングされています。
if (getpeerucred(fd, &uc) == -1) return (-1); sl = ucred_getlabel(uc);
get_peer_label() ルーチン全体のソースは、「get_peer_label() ラベル対応関数」を参照してください。
この 2 つの関数については、getpeerucred(3C) および ucred_getlabel(3C) のマニュアルページを参照してください。
遠隔ホストのラベルのほかに、遠隔ホストのタイプも取得できます。遠隔ホストタイプを取得するには、tsol_getrhtype() ルーチンを使用します。「遠隔ホストタイプの取得」を参照してください。