/*
 * Automatically generated by jrpcgen 1.0.7 on 29.11.2012
 * jrpcgen is part of the "Remote Tea.Net" ONC/RPC package for C#
 * See http://remotetea.sourceforge.net for details
 */
using NFSLibrary.Protocols.Commons;
using org.acplt.oncrpc;

namespace NFSLibrary.Protocols.V3.RPC
{
    public class FSStatisticsAccessOK : XdrAble
    {
        private PostOperationAttributes _obj_attributes;
        private long _tbytes;
        private long _fbytes;
        private long _abytes;
        private long _tfiles;
        private long _ffiles;
        private long _afiles;
        private int _invarsec;

        public FSStatisticsAccessOK()
        { }

        public FSStatisticsAccessOK(XdrDecodingStream xdr)
        { xdrDecode(xdr); }

        public void xdrEncode(XdrEncodingStream xdr)
        {
            this._obj_attributes.xdrEncode(xdr);
            xdr.xdrEncodeLong(this._tbytes);
            xdr.xdrEncodeLong(this._fbytes);
            xdr.xdrEncodeLong(this._abytes);
            xdr.xdrEncodeLong(this._tfiles);
            xdr.xdrEncodeLong(this._ffiles);
            xdr.xdrEncodeLong(this._afiles);
            xdr.xdrEncodeInt(this._invarsec);
        }

        public void xdrDecode(XdrDecodingStream xdr)
        {
            this._obj_attributes = new PostOperationAttributes(xdr);
            this._tbytes = xdr.xdrDecodeLong();
            this._fbytes = xdr.xdrDecodeLong();
            this._abytes = xdr.xdrDecodeLong();
            this._tfiles = xdr.xdrDecodeLong();
            this._ffiles = xdr.xdrDecodeLong();
            this._afiles = xdr.xdrDecodeLong();
            this._invarsec = xdr.xdrDecodeInt();
        }

        public long TotalSize
        {
            get
            { return this._tbytes; }
        }

        public long FreeSpace
        {
            get
            { return this._fbytes; }
        }

        public long AuthFreeSpace
        {
            get
            { return this._abytes; }
        }

        public long TotalFileSlot
        {
            get
            { return this._tfiles; }
        }

        public long FreeFileSlot
        {
            get
            { return this._ffiles; }
        }

        public long AuthFreeSlot
        {
            get
            { return this._afiles; }
        }

        public int VolatileSecond
        {
            get
            { return this._invarsec; }
        }

        public PostOperationAttributes Attributes
        {
            get
            { return this._obj_attributes; }
        }
    }

    public class FSStatisticsAccessFAIL : XdrAble
    {
        private PostOperationAttributes obj_attributes;

        public FSStatisticsAccessFAIL()
        { }

        public FSStatisticsAccessFAIL(XdrDecodingStream xdr)
        { xdrDecode(xdr); }

        public void xdrEncode(XdrEncodingStream xdr)
        { this.obj_attributes.xdrEncode(xdr); }

        public void xdrDecode(XdrDecodingStream xdr)
        { this.obj_attributes = new PostOperationAttributes(xdr); }

        public PostOperationAttributes Attributes
        {
            get
            { return this.obj_attributes; }
        }
    }
    // End of FSSTAT3res.cs
}