summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/kernel/epoll/epoll_state_autogen.go
blob: afdea5bcf9cbd5dcae784098f82659177e2157d2 (plain)
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
// automatically generated by stateify.

package epoll

import (
	"gvisor.dev/gvisor/pkg/state"
)

func (x *FileIdentifier) beforeSave() {}
func (x *FileIdentifier) save(m state.Map) {
	x.beforeSave()
	m.Save("File", &x.File)
	m.Save("Fd", &x.Fd)
}

func (x *FileIdentifier) afterLoad() {}
func (x *FileIdentifier) load(m state.Map) {
	m.LoadWait("File", &x.File)
	m.Load("Fd", &x.Fd)
}

func (x *pollEntry) beforeSave() {}
func (x *pollEntry) save(m state.Map) {
	x.beforeSave()
	m.Save("pollEntryEntry", &x.pollEntryEntry)
	m.Save("id", &x.id)
	m.Save("userData", &x.userData)
	m.Save("mask", &x.mask)
	m.Save("flags", &x.flags)
	m.Save("epoll", &x.epoll)
}

func (x *pollEntry) load(m state.Map) {
	m.Load("pollEntryEntry", &x.pollEntryEntry)
	m.LoadWait("id", &x.id)
	m.Load("userData", &x.userData)
	m.Load("mask", &x.mask)
	m.Load("flags", &x.flags)
	m.Load("epoll", &x.epoll)
	m.AfterLoad(x.afterLoad)
}

func (x *EventPoll) beforeSave() {}
func (x *EventPoll) save(m state.Map) {
	x.beforeSave()
	if !state.IsZeroValue(x.FilePipeSeek) {
		m.Failf("FilePipeSeek is %v, expected zero", x.FilePipeSeek)
	}
	if !state.IsZeroValue(x.FileNotDirReaddir) {
		m.Failf("FileNotDirReaddir is %v, expected zero", x.FileNotDirReaddir)
	}
	if !state.IsZeroValue(x.FileNoFsync) {
		m.Failf("FileNoFsync is %v, expected zero", x.FileNoFsync)
	}
	if !state.IsZeroValue(x.FileNoopFlush) {
		m.Failf("FileNoopFlush is %v, expected zero", x.FileNoopFlush)
	}
	if !state.IsZeroValue(x.FileNoIoctl) {
		m.Failf("FileNoIoctl is %v, expected zero", x.FileNoIoctl)
	}
	if !state.IsZeroValue(x.FileNoMMap) {
		m.Failf("FileNoMMap is %v, expected zero", x.FileNoMMap)
	}
	if !state.IsZeroValue(x.Queue) {
		m.Failf("Queue is %v, expected zero", x.Queue)
	}
	m.Save("files", &x.files)
	m.Save("readyList", &x.readyList)
	m.Save("waitingList", &x.waitingList)
	m.Save("disabledList", &x.disabledList)
}

func (x *EventPoll) load(m state.Map) {
	m.Load("files", &x.files)
	m.Load("readyList", &x.readyList)
	m.Load("waitingList", &x.waitingList)
	m.Load("disabledList", &x.disabledList)
	m.AfterLoad(x.afterLoad)
}

func (x *pollEntryList) beforeSave() {}
func (x *pollEntryList) save(m state.Map) {
	x.beforeSave()
	m.Save("head", &x.head)
	m.Save("tail", &x.tail)
}

func (x *pollEntryList) afterLoad() {}
func (x *pollEntryList) load(m state.Map) {
	m.Load("head", &x.head)
	m.Load("tail", &x.tail)
}

func (x *pollEntryEntry) beforeSave() {}
func (x *pollEntryEntry) save(m state.Map) {
	x.beforeSave()
	m.Save("next", &x.next)
	m.Save("prev", &x.prev)
}

func (x *pollEntryEntry) afterLoad() {}
func (x *pollEntryEntry) load(m state.Map) {
	m.Load("next", &x.next)
	m.Load("prev", &x.prev)
}

func init() {
	state.Register("pkg/sentry/kernel/epoll.FileIdentifier", (*FileIdentifier)(nil), state.Fns{Save: (*FileIdentifier).save, Load: (*FileIdentifier).load})
	state.Register("pkg/sentry/kernel/epoll.pollEntry", (*pollEntry)(nil), state.Fns{Save: (*pollEntry).save, Load: (*pollEntry).load})
	state.Register("pkg/sentry/kernel/epoll.EventPoll", (*EventPoll)(nil), state.Fns{Save: (*EventPoll).save, Load: (*EventPoll).load})
	state.Register("pkg/sentry/kernel/epoll.pollEntryList", (*pollEntryList)(nil), state.Fns{Save: (*pollEntryList).save, Load: (*pollEntryList).load})
	state.Register("pkg/sentry/kernel/epoll.pollEntryEntry", (*pollEntryEntry)(nil), state.Fns{Save: (*pollEntryEntry).save, Load: (*pollEntryEntry).load})
}