123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- package yu_tencent
- type tlv struct{}
- var Tlv tlv
- func (t tlv) From(buf []byte, tlv uint16, val ...byte) []byte {
- j_len := len(val)
- buf = append(buf, byte(tlv>>8), byte(tlv), byte(j_len>>8), byte(j_len))
- buf = append(buf, val...)
- return buf
- }
- func (t tlv) FromInt16(buf []byte, tlv uint16, val ...int16) []byte {
- j_len := len(val) * 2
- buf = append(buf, byte(tlv>>8), byte(tlv), byte(j_len>>8), byte(j_len))
- for _, j_val := range val {
- buf = append(buf, byte(j_val>>8), byte(j_val))
- }
- return buf
- }
- func (t tlv) FromUint16(buf []byte, tlv uint16, val ...uint16) []byte {
- j_len := len(val) * 2
- buf = append(buf, byte(tlv>>8), byte(tlv), byte(j_len>>8), byte(j_len))
- for _, j_val := range val {
- buf = append(buf, byte(j_val>>8), byte(j_val))
- }
- return buf
- }
- func (t tlv) FromInt32(buf []byte, tlv uint16, val ...int32) []byte {
- j_len := len(val) * 4
- buf = append(buf, byte(tlv>>8), byte(tlv), byte(j_len>>8), byte(j_len))
- for _, j_val := range val {
- buf = append(buf, byte(j_val>>24), byte(j_val>>16), byte(j_val>>8), byte(j_val))
- }
- return buf
- }
- func (t tlv) FromUint32(buf []byte, tlv uint16, val ...uint32) []byte {
- j_len := len(val) * 4
- buf = append(buf, byte(tlv>>8), byte(tlv), byte(j_len>>8), byte(j_len))
- for _, j_val := range val {
- buf = append(buf, byte(j_val>>24), byte(j_val>>16), byte(j_val>>8), byte(j_val))
- }
- return buf
- }
- func (t tlv) FromInt64(buf []byte, tlv uint16, val ...int64) []byte {
- j_len := len(val) * 8
- buf = append(buf, byte(tlv>>8), byte(tlv), byte(j_len>>8), byte(j_len))
- for _, j_val := range val {
- buf = append(buf, byte(j_val>>56), byte(j_val>>48), byte(j_val>>40), byte(j_val>>32), byte(j_val>>24), byte(j_val>>16), byte(j_val>>8), byte(j_val))
- }
- return buf
- }
- func (t tlv) FromUint64(buf []byte, tlv uint16, val ...uint64) []byte {
- j_len := len(val) * 8
- buf = append(buf, byte(tlv>>8), byte(tlv), byte(j_len>>8), byte(j_len))
- for _, j_val := range val {
- buf = append(buf, byte(j_val>>56), byte(j_val>>48), byte(j_val>>40), byte(j_val>>32), byte(j_val>>24), byte(j_val>>16), byte(j_val>>8), byte(j_val))
- }
- return buf
- }
- func (t tlv) FromB(buf []byte, tlv uint16, val ...[]byte) []byte {
- var j_len int
- for _, j_val := range val {
- j_len += len(j_val)
- }
- buf = append(buf, byte(tlv>>8), byte(tlv), byte(j_len>>8), byte(j_len))
- for _, j_val := range val {
- buf = append(buf, j_val...)
- }
- return buf
- }
- func (t tlv) FromS(buf []byte, tlv uint16, val ...string) []byte {
- var j_len int
- for _, j_val := range val {
- j_len += len(j_val)
- }
- buf = append(buf, byte(tlv>>8), byte(tlv), byte(j_len>>8), byte(j_len))
- for _, j_val := range val {
- buf = append(buf, j_val...)
- }
- return buf
- }
|