OSDN Git Service

(split) LDP: Release getcpu.2, migrate_pages.2, makedev.3, matherr.3.
[linuxjm/LDP_man-pages.git] / release / man2 / quotactl.2
1 .\" Hey Emacs! This file is -*- nroff -*- source.
2 .\"
3 .\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl)
4 .\"
5 .\" Permission is granted to make and distribute verbatim copies of this
6 .\" manual provided the copyright notice and this permission notice are
7 .\" preserved on all copies.
8 .\"
9 .\" Permission is granted to copy and distribute modified versions of this
10 .\" manual under the conditions for verbatim copying, provided that the
11 .\" entire resulting derived work is distributed under the terms of a
12 .\" permission notice identical to this one.
13 .\"
14 .\" Since the Linux kernel and libraries are constantly changing, this
15 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
16 .\" responsibility for errors or omissions, or for damages resulting from
17 .\" the use of the information contained herein.  The author(s) may not
18 .\" have taken the same level of care in the production of this manual,
19 .\" which is licensed free of charge, as they might when working
20 .\" professionally.
21 .\"
22 .\" Formatted or processed versions of this manual, if unaccompanied by
23 .\" the source, must acknowledge the copyright and authors of this work.
24 .\"
25 .\" FIXME There is much that is missing and/or out of date in this page.
26 .\" (There is a quotactl.2 page in the quotactl package that seems to
27 .\" have more info than this page.)
28 .\" As things stand the page more or less documents Linux 2.2 reality:
29 .\"
30 .\" Linux 2.2 has:
31 .\"
32 .\"     Q_GETQUOTA
33 .\"     Q_GETSTATS
34 .\"     Q_QUOTAOFF
35 .\"     Q_QUOTAON
36 .\"     Q_RSQUASH (not currently documented)
37 .\"     Q_SETQLIM
38 .\"     Q_SETQUOTA
39 .\"     Q_SETUSE
40 .\"     Q_SYNC
41 .\"
42 .\" Linux 2.4 has:
43 .\"
44 .\"     Q_COMP_QUOTAOFF
45 .\"     Q_COMP_QUOTAON
46 .\"     Q_COMP_SYNC
47 .\"     Q_GETFMT
48 .\"     Q_GETINFO
49 .\"     Q_GETQUOTA
50 .\"     Q_QUOTAOFF
51 .\"     Q_QUOTAON
52 .\"     Q_SETINFO
53 .\"     Q_SETQUOTA
54 .\"     Q_SYNC
55 .\"     Q_V1_GETQUOTA Q_V1_GETSTATS Q_V1_RSQUASH Q_V1_SETQLIM
56 .\"     Q_V1_SETQUOTA Q_V1_SETUSE
57 .\"     Q_V2_GETINFO Q_V2_GETQUOTA Q_V2_SETFLAGS Q_V2_SETGRACE
58 .\"     Q_V2_SETINFO Q_V2_SETQUOTA Q_V2_SETUSE
59 .\"     Q_XGETQSTAT Q_XGETQUOTA Q_XQUOTAOFF Q_XQUOTAON Q_XQUOTARM
60 .\"     Q_XSETQLIM
61 .\"
62 .\" Linux 2.6.16 has:
63 .\"
64 .\"     Q_GETFMT
65 .\"     Q_GETINFO
66 .\"     Q_GETQUOTA
67 .\"     Q_QUOTAOFF
68 .\"     Q_QUOTAON
69 .\"     Q_SETINFO
70 .\"     Q_SETQUOTA
71 .\"     Q_SYNC
72 .\"     Q_XGETQSTAT
73 .\"     Q_XGETQUOTA
74 .\"     Q_XQUOTAOFF
75 .\"     Q_XQUOTAON
76 .\"     Q_XQUOTARM
77 .\"     Q_XQUOTASYNC
78 .\"     Q_XSETQLIM
79 .\"
80 .\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka
81 .\"         all rights reserved.
82 .\" Translated Sun Dec 21 21:58:06 JST 1997
83 .\"         by Kazuyoshi Furutaka <furutaka@jb3.so-net.or.jp>
84 .\" Modified Wed Dec 24 22:17:00 JST 1997
85 .\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
86 .\" Updated & Modified Thu Feb 24 02:50:48 JST 2005
87 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
88 .\"
89 .TH QUOTACTL 2 2007-06-01 "Linux" "Linux Programmer's Manual"
90 .SH 名前
91 quotactl \- ディスク quota を操作する
92 .SH 書式
93 .nf
94 .B #include <sys/types.h>
95 .br
96 .B #include <sys/quota.h>
97 .sp
98 .BI "int quotactl(int " cmd ", const char *" special ", int " id \
99 ", caddr_t " addr );
100 .fi
101 .SH 説明
102 quota システムは、各々のユーザ及び/またはグループに対して、
103 ソフト・リミット及びハード・リミットを定める。これはあるファイル・システムで
104 使用する事が出来るディスク容量を制限する。
105 ハード・リミットは超過することは出来ない。
106 ソフト・リミットは超過する事が出来るが、警告が発せられる。
107 更に、(デフォルトでは) 一週間以上ソフト・リミットを超過したままに
108 しておく事はできない: 一週間経過した後はハード・リミットを超過したと
109 みなされる。
110
111 .BR quotactl ()
112 システムコールはこれらの quota に対する操作を行なう。
113 最初の引き数は
114 .BI QCMD( subcmd , type )
115 という形式である。
116 .I type
117 には、ユーザー quota については
118 .B USRQUOTA
119 を、グループ quota については
120 .B GRPQUOTA
121 を指定する。
122 .I subcmd
123 は以下で説明する。
124
125 二番目の引き数
126 .I special
127 は quota を適用するデバイスのブロック・スペシャル・ファイルである。
128 そのデバイスはマウントされていなくてはならない。
129
130 三番目の引き数
131 .I id
132 には、(必要な場合に) quota を適用するユーザーもしくはグループの ID を指定する。
133
134 四番目の引き数
135 .I addr
136 には、コマンドごとに異ったデータ構造体のアドレスを指定する。
137
138 .I subcmd
139 は以下のいずれかである
140 .TP 1.1i
141 .B Q_QUOTAON
142 quota を有効にする。
143 .I addr
144 引き数には、そのファイル・システムの quota が記録されているファイルの
145 パス名を指定する。
146 .TP
147 .B Q_QUOTAOFF
148 quota を無効にする。
149 .TP
150 .B Q_GETQUOTA
151 ディスク使用量の制限値と現在の使用量を得る。
152 .I addr
153 引き数は
154 .RI ( <sys/quota.h>
155 で定義された) dqblk 構造体を指すポインタである。
156 .TP
157 .B Q_SETQUOTA
158 制限値と現在の使用量を設定する:
159 .I addr
160 は同上。
161 .TP
162 .B Q_SETQLIM
163 制限値を設定する;
164 .I addr
165 は同上。
166 .TP
167 .B Q_SETUSE
168 使用量を設定する。
169 .TP
170 .B Q_SYNC
171 ファイル・システムの quota ファイルをディスクと同期させる。
172 .TP
173 .B Q_GETSTATS
174 収集された統計を取得する。
175 .SH 返り値
176 .BR quotactl ()
177 は、成功時には 0 を返す。エラー時は、\-1 を返すとともに、
178 .I errno
179 が適切な値に設定される。
180 .SH エラー
181 .TP 0.9i
182 .B EACCES
183 quota ファイルが普通のファイルではない。
184 .TP
185 .B EBUSY
186 .B Q_QUOTAON
187 の要求がなされたが、quota(s) は既に有効になっている。
188 .TP
189 .B EFAULT
190 .I addr
191 の値に誤りがある。
192 .TP
193 .B EINVAL
194 .I type
195 が既知の quota の形式ではない。もしくは、
196 .I special
197 デバイスが見付からなかった。
198 .TP
199 .B EIO
200 quota ファイルへの読み書きが出来ない。
201 .TP
202 .B EMFILE
203 ファイルをオープンしすぎている: quota ファイルをオープン出来ない。
204 .TP
205 .B ENODEV
206 .I special
207 がマウント・テーブル内に見当たらない。
208 .TP
209 .B ENOPKG
210 quota を使用可にしてカーネルをコンパイルしていない。
211 .TP
212 .B ENOTBLK
213 .I special
214 がブロック・スペシャル・デバイスではない。
215 .TP
216 .B EPERM
217 プロセスが (そのファイル・システムの) root のものではなく、
218 かつプロセス自身のものとは異なる
219 .I id
220 に対して
221 .B Q_GETQUOTA
222 要求を行なった。
223 もしくは、
224 .BR Q_GETSTATS ,
225 .B Q_SYNC
226 以外の要求がなされた。
227 .TP
228 .B ESRCH
229 quota が有効になっていないファイル・システムに対して
230 .BR Q_GETQUOTA ,
231 .BR Q_SETQUOTA ,
232 .BR Q_SETUSE ,
233 .B Q_SETQLIM
234 のいずれかの要求がなされた。
235 .SH 準拠
236 BSD.
237 .SH 関連項目
238 .BR quota (1),
239 .BR getrlimit (2),
240 .BR setrlimit (2),
241 .BR ulimit (3),
242 .BR quotacheck (8),
243 .BR quotaon (8)