github.com/Mrs4s/MiraiGo@v0.0.0-20240226124653-54bdd873e3fe/internal/tlv/t100.go (about)

     1  package tlv
     2  
     3  import (
     4  	"github.com/Mrs4s/MiraiGo/binary"
     5  )
     6  
     7  func T100(ssoVersion, protocol, mainSigMap uint32) []byte {
     8  	return binary.NewWriterF(func(w *binary.Writer) {
     9  		w.WriteUInt16(0x100)
    10  		pos := w.FillUInt16()
    11  		w.WriteUInt16(1)
    12  		w.WriteUInt32(ssoVersion)
    13  		w.WriteUInt32(16)
    14  		w.WriteUInt32(protocol)
    15  		w.WriteUInt32(0)          // App client version
    16  		w.WriteUInt32(mainSigMap) // 34869472
    17  		w.WriteUInt16At(pos, uint16(w.Len()-4))
    18  	})
    19  }