2 * Remote quota protocol
3 * Requires unix authentication
8 %/*static char sccsid[] = "from: @(#)rquota.x 1.2 87/09/20 Copyr 1987 Sun Micro";*/
9 %/*static char sccsid[] = "from: @(#)rquota.x 2.1 88/08/01 4.0 RPCSRC";*/
10 %#endif /* not lint */
11 %#include <sys/cdefs.h>
12 %__FBSDID("$FreeBSD$");
15 const RQ_PATHLEN = 1024;
17 struct getquota_args {
18 string gqa_pathp<RQ_PATHLEN>; /* path to filesystem of interest */
19 int gqa_uid; /* inquire about quota for uid */
23 * remote quota structure
26 int rq_bsize; /* block size for block counts */
27 bool rq_active; /* indicates whether quota is active */
28 unsigned int rq_bhardlimit; /* absolute limit on disk blks alloc */
29 unsigned int rq_bsoftlimit; /* preferred limit on disk blks */
30 unsigned int rq_curblocks; /* current block count */
31 unsigned int rq_fhardlimit; /* absolute limit on allocated files */
32 unsigned int rq_fsoftlimit; /* preferred file limit */
33 unsigned int rq_curfiles; /* current # allocated files */
34 unsigned int rq_btimeleft; /* time left for excessive disk use */
35 unsigned int rq_ftimeleft; /* time left for excessive files */
39 Q_OK = 1, /* quota returned */
40 Q_NOQUOTA = 2, /* noquota for uid */
41 Q_EPERM = 3 /* no permission to access quota */
44 union getquota_rslt switch (gqr_status status) {
46 rquota gqr_rquota; /* valid if status == Q_OK */
59 RQUOTAPROC_GETQUOTA(getquota_args) = 1;
62 * Get active quotas only
65 RQUOTAPROC_GETACTIVEQUOTA(getquota_args) = 2;