File indexing completed on 2025-01-18 10:12:37
0001
0002
0003
0004
0005
0006 #ifndef _RQUOTA_H_RPCGEN
0007 #define _RQUOTA_H_RPCGEN
0008
0009 #include <rpc/rpc.h>
0010
0011
0012 #ifdef __cplusplus
0013 extern "C" {
0014 #endif
0015
0016 #define RQ_PATHLEN 1024
0017
0018 struct getquota_args {
0019 char *gqa_pathp;
0020 int gqa_uid;
0021 };
0022 typedef struct getquota_args getquota_args;
0023
0024 struct rquota {
0025 int rq_bsize;
0026 bool_t rq_active;
0027 u_int rq_bhardlimit;
0028 u_int rq_bsoftlimit;
0029 u_int rq_curblocks;
0030 u_int rq_fhardlimit;
0031 u_int rq_fsoftlimit;
0032 u_int rq_curfiles;
0033 u_int rq_btimeleft;
0034 u_int rq_ftimeleft;
0035 };
0036 typedef struct rquota rquota;
0037
0038 enum gqr_status {
0039 Q_OK = 1,
0040 Q_NOQUOTA = 2,
0041 Q_EPERM = 3,
0042 };
0043 typedef enum gqr_status gqr_status;
0044
0045 struct getquota_rslt {
0046 gqr_status status;
0047 union {
0048 rquota gqr_rquota;
0049 } getquota_rslt_u;
0050 };
0051 typedef struct getquota_rslt getquota_rslt;
0052
0053 #define RQUOTAPROG 100011
0054 #define RQUOTAVERS 1
0055
0056 #if defined(__STDC__) || defined(__cplusplus)
0057 #define RQUOTAPROC_GETQUOTA 1
0058 extern getquota_rslt * rquotaproc_getquota_1(getquota_args *, CLIENT *);
0059 extern getquota_rslt * rquotaproc_getquota_1_svc(getquota_args *, struct svc_req *);
0060 #define RQUOTAPROC_GETACTIVEQUOTA 2
0061 extern getquota_rslt * rquotaproc_getactivequota_1(getquota_args *, CLIENT *);
0062 extern getquota_rslt * rquotaproc_getactivequota_1_svc(getquota_args *, struct svc_req *);
0063 extern int rquotaprog_1_freeresult (SVCXPRT *, xdrproc_t, caddr_t);
0064
0065 #else
0066 #define RQUOTAPROC_GETQUOTA 1
0067 extern getquota_rslt * rquotaproc_getquota_1();
0068 extern getquota_rslt * rquotaproc_getquota_1_svc();
0069 #define RQUOTAPROC_GETACTIVEQUOTA 2
0070 extern getquota_rslt * rquotaproc_getactivequota_1();
0071 extern getquota_rslt * rquotaproc_getactivequota_1_svc();
0072 extern int rquotaprog_1_freeresult ();
0073 #endif
0074
0075
0076
0077 #if defined(__STDC__) || defined(__cplusplus)
0078 extern bool_t xdr_getquota_args (XDR *, getquota_args*);
0079 extern bool_t xdr_rquota (XDR *, rquota*);
0080 extern bool_t xdr_gqr_status (XDR *, gqr_status*);
0081 extern bool_t xdr_getquota_rslt (XDR *, getquota_rslt*);
0082
0083 #else
0084 extern bool_t xdr_getquota_args ();
0085 extern bool_t xdr_rquota ();
0086 extern bool_t xdr_gqr_status ();
0087 extern bool_t xdr_getquota_rslt ();
0088
0089 #endif
0090
0091 #ifdef __cplusplus
0092 }
0093 #endif
0094
0095 #endif