cpp-d1064d
[cross.git] / i686-linux-gnu-4.7 / usr / include / rpcsvc / rquota.x
1 /* @(#)rquota.x 2.1 88/08/01 4.0 RPCSRC */
2 /* @(#)rquota.x 1.2 87/09/20 Copyr 1987 Sun Micro */
3
4 /*
5  * Remote quota protocol
6  * Requires unix authentication
7  */
8
9 const RQ_PATHLEN = 1024;
10
11 struct getquota_args {
12         string gqa_pathp<RQ_PATHLEN>;   /* path to filesystem of interest */
13         int gqa_uid;                    /* inquire about quota for uid */
14 };
15
16 /*
17  * remote quota structure
18  */
19 struct rquota {
20         int rq_bsize;                   /* block size for block counts */
21         bool rq_active;                 /* indicates whether quota is active */
22         unsigned int rq_bhardlimit;     /* absolute limit on disk blks alloc */
23         unsigned int rq_bsoftlimit;     /* preferred limit on disk blks */
24         unsigned int rq_curblocks;      /* current block count */
25         unsigned int rq_fhardlimit;     /* absolute limit on allocated files */
26         unsigned int rq_fsoftlimit;     /* preferred file limit */
27         unsigned int rq_curfiles;       /* current # allocated files */
28         unsigned int rq_btimeleft;      /* time left for excessive disk use */
29         unsigned int rq_ftimeleft;      /* time left for excessive files */
30 };
31
32 enum gqr_status {
33         Q_OK = 1,               /* quota returned */
34         Q_NOQUOTA = 2,          /* noquota for uid */
35         Q_EPERM = 3             /* no permission to access quota */
36 };
37
38 union getquota_rslt switch (gqr_status status) {
39 case Q_OK:
40         rquota gqr_rquota;      /* valid if status == Q_OK */
41 case Q_NOQUOTA:
42         void;
43 case Q_EPERM:
44         void;
45 };
46
47 program RQUOTAPROG {
48         version RQUOTAVERS {
49                 /*
50                  * Get all quotas
51                  */
52                 getquota_rslt
53                 RQUOTAPROC_GETQUOTA(getquota_args) = 1;
54
55                 /*
56                  * Get active quotas only
57                  */
58                 getquota_rslt
59                 RQUOTAPROC_GETACTIVEQUOTA(getquota_args) = 2;
60         } = 1;
61 } = 100011;