// automatically generated by stateify.

package shm

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

func (x *Registry) beforeSave() {}
func (x *Registry) save(m state.Map) {
	x.beforeSave()
	m.Save("userNS", &x.userNS)
	m.Save("shms", &x.shms)
	m.Save("keysToShms", &x.keysToShms)
	m.Save("totalPages", &x.totalPages)
	m.Save("lastIDUsed", &x.lastIDUsed)
}

func (x *Registry) afterLoad() {}
func (x *Registry) load(m state.Map) {
	m.Load("userNS", &x.userNS)
	m.Load("shms", &x.shms)
	m.Load("keysToShms", &x.keysToShms)
	m.Load("totalPages", &x.totalPages)
	m.Load("lastIDUsed", &x.lastIDUsed)
}

func (x *Shm) beforeSave() {}
func (x *Shm) save(m state.Map) {
	x.beforeSave()
	m.Save("AtomicRefCount", &x.AtomicRefCount)
	m.Save("mfp", &x.mfp)
	m.Save("registry", &x.registry)
	m.Save("ID", &x.ID)
	m.Save("creator", &x.creator)
	m.Save("size", &x.size)
	m.Save("effectiveSize", &x.effectiveSize)
	m.Save("fr", &x.fr)
	m.Save("key", &x.key)
	m.Save("perms", &x.perms)
	m.Save("owner", &x.owner)
	m.Save("attachTime", &x.attachTime)
	m.Save("detachTime", &x.detachTime)
	m.Save("changeTime", &x.changeTime)
	m.Save("creatorPID", &x.creatorPID)
	m.Save("lastAttachDetachPID", &x.lastAttachDetachPID)
	m.Save("pendingDestruction", &x.pendingDestruction)
}

func (x *Shm) afterLoad() {}
func (x *Shm) load(m state.Map) {
	m.Load("AtomicRefCount", &x.AtomicRefCount)
	m.Load("mfp", &x.mfp)
	m.Load("registry", &x.registry)
	m.Load("ID", &x.ID)
	m.Load("creator", &x.creator)
	m.Load("size", &x.size)
	m.Load("effectiveSize", &x.effectiveSize)
	m.Load("fr", &x.fr)
	m.Load("key", &x.key)
	m.Load("perms", &x.perms)
	m.Load("owner", &x.owner)
	m.Load("attachTime", &x.attachTime)
	m.Load("detachTime", &x.detachTime)
	m.Load("changeTime", &x.changeTime)
	m.Load("creatorPID", &x.creatorPID)
	m.Load("lastAttachDetachPID", &x.lastAttachDetachPID)
	m.Load("pendingDestruction", &x.pendingDestruction)
}

func init() {
	state.Register("shm.Registry", (*Registry)(nil), state.Fns{Save: (*Registry).save, Load: (*Registry).load})
	state.Register("shm.Shm", (*Shm)(nil), state.Fns{Save: (*Shm).save, Load: (*Shm).load})
}