rquota.x
01:
02:
03:
04:
05:
06:
07:
08:
09: const RQ_PATHLEN = 1024;
10:
11: struct getquota_args {
12: string gqa_pathp<RQ_PATHLEN>;
13: int gqa_uid;
14: };
15:
16:
17:
18:
19: struct rquota {
20: int rq_bsize;
21: bool rq_active;
22: unsigned int rq_bhardlimit;
23: unsigned int rq_bsoftlimit;
24: unsigned int rq_curblocks;
25: unsigned int rq_fhardlimit;
26: unsigned int rq_fsoftlimit;
27: unsigned int rq_curfiles;
28: unsigned int rq_btimeleft;
29: unsigned int rq_ftimeleft;
30: };
31:
32: enum gqr_status {
33: Q_OK = 1,
34: Q_NOQUOTA = 2,
35: Q_EPERM = 3
36: };
37:
38: union getquota_rslt switch (gqr_status status) {
39: case Q_OK:
40: rquota gqr_rquota;
41: case Q_NOQUOTA:
42: void;
43: case Q_EPERM:
44: void;
45: };
46:
47: program RQUOTAPROG {
48: version RQUOTAVERS {
49:
50:
51:
52: getquota_rslt
53: RQUOTAPROC_GETQUOTA(getquota_args) = 1;
54:
55:
56:
57:
58: getquota_rslt
59: RQUOTAPROC_GETACTIVEQUOTA(getquota_args) = 2;
60: } = 1;
61: } = 100011;
62:
© Andrew Scott 2006 -
2025,
All Rights Reserved