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