OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems/] [c/] [src/] [librpc/] [include/] [rpcsvc/] [rquota.x] - Rev 1767

Go to most recent revision | Compare with Previous | Blame | View Log

/*
 * Remote quota protocol
 * Requires unix authentication
 */

#ifndef RPC_HDR
%#ifndef lint
%/*static char sccsid[] = "from: @(#)rquota.x 1.2 87/09/20 Copyr 1987 Sun Micro";*/
%/*static char sccsid[] = "from: @(#)rquota.x   2.1 88/08/01 4.0 RPCSRC";*/
%static const char rcsid[] =
%  "$FreeBSD: src/include/rpcsvc/rquota.x,v 1.6 1999/08/27 23:45:10 peter Exp $";
%#endif /* not lint */
#endif

const RQ_PATHLEN = 1024;

struct getquota_args {
        string gqa_pathp<RQ_PATHLEN>;   /* path to filesystem of interest */
        int gqa_uid;                    /* inquire about quota for uid */
};

/*
 * remote quota structure
 */
struct rquota {
        int rq_bsize;                   /* block size for block counts */
        bool rq_active;                 /* indicates whether quota is active */
        unsigned int rq_bhardlimit;     /* absolute limit on disk blks alloc */
        unsigned int rq_bsoftlimit;     /* preferred limit on disk blks */
        unsigned int rq_curblocks;      /* current block count */
        unsigned int rq_fhardlimit;     /* absolute limit on allocated files */
        unsigned int rq_fsoftlimit;     /* preferred file limit */
        unsigned int rq_curfiles;       /* current # allocated files */
        unsigned int rq_btimeleft;      /* time left for excessive disk use */
        unsigned int rq_ftimeleft;      /* time left for excessive files */
};      

enum gqr_status {
        Q_OK = 1,               /* quota returned */
        Q_NOQUOTA = 2,          /* noquota for uid */
        Q_EPERM = 3             /* no permission to access quota */
};

union getquota_rslt switch (gqr_status status) {
case Q_OK:
        rquota gqr_rquota;      /* valid if status == Q_OK */
case Q_NOQUOTA:
        void;
case Q_EPERM:
        void;
};

program RQUOTAPROG {
        version RQUOTAVERS {
                /*
                 * Get all quotas
                 */
                getquota_rslt
                RQUOTAPROC_GETQUOTA(getquota_args) = 1;

                /*
                 * Get active quotas only
                 */
                getquota_rslt
                RQUOTAPROC_GETACTIVEQUOTA(getquota_args) = 2;
        } = 1;
} = 100011;

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.