QUOTACTL(2) — UNIX Programmer’s Manual
名称
quotactl − ディスク割り当てを操作する
形式
#include <ufs/quota.h>
quotactl(cmd, special, uid, addr)
int cmd;
char ∗special;
int uid;
caddr_t addr;
解説
quotactl コールは、 ディスク割り当てを 操作します。 cmd パラメタは、 ユーザID uid に適用されるコマンドを 示します。 special は、 操作されるファイルシステムのブロック型特殊デバイスのパス名が収められている、 ナルで終了する文字列へのポインタです。 このブロック型特殊デバイスはマウントされていなければなりません。 addr は、 システム内またはシステム外でコピーされる、 コマンドに固有なデータ構造体のアドレスです。 addr の解釈については、 下記の各コマンドで説明されています。
Q_QUOTAON
ファイルシステムのディスク割り当てを オンにします。 addr は、 そのファイルシステムのディスク割り当てが収められている ファイルのパス名が入れられている、 ナルで終了する文字列へのポインタです。 その割り当てファイルは、 存在していなければなりません。 このファイルは、 通常、 quotacheck(8) プログラムを 用いて作成されます。 このコールは、 スーパーユーザだけに限定されています。
Q_QUOTAOFF
ファイルシステムのディスク割り当てを オフにします。 このコールは、 スーパーユーザだけに限定されています。
Q_GETQUOTA
ユーザ uid のディスク割り当ての制限値と現在の使用状況を 取り出します。 addr は、 (<ufs/quota.h> に定義されている) dqblk 構造体へのポインタです。 スーパーユーザだけが、 自分以外のユーザの割り当てを 取り出すことができます。
Q_SETQUOTA
ユーザ uid のディスク割り当ての制限値と現在の使用状況を セットします。 addr は、 (<ufs/quota.h> に定義されている) dqblk 構造体へのポインタです。 このコールは、 スーパーユーザだけに限定されています。
Q_SETQLIM
ユーザ uid のディスク割り当ての制限値を セットします。 addr は、 (<ufs/quota.h> に定義されている) struct dqblk 構造体へのポインタです。 このコールは、 スーパーユーザだけに限定されています。
Q_SYNC
ディスク割り当て使用のディスク上のコピーを 更新します。 このコールは、 スーパーユーザだけに限定されています。
リターン値
正常終了した場合には、 値 0 が返されます。 そうでない場合には、 −1 が返され、 errno がエラーを 示すようにセットされます。
エラー
以下に示されている項目のうち、1つが発生した場合、 quotactl は失敗します。
EINVAL cmd が有効ではない。
EPERM コールが特権を 必要とするものであり、 呼び出しユーザがスーパーユーザではない。
EINVAL special パラメタが、 マウントされているファイルシステムではない、 またはディスク割り当てがオンにされずにマウントされているファイルシステムである。
ENOTBLK special パラメタがブロック型デバイスではない。
EFAULT 無効な addr が与えられている。 関連する構造体を カーネルの内または外でコピーすることができない。
EINVAL addr パラメタが割り当てファイルのパスとして解釈されていて、 そのファイルは、 存在してはいるが、 普通のファイルではないか、 または special パラメタによって指し示されているファイルシステム上にはない。
EUSERS 割り当てテーブルがいっぱいである。
関連事項
バグ
このコールを、 setrlimit(2) と getrlimit(2) によって提供されているリソース制限インタフェースに統合する なんらかの方法が必要です。 setrlimit(2) と getrlimit(2) は、ここのメルボルン quota とは互換性がありません。
NEWS-OSRelease 3.3