Example #1
0
        internal static SftpATTRS getATTR(Buffer buf)
        {
            SftpATTRS attr = new SftpATTRS();

            attr.flags = buf.getInt();
            if ((attr.flags & SSH_FILEXFER_ATTR_SIZE) != 0)
            {
                attr.size = buf.getLong();
            }
            if ((attr.flags & SSH_FILEXFER_ATTR_UIDGID) != 0)
            {
                attr.uid = buf.getInt(); attr.gid = buf.getInt();
            }
            if ((attr.flags & SSH_FILEXFER_ATTR_PERMISSIONS) != 0)
            {
                attr.permissions = buf.getInt();
            }
            if ((attr.flags & SSH_FILEXFER_ATTR_ACMODTIME) != 0)
            {
                attr.atime = buf.getInt();
            }
            if ((attr.flags & SSH_FILEXFER_ATTR_ACMODTIME) != 0)
            {
                attr.mtime = buf.getInt();
            }
            if ((attr.flags & SSH_FILEXFER_ATTR_EXTENDED) != 0)
            {
                int count = buf.getInt();
                if (count > 0)
                {
                    attr.extended = new string[count * 2];
                    for (int i = 0; i < count; i++)
                    {
                        attr.extended[i * 2]     = Encoding.UTF8.GetString(buf.getString());
                        attr.extended[i * 2 + 1] = Encoding.UTF8.GetString(buf.getString());
                    }
                }
            }
            return(attr);
        }
Example #2
0
 internal static SftpATTRS getATTR(Buffer buf)
 {
     SftpATTRS attr = new SftpATTRS();
     attr.flags = buf.getInt();
     if ((attr.flags & SSH_FILEXFER_ATTR_SIZE) != 0) { attr.size = buf.getLong(); }
     if ((attr.flags & SSH_FILEXFER_ATTR_UIDGID) != 0)
     {
         attr.uid = buf.getInt(); attr.gid = buf.getInt();
     }
     if ((attr.flags & SSH_FILEXFER_ATTR_PERMISSIONS) != 0)
     {
         attr.permissions = buf.getInt();
     }
     if ((attr.flags & SSH_FILEXFER_ATTR_ACMODTIME) != 0)
     {
         attr.atime = buf.getInt();
     }
     if ((attr.flags & SSH_FILEXFER_ATTR_ACMODTIME) != 0)
     {
         attr.mtime = buf.getInt();
     }
     if ((attr.flags & SSH_FILEXFER_ATTR_EXTENDED) != 0)
     {
         int count = buf.getInt();
         if (count > 0)
         {
             attr.extended = new string[count * 2];
             for (int i = 0; i < count; i++)
             {
                 attr.extended[i * 2] = Encoding.UTF8.GetString(buf.getString());
                 attr.extended[i * 2 + 1] = Encoding.UTF8.GetString(buf.getString());
             }
         }
     }
     return attr;
 }