...
1
2
3
4 package etw
5
6 import (
7 "bytes"
8 "encoding/binary"
9 "syscall"
10 )
11
12
13
14 type eventData struct {
15 buffer bytes.Buffer
16 }
17
18
19
20
21 func (ed *eventData) toBytes() []byte {
22 return ed.buffer.Bytes()
23 }
24
25
26 func (ed *eventData) writeString(data string) {
27 _, _ = ed.buffer.WriteString(data)
28 _ = ed.buffer.WriteByte(0)
29 }
30
31
32 func (ed *eventData) writeInt8(value int8) {
33 _ = ed.buffer.WriteByte(uint8(value))
34 }
35
36
37 func (ed *eventData) writeInt16(value int16) {
38 _ = binary.Write(&ed.buffer, binary.LittleEndian, value)
39 }
40
41
42 func (ed *eventData) writeInt32(value int32) {
43 _ = binary.Write(&ed.buffer, binary.LittleEndian, value)
44 }
45
46
47 func (ed *eventData) writeInt64(value int64) {
48 _ = binary.Write(&ed.buffer, binary.LittleEndian, value)
49 }
50
51
52 func (ed *eventData) writeUint8(value uint8) {
53 _ = ed.buffer.WriteByte(value)
54 }
55
56
57 func (ed *eventData) writeUint16(value uint16) {
58 _ = binary.Write(&ed.buffer, binary.LittleEndian, value)
59 }
60
61
62 func (ed *eventData) writeUint32(value uint32) {
63 _ = binary.Write(&ed.buffer, binary.LittleEndian, value)
64 }
65
66
67 func (ed *eventData) writeUint64(value uint64) {
68 _ = binary.Write(&ed.buffer, binary.LittleEndian, value)
69 }
70
71
72 func (ed *eventData) writeFiletime(value syscall.Filetime) {
73 _ = binary.Write(&ed.buffer, binary.LittleEndian, value)
74 }
75
View as plain text