// automatically generated by stateify.

package tmpfs

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

func (x *regularFileOperations) beforeSave() {}
func (x *regularFileOperations) save(m state.Map) {
	x.beforeSave()
	m.Save("iops", &x.iops)
}

func (x *regularFileOperations) afterLoad() {}
func (x *regularFileOperations) load(m state.Map) {
	m.Load("iops", &x.iops)
}

func (x *Filesystem) beforeSave() {}
func (x *Filesystem) save(m state.Map) {
	x.beforeSave()
}

func (x *Filesystem) afterLoad() {}
func (x *Filesystem) load(m state.Map) {
}

func (x *fileInodeOperations) beforeSave() {}
func (x *fileInodeOperations) save(m state.Map) {
	x.beforeSave()
	m.Save("InodeSimpleExtendedAttributes", &x.InodeSimpleExtendedAttributes)
	m.Save("kernel", &x.kernel)
	m.Save("memUsage", &x.memUsage)
	m.Save("attr", &x.attr)
	m.Save("mappings", &x.mappings)
	m.Save("writableMappingPages", &x.writableMappingPages)
	m.Save("data", &x.data)
	m.Save("seals", &x.seals)
}

func (x *fileInodeOperations) afterLoad() {}
func (x *fileInodeOperations) load(m state.Map) {
	m.Load("InodeSimpleExtendedAttributes", &x.InodeSimpleExtendedAttributes)
	m.Load("kernel", &x.kernel)
	m.Load("memUsage", &x.memUsage)
	m.Load("attr", &x.attr)
	m.Load("mappings", &x.mappings)
	m.Load("writableMappingPages", &x.writableMappingPages)
	m.Load("data", &x.data)
	m.Load("seals", &x.seals)
}

func (x *Dir) beforeSave() {}
func (x *Dir) save(m state.Map) {
	x.beforeSave()
	m.Save("ramfsDir", &x.ramfsDir)
	m.Save("kernel", &x.kernel)
}

func (x *Dir) load(m state.Map) {
	m.Load("ramfsDir", &x.ramfsDir)
	m.Load("kernel", &x.kernel)
	m.AfterLoad(x.afterLoad)
}

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

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

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

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

func (x *Fifo) beforeSave() {}
func (x *Fifo) save(m state.Map) {
	x.beforeSave()
	m.Save("InodeOperations", &x.InodeOperations)
}

func (x *Fifo) afterLoad() {}
func (x *Fifo) load(m state.Map) {
	m.Load("InodeOperations", &x.InodeOperations)
}

func init() {
	state.Register("tmpfs.regularFileOperations", (*regularFileOperations)(nil), state.Fns{Save: (*regularFileOperations).save, Load: (*regularFileOperations).load})
	state.Register("tmpfs.Filesystem", (*Filesystem)(nil), state.Fns{Save: (*Filesystem).save, Load: (*Filesystem).load})
	state.Register("tmpfs.fileInodeOperations", (*fileInodeOperations)(nil), state.Fns{Save: (*fileInodeOperations).save, Load: (*fileInodeOperations).load})
	state.Register("tmpfs.Dir", (*Dir)(nil), state.Fns{Save: (*Dir).save, Load: (*Dir).load})
	state.Register("tmpfs.Symlink", (*Symlink)(nil), state.Fns{Save: (*Symlink).save, Load: (*Symlink).load})
	state.Register("tmpfs.Socket", (*Socket)(nil), state.Fns{Save: (*Socket).save, Load: (*Socket).load})
	state.Register("tmpfs.Fifo", (*Fifo)(nil), state.Fns{Save: (*Fifo).save, Load: (*Fifo).load})
}