X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/blobdiff_plain/eabc4b6cacc4749db226af272e71fcff1556f433..270abe9a991a57084650424a0238ef4f062b0b64:/hotline/field.go diff --git a/hotline/field.go b/hotline/field.go index 7955fe3..3076017 100644 --- a/hotline/field.go +++ b/hotline/field.go @@ -16,18 +16,22 @@ const fieldRefNum = 107 const fieldTransferSize = 108 const fieldChatOptions = 109 const fieldUserAccess = 110 -//const fieldUserAlias = 111 TODO: implement + +// const fieldUserAlias = 111 TODO: implement const fieldUserFlags = 112 -const fieldOptions = 113 +const fieldOptions = 113 // Server message (1) or admin message (any other value) const fieldChatID = 114 const fieldChatSubject = 115 const fieldWaitingCount = 116 +const fieldBannerType = 152 const fieldVersion = 160 const fieldCommunityBannerID = 161 const fieldServerName = 162 const fieldFileNameWithInfo = 200 const fieldFileName = 201 const fieldFilePath = 202 +const fieldFileResumeData = 203 +const fieldFileTransferOptions = 204 const fieldFileTypeString = 205 const fieldFileCreatorString = 206 const fieldFileSize = 207 @@ -37,7 +41,7 @@ const fieldFileComment = 210 const fieldFileNewName = 211 const fieldFileNewPath = 212 const fieldFileType = 213 -const fieldQuotingMsg = 214 // Defined but unused in the Hotline Protocol spec +const fieldQuotingMsg = 214 const fieldAutomaticResponse = 215 const fieldFolderItemCount = 220 const fieldUsernameWithInfo = 300 @@ -87,3 +91,12 @@ func NewField(id uint16, data []byte) Field { func (f Field) Payload() []byte { return concat.Slices(f.ID, f.FieldSize, f.Data) } + +func getField(id int, fields *[]Field) *Field { + for _, field := range *fields { + if id == int(binary.BigEndian.Uint16(field.ID)) { + return &field + } + } + return nil +}