コード例 #1
0
ファイル: createhow4.cs プロジェクト: zjianliu/NFSClient
  public void xdrDecode(XdrDecodingStream xdr)
 {
      mode = xdr.xdrDecodeInt();
      switch ( mode ) {
      case createmode4.UNCHECKED4:
      case createmode4.GUARDED4:
          createattrs = new fattr4(xdr);
          break;
      case createmode4.EXCLUSIVE4:
          createverf = new verifier4(xdr);
          break;
      case createmode4.EXCLUSIVE4_1:
          ch_createboth = new creatverfattr(xdr);
          break;
      }
  }
コード例 #2
0
ファイル: createhow4.cs プロジェクト: zousenming/NFSClient
        public void xdrDecode(XdrDecodingStream xdr)
        {
            mode = xdr.xdrDecodeInt();
            switch (mode)
            {
            case createmode4.UNCHECKED4:
            case createmode4.GUARDED4:
                createattrs = new fattr4(xdr);
                break;

            case createmode4.EXCLUSIVE4:
                createverf = new verifier4(xdr);
                break;

            case createmode4.EXCLUSIVE4_1:
                ch_createboth = new creatverfattr(xdr);
                break;
            }
        }
コード例 #3
0
ファイル: SETATTR4args.cs プロジェクト: SonnyX/NFS-Client
 public void xdrDecode(XdrDecodingStream xdr)
 {
     obj_attributes = new fattr4(xdr);
 }
コード例 #4
0
ファイル: creatverfattr.cs プロジェクト: zousenming/NFSClient
 public void xdrDecode(XdrDecodingStream xdr)
 {
     cva_verf  = new verifier4(xdr);
     cva_attrs = new fattr4(xdr);
 }
コード例 #5
0
ファイル: CREATE4args.cs プロジェクト: zjianliu/NFSClient
 public void xdrDecode(XdrDecodingStream xdr)
  {
     objtype = new createtype4(xdr);
     objname = new component4(xdr);
     createattrs = new fattr4(xdr);
 }
コード例 #6
0
ファイル: CREATE4args.cs プロジェクト: SonnyX/NFS-Client
 public void xdrDecode(XdrDecodingStream xdr)
 {
     objtype = new createtype4(xdr);
     objname = new component4(xdr);
     createattrs = new fattr4(xdr);
 }
コード例 #7
0
ファイル: GETATTR4resok.cs プロジェクト: zjianliu/NFSClient
 public void xdrDecode(XdrDecodingStream xdr)
 {
     obj_attributes = new fattr4(xdr);
 }
コード例 #8
0
ファイル: creatverfattr.cs プロジェクト: zjianliu/NFSClient
 public void xdrDecode(XdrDecodingStream xdr)
 {
     cva_verf = new verifier4(xdr);
     cva_attrs = new fattr4(xdr);
 }
コード例 #9
0
ファイル: NFSv4.1.cs プロジェクト: zjianliu/NFSClient
        public void CreateDirectory(string DirectoryFullName, NFSPermission Mode)
        {
            if (_ProtocolV4 == null)
            { throw new NFSConnectionException("NFS Client not connected!"); }


            int user = 7;
            int group = 7;
            int other = 7;

            if (Mode != null)
            {
               user = Mode.UserAccess;
               group = Mode.GroupAccess;
               other = Mode.OtherAccess;
            }


            string ParentDirectory = System.IO.Path.GetDirectoryName(DirectoryFullName);
            string fileName = System.IO.Path.GetFileName(DirectoryFullName);
            NFSAttributes ParentItemAttributes = GetItemAttributes(ParentDirectory);

            //create item attributes now
           fattr4 attr = new fattr4();


           attr.attrmask = OpenStub.openFattrBitmap();
           attr.attr_vals = new attrlist4();
           attr.attr_vals.value = OpenStub.openAttrs(user,group,other,4096);



            List<nfs_argop4> ops = new List<nfs_argop4>();

            ops.Add(SequenceStub.generateRequest(false, _sessionid.value,
                    _sequenceID.value.value, 12, 0));
            ops.Add(PutfhStub.generateRequest(new nfs_fh4(ParentItemAttributes.Handle)));
            ops.Add(CreateStub.generateRequest(fileName,attr));

            COMPOUND4res compound4res = sendCompound(ops, "");

            if (compound4res.status == nfsstat4.NFS4_OK)
            {
                //create directory ok
            }
            else { throw new NFSConnectionException(nfsstat4.getErrorString(compound4res.status)); }
        }