Hunter0x7c7
2022-08-11 a82f9cb69f63aaeba40c024960deda7d75b9fece
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package serial
 
import (
    "encoding/binary"
    "io"
)
 
// ReadUint16 reads first two bytes from the reader, and then coverts them to an uint16 value.
func ReadUint16(reader io.Reader) (uint16, error) {
    var b [2]byte
    if _, err := io.ReadFull(reader, b[:]); err != nil {
        return 0, err
    }
    return binary.BigEndian.Uint16(b[:]), nil
}
 
// WriteUint16 writes an uint16 value into writer.
func WriteUint16(writer io.Writer, value uint16) (int, error) {
    var b [2]byte
    binary.BigEndian.PutUint16(b[:], value)
    return writer.Write(b[:])
}
 
// WriteUint64 writes an uint64 value into writer.
func WriteUint64(writer io.Writer, value uint64) (int, error) {
    var b [8]byte
    binary.BigEndian.PutUint64(b[:], value)
    return writer.Write(b[:])
}