名前 | 形式 | 機能説明 | 戻り値 | エラー | 警告 | 関連項目
#include <tsol/mld.h>int getmldadorn(char *path_name, char adorn_buf[MLD_ADORN_MAX]);
getmldadorn() は、path_name があるファイルシステムの MLD 装飾を返します。path_name は、マウントされているファイルシステムにある任意のファイルのパス名です。adorn_buf は、MLD_ADORN_MAX 以上のバイト数をもつバッファへのポインタです。adorn_buf には、NULL で終る MLD 装飾が返されます。
fgetmldadorn() は、記述子 fd で参照されるオープンファイルに関して同じ情報を返します。
path_name や fd の情報ラベルは変更されません。呼び出し元プロセスの情報ラベルも変更されません。
次の条件のいずれかに該当する場合、getmldadorn() の処理は失敗します。
path_name のパス接頭辞の構成要素に対する検索権限が許可されていません。この制約を除くには、呼び出し元プロセスに PRIV_FILE_DAC_SEARCH
か PRIV_FILE_MAC_SEARCH
特権の一方または両方を与えます。
adorn_buf か path_name が無効なアドレスを指しています。
ファイルシステムに対する読み取りか書き込みで入出力エラーが発生しました。
path_name を変換するときに検出されたシンボリックリンクの数が多すぎます。
パス引数の長さが PATH_MAX を超えています。
_POSIX_NO_TRUNC が有効なときにパス名の構成要素の長さが NAME_MAX [sysconf(3C) を参照] を超えています[ pathconf(2) のマニュアルページを参照]。
path_name で参照されているファイルが存在しません。
path_name のパス接頭辞にディレクトリでない構成要素があります。
次の条件のいずれかに該当する場合、fgetmldadorn() の処理は失敗します。
fd ファイルを開くための有効な記述子
adorn_buf が無効なアドレスを指しています。
fd の参照先がファイルではなく、ソケットです。
ファイルシステムの読み取りで入出力エラーが発生しました。
fd のファイルシステムが MLD をサポートしていない場合は、マウント時に mld_prefix 属性を指定しないと、adorn_buf バッファに長さゼロの文字列が返されます。エラーは返されません。