From 7339a8e0a6ce54010ddd19f5d761ca5e2500b657 Mon Sep 17 00:00:00 2001 From: Arda Serdar Pektezol <1669855+pektezol@users.noreply.github.com> Date: Sun, 17 Sep 2023 14:51:01 +0300 Subject: parse netSignOnState flags --- pkg/messages/types/netFile.go | 39 ++++++++++++++++++++++++++++++++------- 1 file changed, 32 insertions(+), 7 deletions(-) (limited to 'pkg/messages/types') diff --git a/pkg/messages/types/netFile.go b/pkg/messages/types/netFile.go index 328900c..c9c587d 100644 --- a/pkg/messages/types/netFile.go +++ b/pkg/messages/types/netFile.go @@ -1,17 +1,42 @@ package messages -import "github.com/pektezol/bitreader" +import ( + "fmt" + + "github.com/pektezol/bitreader" +) type NetFile struct { - TransferId int32 - FileName string - FileRequested bool + TransferId uint32 + FileName string + FileFlags string +} + +type NetFileFlags int + +const ( + ENetFileFlagsNone NetFileFlags = 0 + ENetFileFlagsFileRequested NetFileFlags = 1 + ENetFileFlagsUnknown NetFileFlags = 1 << 1 +) + +func (netFileFlags NetFileFlags) String() string { + switch netFileFlags { + case ENetFileFlagsNone: + return "None" + case ENetFileFlagsFileRequested: + return "FileRequested" + case ENetFileFlagsUnknown: + return "Unknown" + default: + return fmt.Sprintf("%d", int(netFileFlags)) + } } func ParseNetFile(reader *bitreader.Reader) NetFile { return NetFile{ - TransferId: int32(reader.TryReadBits(32)), - FileName: reader.TryReadString(), - FileRequested: reader.TryReadBool(), + TransferId: reader.TryReadUInt32(), + FileName: reader.TryReadString(), + FileFlags: NetFileFlags(reader.TryReadBits(2)).String(), } } -- cgit v1.2.3