internal void dump(Buffer buf) { buf.WriteInt(Flags); if ((Flags & SSH_FILEXFER_ATTR_SIZE) != 0) { buf.WriteLong(_Size); } if ((Flags & SSH_FILEXFER_ATTR_UIDGID) != 0) { buf.WriteInt(uid); buf.WriteInt(gid); } if ((Flags & SSH_FILEXFER_ATTR_PERMISSIONS) != 0) { buf.WriteInt((int)_Permissions); } if ((Flags & SSH_FILEXFER_ATTR_ACMODTIME) != 0) { buf.WriteInt(AccessTime); } if ((Flags & SSH_FILEXFER_ATTR_ACMODTIME) != 0) { buf.WriteInt(ModificationTime); } if ((Flags & SSH_FILEXFER_ATTR_EXTENDED) != 0) { int count = extended.Length / 2; if (count > 0) { for (int i = 0; i < count; i++) { buf.WriteString(Util.getBytes(extended[i * 2])); buf.WriteString(Util.getBytes(extended[i * 2 + 1])); } } } }