|
@@ -4,61 +4,68 @@ type tlv struct{}
|
|
|
|
|
|
var Tlv tlv
|
|
|
|
|
|
-func (t tlv) From(buf []byte, tlv uint16, val ...byte) {
|
|
|
+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) {
|
|
|
+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) {
|
|
|
+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) {
|
|
|
+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) {
|
|
|
+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) {
|
|
|
+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) {
|
|
|
+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) {
|
|
|
+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)
|
|
@@ -67,9 +74,10 @@ func (t tlv) FromB(buf []byte, tlv uint16, val ...[]byte) {
|
|
|
for _, j_val := range val {
|
|
|
buf = append(buf, j_val...)
|
|
|
}
|
|
|
+ return buf
|
|
|
}
|
|
|
|
|
|
-func (t tlv) FromS(buf []byte, tlv uint16, val ...string) {
|
|
|
+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)
|
|
@@ -78,4 +86,5 @@ func (t tlv) FromS(buf []byte, tlv uint16, val ...string) {
|
|
|
for _, j_val := range val {
|
|
|
buf = append(buf, j_val...)
|
|
|
}
|
|
|
+ return buf
|
|
|
}
|