diff options
Diffstat (limited to 'Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs')
| -rw-r--r-- | Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs | 194 |
1 files changed, 100 insertions, 94 deletions
diff --git a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs b/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs index 4a007bdc5..c334d4d5b 100644 --- a/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs +++ b/Emby.Common.Implementations/IO/SharpCifs/Smb/SmbComNTCreateAndXResponse.cs @@ -19,98 +19,104 @@ using SharpCifs.Util.Sharpen; namespace SharpCifs.Smb { - internal class SmbComNtCreateAndXResponse : AndXServerMessageBlock - { - internal const int ExclusiveOplockGranted = 1; - - internal const int BatchOplockGranted = 2; - - internal const int LevelIiOplockGranted = 3; - - internal byte OplockLevel; - - internal int Fid; - - internal int CreateAction; - - internal int ExtFileAttributes; - - internal int FileType; - - internal int DeviceState; - - internal long CreationTime; - - internal long LastAccessTime; - - internal long LastWriteTime; - - internal long ChangeTime; - - internal long AllocationSize; - - internal long EndOfFile; - - internal bool Directory; - - internal bool IsExtended; - - internal override int WriteParameterWordsWireFormat(byte[] dst, int dstIndex) - { - return 0; - } - - internal override int WriteBytesWireFormat(byte[] dst, int dstIndex) - { - return 0; - } - - internal override int ReadParameterWordsWireFormat(byte[] buffer, int bufferIndex - ) - { - int start = bufferIndex; - OplockLevel = buffer[bufferIndex++]; - Fid = ReadInt2(buffer, bufferIndex); - bufferIndex += 2; - CreateAction = ReadInt4(buffer, bufferIndex); - bufferIndex += 4; - CreationTime = ReadTime(buffer, bufferIndex); - bufferIndex += 8; - LastAccessTime = ReadTime(buffer, bufferIndex); - bufferIndex += 8; - LastWriteTime = ReadTime(buffer, bufferIndex); - bufferIndex += 8; - ChangeTime = ReadTime(buffer, bufferIndex); - bufferIndex += 8; - ExtFileAttributes = ReadInt4(buffer, bufferIndex); - bufferIndex += 4; - AllocationSize = ReadInt8(buffer, bufferIndex); - bufferIndex += 8; - EndOfFile = ReadInt8(buffer, bufferIndex); - bufferIndex += 8; - FileType = ReadInt2(buffer, bufferIndex); - bufferIndex += 2; - DeviceState = ReadInt2(buffer, bufferIndex); - bufferIndex += 2; - Directory = (buffer[bufferIndex++] & unchecked(0xFF)) > 0; - return bufferIndex - start; - } - - internal override int ReadBytesWireFormat(byte[] buffer, int bufferIndex) - { - return 0; - } - - public override string ToString() - { - return "SmbComNTCreateAndXResponse[" + base.ToString() + ",oplockLevel=" - + OplockLevel + ",fid=" + Fid + ",createAction=0x" + Hexdump.ToHexString(CreateAction - , 4) + ",creationTime=" + Extensions.CreateDate(CreationTime) + ",lastAccessTime=" - + Extensions.CreateDate(LastAccessTime) + ",lastWriteTime=" + Extensions.CreateDate - (LastWriteTime) + ",changeTime=" + Extensions.CreateDate(ChangeTime) + ",extFileAttributes=0x" - + Hexdump.ToHexString(ExtFileAttributes, 4) + ",allocationSize=" + AllocationSize - + ",endOfFile=" + EndOfFile + ",fileType=" + FileType + ",deviceState=" + DeviceState - + ",directory=" + Directory + "]"; - } - } + internal class SmbComNtCreateAndXResponse : AndXServerMessageBlock + { + internal const int ExclusiveOplockGranted = 1; + + internal const int BatchOplockGranted = 2; + + internal const int LevelIiOplockGranted = 3; + + internal byte OplockLevel; + + internal int Fid; + + internal int CreateAction; + + internal int ExtFileAttributes; + + internal int FileType; + + internal int DeviceState; + + internal long CreationTime; + + internal long LastAccessTime; + + internal long LastWriteTime; + + internal long ChangeTime; + + internal long AllocationSize; + + internal long EndOfFile; + + internal bool Directory; + + internal bool IsExtended; + + internal override int WriteParameterWordsWireFormat(byte[] dst, int dstIndex) + { + return 0; + } + + internal override int WriteBytesWireFormat(byte[] dst, int dstIndex) + { + return 0; + } + + internal override int ReadParameterWordsWireFormat(byte[] buffer, int bufferIndex) + { + int start = bufferIndex; + OplockLevel = buffer[bufferIndex++]; + Fid = ReadInt2(buffer, bufferIndex); + bufferIndex += 2; + CreateAction = ReadInt4(buffer, bufferIndex); + bufferIndex += 4; + CreationTime = ReadTime(buffer, bufferIndex); + bufferIndex += 8; + LastAccessTime = ReadTime(buffer, bufferIndex); + bufferIndex += 8; + LastWriteTime = ReadTime(buffer, bufferIndex); + bufferIndex += 8; + ChangeTime = ReadTime(buffer, bufferIndex); + bufferIndex += 8; + ExtFileAttributes = ReadInt4(buffer, bufferIndex); + bufferIndex += 4; + AllocationSize = ReadInt8(buffer, bufferIndex); + bufferIndex += 8; + EndOfFile = ReadInt8(buffer, bufferIndex); + bufferIndex += 8; + FileType = ReadInt2(buffer, bufferIndex); + bufferIndex += 2; + DeviceState = ReadInt2(buffer, bufferIndex); + bufferIndex += 2; + Directory = (buffer[bufferIndex++] & unchecked(0xFF)) > 0; + return bufferIndex - start; + } + + internal override int ReadBytesWireFormat(byte[] buffer, int bufferIndex) + { + return 0; + } + + public override string ToString() + { + return "SmbComNTCreateAndXResponse[" + + base.ToString() + + ",oplockLevel=" + OplockLevel + + ",fid=" + Fid + + ",createAction=0x" + Hexdump.ToHexString(CreateAction, 4) + + ",creationTime=" + Extensions.CreateDate(CreationTime) + + ",lastAccessTime=" + Extensions.CreateDate(LastAccessTime) + + ",lastWriteTime=" + Extensions.CreateDate(LastWriteTime) + + ",changeTime=" + Extensions.CreateDate(ChangeTime) + + ",extFileAttributes=0x" + Hexdump.ToHexString(ExtFileAttributes, 4) + + ",allocationSize=" + AllocationSize + + ",endOfFile=" + EndOfFile + + ",fileType=" + FileType + + ",deviceState=" + DeviceState + + ",directory=" + Directory + "]"; + } + } } |
