資格および遠隔ホストラベルを取得したあとに、アプリケーションは label_to_str() を使用してラベルデータ構造体を文字列に変換できます。ラベルデータ構造体の文字列形式は、アプリケーションによって使用できます。
Trusted Extensions 印刷サービスでは、ラベルは文字列として返されます。get_peer_label() 関数は、m_label_t データ構造体でlabel_to_str() を呼び出すことによって取得される文字列を返します。この文字列値は、get_peer_label() 関数の slabel パラメータ、char** slabel に返されます。
次のコード抜粋は、label_to_str() 関数がどのように使用されるかを示します。
sl = ucred_getlabel(uc); if (label_to_str(sl, &pslabel, M_INTERNAL, DEF_NAMES) != 0) syslog(LOG_WARNING, "label_to_str(): %m"); ucred_free(uc); if (pslabel != NULL) { syslog(LOG_DEBUG, "get_peer_label(%d, %s): becomes %s", fd, (*slabel ? *slabel : "NULL"), pslabel); if (*slabel != NULL) free(*slabel); *slabel = strdup(pslabel); }
get_peer_label() ルーチン全体のソースは、「get_peer_label() ラベル対応関数」を参照してください。