Add missing poll and notify request structures
parent
c02e24f8ce
commit
062810a628
|
@ -346,6 +346,34 @@ var releaseFlagNames = []flagName{
|
||||||
{uint32(ReleaseFlush), "ReleaseFlush"},
|
{uint32(ReleaseFlush), "ReleaseFlush"},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Poll flags and events are used in the Poll exchange.
|
||||||
|
type PollFlags uint32
|
||||||
|
|
||||||
|
const (
|
||||||
|
// From the kernel source:
|
||||||
|
// Ask for notification if there's someone waiting for it.
|
||||||
|
// The client may ignore the flag and always notify.
|
||||||
|
PollScheduleNotify PollFlags = 1 << 0
|
||||||
|
)
|
||||||
|
|
||||||
|
type PollEvents uint32
|
||||||
|
|
||||||
|
const (
|
||||||
|
PollInEvent PollEvents = 0x0001
|
||||||
|
PollPriEvent PollEvents = 0x0002
|
||||||
|
PollOutEvent PollEvents = 0x0004
|
||||||
|
PollErrEvent PollEvents = 0x0008
|
||||||
|
PollHupEvent PollEvents = 0x0010
|
||||||
|
PollNvalEvent PollEvents = 0x0020
|
||||||
|
PollRdNormEvent PollEvents = 0x0040
|
||||||
|
PollRdBandEvent PollEvents = 0x0080
|
||||||
|
PollWrNormEvent PollEvents = 0x0100
|
||||||
|
PollWrBandEvent PollEvents = 0x0200
|
||||||
|
PollMsgEvent PollEvents = 0x0400
|
||||||
|
PollRemoveEvent PollEvents = 0x1000
|
||||||
|
PollRdHupEvent PollEvents = 0x2000
|
||||||
|
)
|
||||||
|
|
||||||
// Opcodes
|
// Opcodes
|
||||||
const (
|
const (
|
||||||
OpLookup = 1
|
OpLookup = 1
|
||||||
|
@ -386,6 +414,7 @@ const (
|
||||||
OpDestroy = 38
|
OpDestroy = 38
|
||||||
OpIoctl = 39 // Linux?
|
OpIoctl = 39 // Linux?
|
||||||
OpPoll = 40 // Linux?
|
OpPoll = 40 // Linux?
|
||||||
|
OpNotifyReply = 41
|
||||||
OpBatchForget = 42
|
OpBatchForget = 42
|
||||||
OpFallocate = 43
|
OpFallocate = 43
|
||||||
|
|
||||||
|
@ -552,6 +581,18 @@ func CreateInSize(p Protocol) uintptr {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PollIn struct {
|
||||||
|
Fh uint64
|
||||||
|
Kh uint64
|
||||||
|
Flags uint32
|
||||||
|
Events uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type PollOut struct {
|
||||||
|
Revents uint32
|
||||||
|
padding uint32
|
||||||
|
}
|
||||||
|
|
||||||
type ReleaseIn struct {
|
type ReleaseIn struct {
|
||||||
Fh uint64
|
Fh uint64
|
||||||
Flags uint32
|
Flags uint32
|
||||||
|
@ -787,8 +828,15 @@ const (
|
||||||
NotifyCodePoll int32 = 1
|
NotifyCodePoll int32 = 1
|
||||||
NotifyCodeInvalInode int32 = 2
|
NotifyCodeInvalInode int32 = 2
|
||||||
NotifyCodeInvalEntry int32 = 3
|
NotifyCodeInvalEntry int32 = 3
|
||||||
|
NotifyCodeStore int32 = 4
|
||||||
|
NotifyCodeRetrieve int32 = 5
|
||||||
|
NotifyCodeDelete int32 = 6
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type NotifyPollWakeupOut struct {
|
||||||
|
Kh uint64
|
||||||
|
}
|
||||||
|
|
||||||
type NotifyInvalInodeOut struct {
|
type NotifyInvalInodeOut struct {
|
||||||
Ino uint64
|
Ino uint64
|
||||||
Off int64
|
Off int64
|
||||||
|
@ -800,3 +848,35 @@ type NotifyInvalEntryOut struct {
|
||||||
Namelen uint32
|
Namelen uint32
|
||||||
padding uint32
|
padding uint32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type NotifyDeleteOut struct {
|
||||||
|
Parent uint64
|
||||||
|
Child uint64
|
||||||
|
Namelen uint32
|
||||||
|
padding uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type NotifyStoreOut struct {
|
||||||
|
Nodeid uint64
|
||||||
|
Offset uint64
|
||||||
|
Size uint32
|
||||||
|
padding uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
type NotifyRetrieveOut struct {
|
||||||
|
Unique uint64
|
||||||
|
Nodeid uint64
|
||||||
|
Offset uint64
|
||||||
|
Size uint32
|
||||||
|
padding uint32
|
||||||
|
}
|
||||||
|
|
||||||
|
// Matches the size of WriteIn
|
||||||
|
type NotifyRetrieveIn struct {
|
||||||
|
dummy1 uint64
|
||||||
|
Offset uint64
|
||||||
|
Size uint32
|
||||||
|
dummy2 uint32
|
||||||
|
dummy3 uint64
|
||||||
|
dummy4 uint64
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue