Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


rquota.x
01: /* @(#)rquota.x 2.1 88/08/01 4.0 RPCSRC */
02: /* @(#)rquota.x 1.2 87/09/20 Copyr 1987 Sun Micro */
03: 
04: /*
05:  * Remote quota protocol
06:  * Requires unix authentication
07:  */
08: 
09: 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;
62: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/