acl_init() - ACL 作業用ストレージの初期化

標準

標準/拡張機能 C/C++ 依存項目

z/OS UNIX

両方 z/OS V1R3

形式

#define _OPEN_SYS	1
#include <sys/acl.h>

lacl_t   acl_init (int count);	

機能説明

ファイルおよびディレクトリーへのアクセスを制御するために、許可ビットと一緒にアクセス制御 リスト (ACL) を使用してください。現在、ACL は HFS、TFS、および zFS ファイル・システムによってサポートされています。ご使用のセキュリティー製品で ACL がサポートされているかどうかについて、および ファイル・アクセスを決定するときに使用される規則について知っている必要があります。詳細は、「z/OS UNIX System Services 計画」を参照してください。

acl_init() 関数は、count の数以上の拡張 ACL エントリーをもつ ACL に 対して作業用ストレージの割り振りと初期化を行います。作業用ストレージを指すポインターが戻されます。ACL を含めるように割り振られた作業用ストレージは、acl_free() を呼び出してリリースする 必要があります。作業用ストレージには、ACL エントリーがまったくない ACL が含まれます。count は、0 より大きい値にする必要があります。

acl_init() 関数は、この関数が戻す lacl_t 内のフィールドを初期化します。そのフィールドが破棄された場合 (例えば、memset を使用したりストレージを上書きして)、予測できない結果となります。バッファーを再使用するには、すべての拡張 ACL エントリーに対して acl_entry_delete() を 実行し、lacl_base = 0 を設定するか、または既存のバッファーに対して acl_free() を実行し、新規バッファーに対して acl_init() を実行します。

戻り値

正常終了の場合は、関数が、作業用ストレージを指すポインターを戻します。

以下の条件のいずれかが検出された場合、acl_init() 関数は NULL を戻し、errno に対応する値を設定します。

エラー・コード
説明
ENOMEM
戻される lacl_t には、使用可能なメモリーを超えるメモリーが必要です。
EINVAL
count がゼロ以下です。

関連情報