libfmd_agent: make fmd_agent_cpu_* visible even on 64-bit
[unleashed.git] / include / rpcsvc / rquota.x
blob2b1a677aee84a07d57012d1bf27a312eebd5d5a9
1 /*
2  * CDDL HEADER START
3  *
4  * The contents of this file are subject to the terms of the
5  * Common Development and Distribution License, Version 1.0 only
6  * (the "License").  You may not use this file except in compliance
7  * with the License.
8  *
9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
10  * or http://www.opensolaris.org/os/licensing.
11  * See the License for the specific language governing permissions
12  * and limitations under the License.
13  *
14  * When distributing Covered Code, include this CDDL HEADER in each
15  * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
16  * If applicable, add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your own identifying
18  * information: Portions Copyright [yyyy] [name of copyright owner]
19  *
20  * CDDL HEADER END
21  *
22  * Copyright 1987 Sun Microsystems, Inc.  All rights reserved.
23  * Use is subject to license terms.
24  */
26 /* #ident       "%Z%%M% %I%     %E% SMI" */
29  * Remote quota protocol
30  * Requires unix authentication
31  */
33 const RQ_PATHLEN = 1024;
35 struct getquota_args {
36         string gqa_pathp<RQ_PATHLEN>;   /* path to filesystem of interest */
37         int32_t gqa_uid;                /* inquire about quota for uid */
41  * remote quota structure
42  */
43 struct rquota {
44         int32_t rq_bsize;               /* block size for block counts */
45         bool rq_active;                 /* indicates whether quota is active */
46         uint32_t rq_bhardlimit;         /* absolute limit on disk blks alloc */
47         uint32_t rq_bsoftlimit;         /* preferred limit on disk blks */
48         uint32_t rq_curblocks;          /* current block count */
49         uint32_t rq_fhardlimit;         /* absolute limit on allocated files */
50         uint32_t rq_fsoftlimit;         /* preferred file limit */
51         uint32_t rq_curfiles;           /* current # allocated files */
52         uint32_t rq_btimeleft;          /* time left for excessive disk use */
53         uint32_t rq_ftimeleft;          /* time left for excessive files */
54 };      
56 enum gqr_status {
57         Q_OK = 1,               /* quota returned */
58         Q_NOQUOTA = 2,          /* noquota for uid */
59         Q_EPERM = 3             /* no permission to access quota */
62 union getquota_rslt switch (gqr_status status) {
63 case Q_OK:
64         rquota gqr_rquota;      /* valid if status == Q_OK */
65 case Q_NOQUOTA:
66         void;
67 case Q_EPERM:
68         void;
71 program RQUOTAPROG {
72         version RQUOTAVERS {
73                 /*
74                  * Get all quotas
75                  */
76                 getquota_rslt
77                 RQUOTAPROC_GETQUOTA(getquota_args) = 1;
79                 /*
80                  * Get active quotas only
81                  */
82                 getquota_rslt
83                 RQUOTAPROC_GETACTIVEQUOTA(getquota_args) = 2;
84         } = 1;
85 } = 100011;