本文に進む 日本−日本語
日本HPホーム 製品とサービス お客様サポート/ ダウンロード ソリューション ご購入の方法
≫ お問い合わせ
詳細検索オプション
日本HPホーム
HP-UX リファレンス: セクション 3 : ライブラリ (A~M) > a

acltostr(3C)

HP-UX 11i Version 2: September 2004
≫ 

テクニカル ドキュメント

PDF版
フィードバック
ここから本文が始まります

 ≫ 目次

 ≫ 索引

名称

acltostr() ― アクセス制御リスト (ACL) 構造体の文字列形式への変換

構文

#include <acllib.h>

char *acltostr(int nentries, const struct acl_entry acl[], int form);

廃止インタフェース

int acltostr_r( 
     int nentries, 
     const struct acl_entry acl[], 
     int form, 
     char *strbuf, 
     int length); 

特記事項

今後の業界標準に準拠するため、このマニュアルエントリーで説明した機能は、 将来変更されることがあります。

説明

acltostr() は、アクセス制御リストを構造体形式から文字列表現に変換します。 acltostr() は、指定された有効な (0 以上の) エントリー番号 nentries) が格納された、 ACL エントリーの配列の 1 番目の要素 (acl) へのポインターと、 出力形式 (FORM_SHORT または FORM_LONG) のパラメータをもち、 null 文字で終わる ACL の記号表現である静的文字列 (次回の呼び出しでオーバーライトされます) へのポインターを返します。 出力形式は acl(5) で説明しています。 長い形式の場合、返される文字列にはニューライン文字が含まれます。

ACL_NSUSER のユーザー ID と ACL_NSGROUP のグループ ID は、どちらも % で表されます。 エントリーで、 /etc/passwd または /etc/group に記述されていないユーザー ID またはグループ ID が含まれている場合、 ls コマンド ls(1) 参照) と同じように、 代わりに ID 番号と等価の文字列を返します。

/etc/passwd ファイルを管理するルーチンと同じように、 acltostr() はユーザー名とグループ名を 8 文字に切り捨てます。

注記: acltostr() は、 strtoacl() を機能的に補うものです。

廃止インタフェース

acltostr_r() は、アクセス制御リスト (ACL) 構造体を文字列形式に変換します。

戻り値

acltostr() が正常終了すると、null で終わる文字列へのポインターが返されます。 nentries が 0 以下の場合は、文字列の長さは 0 になります。 nentriesNACLENTRIES (<sys/acl.h> で定義されています) よりも大きい場合、または form が無効な値の場合は、 (char *) NULL が返されます。

acltostr_r() が正常終了すると、0 が返されます。失敗すると、-1 が返され、 errno がセットされます。 nentries が 0 以下の場合は、文字列の長さは 0 になります。

エラー

[EINVAL] 

strbufNULL に等しい、 nentriesNACLENTRIES (<sys/acl.h> で定義されています) より大きい、 form が有効なフォームでない、 または strbuflength が短すぎる場合

[ERANGE] 

length が 0 以下の場合

次のコードは、 /users/ggd/test ファイルの ACL を読み込み、短い形式で出力します。

#include <stdio.h> 
#include <acllib.h> 
  
int nentries; 
struct acl_entry acl [NACLENTRIES]; 
  
if ((nentries = getacl ( /users/ggd/test", NACLENTRIES, acl)) < 0)" 
error (...); 
  
fputs (acltostr (nentries, acl, FORM_SHORT), stdout); 

警告

acltostr() の返す値がバッファーへのポインターの場合、その内容は 同じスレッドが acltostr() を呼び出すたびにオーバーライトされます。

acltostr_r() インタフェースは廃止され、現在では既存の DCE アプリケーションとの互換性を保つためにだけサポートされています。新しいマルチスレッドアプリケーションでは、 acltostr() を使用してください。

著者

acltostr() は HP で開発されました。

ファイル

/etc/passwd
/etc/group

参照

getacl(2), setacl(2), cpacl(3C), chownacl(3C), setaclentry(3C), strtoacl(3C), acl(5), thread_safety(5)

印刷用画面へ
プライバシー 本サイト利用時の合意事項
© 1983-2004 Hewlett-Packard Development Company, L.P.