Documentation
¶
Overview ¶
MIT License
Copyright (c) 2023 Paweł Gaczyński ¶
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Index ¶
- Constants
- Variables
- func BufRingMask(entries uint32) int
- func CheckKernelVersion(k, major, minor int) (bool, error)
- func CheckVersion(major, minor int) bool
- func CompareKernelVersion(a, b KernelVersion) int
- func MajorVersion() int
- func MinorVersion() int
- func MlockSize(entries, flags uint32) (uint64, error)
- func MlockSizeParams(entries uint32, p *Params) (uint64, error)
- func Mmap(fd int, p *Params, sq *SubmissionQueue, cq *CompletionQueue) error
- func Setup(entries uint32, p *Params) (uint, error)
- func SetupRingPointers(p *Params, sq *SubmissionQueue, cq *CompletionQueue)
- func UnmapRings(sq *SubmissionQueue, cq *CompletionQueue)
- type BufAndRing
- type BufReg
- type CQRingOffsets
- type CompletionQueue
- type CompletionQueueEvent
- type FileIndexRange
- type FilesUpdate
- type GetEventsArg
- type KernelVersion
- type Params
- type Probe
- type ProbeOp
- type RecvmsgOut
- func (o *RecvmsgOut) CmsgFirsthdr(msgh *syscall.Msghdr) *syscall.Cmsghdr
- func (o *RecvmsgOut) CmsgNexthdr(msgh *syscall.Msghdr, cmsg *syscall.Cmsghdr) *syscall.Cmsghdr
- func (o *RecvmsgOut) Name() unsafe.Pointer
- func (o *RecvmsgOut) Payload(msgh *syscall.Msghdr) unsafe.Pointer
- func (o *RecvmsgOut) PayloadLength(bufLen int, msgh *syscall.Msghdr) uint32
- type Restriction
- type Ring
- func (ring *Ring) BufRingCQAdvance(br *BufAndRing, count int)
- func (ring *Ring) CQAdvance(numberOfCQEs uint32)
- func (ring *Ring) CQESeen(event *CompletionQueueEvent)
- func (ring *Ring) CQEventfdEnabled() bool
- func (ring *Ring) CQHasOverflow() bool
- func (ring *Ring) CQReady() uint32
- func (ring *Ring) CloseRingFd() (uint, error)
- func (ring *Ring) CqEventfdToggle(enabled bool) error
- func (ring *Ring) EnableRings() (uint, error)
- func (ring *Ring) Enter(submitted uint32, waitNr uint32, flags uint32, sig unsafe.Pointer) (uint, error)
- func (ring *Ring) Enter2(submitted uint32, waitNr uint32, flags uint32, sig unsafe.Pointer, size int) (uint, error)
- func (ring *Ring) ForEachCQE(callback func(cqe *CompletionQueueEvent))
- func (ring *Ring) FreeBufRing(bgid int) error
- func (ring *Ring) GetEvents() (uint, error)
- func (ring *Ring) GetProbeRing() (*Probe, error)
- func (ring *Ring) GetSQE() *SubmissionQueueEntry
- func (ring *Ring) PeekBatchCQE(cqes []*CompletionQueueEvent) uint32
- func (ring *Ring) PeekCQE() (*CompletionQueueEvent, error)
- func (ring *Ring) QueueExit()
- func (ring *Ring) QueueInit(entries uint32, flags uint32) error
- func (ring *Ring) QueueInitMem(entries uint32, p *Params, buf unsafe.Pointer, bufSize uint64) error
- func (ring *Ring) QueueInitParams(entries uint32, p *Params) error
- func (ring *Ring) QueueMmap(fd int, p *Params) error
- func (ring *Ring) Register(fd int, opcode uint32, arg unsafe.Pointer, nrArgs uint32) (uint, syscall.Errno)
- func (ring *Ring) RegisterBufferRing(reg *BufReg, _ uint32) (uint, error)
- func (ring *Ring) RegisterBuffers(iovecs []syscall.Iovec) (uint, error)
- func (ring *Ring) RegisterBuffersSparse(nr uint32) (uint, error)
- func (ring *Ring) RegisterBuffersTags(iovecs []syscall.Iovec, tags []uint64) (uint, error)
- func (ring *Ring) RegisterBuffersUpdateTag(off uint32, iovecs []syscall.Iovec, tags *uint64, nr uint32) (uint, error)
- func (ring *Ring) RegisterEventFd(fd int) (uint, error)
- func (ring *Ring) RegisterEventFdAsync(fd int) (uint, error)
- func (ring *Ring) RegisterFileAllocRange(off, length uint32) (uint, error)
- func (ring *Ring) RegisterFiles(files []int) (uint, error)
- func (ring *Ring) RegisterFilesSparse(nr uint32) (uint, error)
- func (ring *Ring) RegisterFilesTags(files []int, tags []uint64) (uint, error)
- func (ring *Ring) RegisterFilesUpdate(off uint, files []int) (uint, error)
- func (ring *Ring) RegisterFilesUpdateTag(off uint, files []int, tags []uint64) (uint, error)
- func (ring *Ring) RegisterIOWQAff(cpusz uint64, mask *unix.CPUSet) error
- func (ring *Ring) RegisterIOWQMaxWorkers(val []uint) (uint, error)
- func (ring *Ring) RegisterPersonality() (uint, error)
- func (ring *Ring) RegisterProbe(probe *Probe, nrOps int) (uint, error)
- func (ring *Ring) RegisterRestrictions(res []Restriction) (uint, error)
- func (ring *Ring) RegisterRingFd() (uint, error)
- func (ring *Ring) RegisterSyncCancel(reg *SyncCancelReg) (uint, error)
- func (ring *Ring) RingDontFork() error
- func (ring *Ring) RingFd() int
- func (ring *Ring) SQReady() uint32
- func (ring *Ring) SQRingWait() (uint, error)
- func (ring *Ring) SQSpaceLeft() uint32
- func (ring *Ring) SetupBufRing(nentries uint32, bgid int, flags uint32) (*BufAndRing, error)
- func (ring *Ring) Submit() (uint, error)
- func (ring *Ring) SubmitAndGetEvents() (uint, error)
- func (ring *Ring) SubmitAndWait(waitNr uint32) (uint, error)
- func (ring *Ring) SubmitAndWaitTimeout(waitNr uint32, ts *syscall.Timespec, sigmask *unix.Sigset_t) (*CompletionQueueEvent, error)
- func (ring *Ring) UnregisterBufferRing(bgid int) (uint, error)
- func (ring *Ring) UnregisterBuffers() (uint, error)
- func (ring *Ring) UnregisterEventFd(fd int) (uint, error)
- func (ring *Ring) UnregisterFiles() (uint, error)
- func (ring *Ring) UnregisterIOWQAff() (uint, error)
- func (ring *Ring) UnregisterPersonality() (uint, error)
- func (ring *Ring) UnregisterRingFd() (uint, error)
- func (ring *Ring) WaitCQE() (*CompletionQueueEvent, error)
- func (ring *Ring) WaitCQENr(waitNr uint32) (*CompletionQueueEvent, error)
- func (ring *Ring) WaitCQETimeout(ts *syscall.Timespec) (*CompletionQueueEvent, error)
- func (ring *Ring) WaitCQEs(waitNr uint32, ts *syscall.Timespec, sigmask *unix.Sigset_t) (*CompletionQueueEvent, error)
- func (ring *Ring) WaitCQEsNew(waitNr uint32, ts *syscall.Timespec, sigmask *unix.Sigset_t) (*CompletionQueueEvent, error)
- type RsrcRegister
- type RsrcUpdate
- type RsrcUpdate2
- type SQRingOffsets
- type SubmissionQueue
- type SubmissionQueueEntry
- func (entry *SubmissionQueueEntry) PrepareAccept(fd int, addr uintptr, addrLen uint64, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareAcceptDirect(fd int, addr uintptr, addrLen uint64, flags uint32, fileIndex uint32)
- func (entry *SubmissionQueueEntry) PrepareCancel(userData uintptr, flags int)
- func (entry *SubmissionQueueEntry) PrepareCancel64(userData uint64, flags int)
- func (entry *SubmissionQueueEntry) PrepareCancelFd(fd int, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareClose(fd int)
- func (entry *SubmissionQueueEntry) PrepareCloseDirect(fileIndex uint32)
- func (entry *SubmissionQueueEntry) PrepareCmdSock(cmdOp int, fd int, _ int, _ int, _ unsafe.Pointer, _ int)
- func (entry *SubmissionQueueEntry) PrepareConnect(fd int, addr *syscall.Sockaddr, addrLen uint64)
- func (entry *SubmissionQueueEntry) PrepareFadvise(fd int, offset uint64, length int, advise uint32)
- func (entry *SubmissionQueueEntry) PrepareFallocate(fd int, mode int, offset, length uint64)
- func (entry *SubmissionQueueEntry) PrepareFgetxattr(fd int, name, value []byte)
- func (entry *SubmissionQueueEntry) PrepareFilesUpdate(fds []int, offset int)
- func (entry *SubmissionQueueEntry) PrepareFsetxattr(fd int, name, value []byte, flags int)
- func (entry *SubmissionQueueEntry) PrepareFsync(fd int, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareGetxattr(name, value, path []byte)
- func (entry *SubmissionQueueEntry) PrepareLink(oldPath, newPath []byte, flags int)
- func (entry *SubmissionQueueEntry) PrepareLinkTimeout(duration time.Duration, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareLinkat(oldFd int, oldPath []byte, newFd int, newPath []byte, flags int)
- func (entry *SubmissionQueueEntry) PrepareMadvise(addr uintptr, length uint, advice int)
- func (entry *SubmissionQueueEntry) PrepareMkdir(path []byte, mode uint32)
- func (entry *SubmissionQueueEntry) PrepareMkdirat(dfd int, path []byte, mode uint32)
- func (entry *SubmissionQueueEntry) PrepareMsgRing(fd int, length uint32, data uint64, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareMsgRingCqeFlags(fd int, length uint32, data uint64, flags, cqeFlags uint32)
- func (entry *SubmissionQueueEntry) PrepareMsgRingFd(fd int, sourceFd int, targetFd int, data uint64, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareMsgRingFdAlloc(fd int, sourceFd int, data uint64, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareMultishotAccept(fd int, addr uintptr, addrLen uint64, flags int)
- func (entry *SubmissionQueueEntry) PrepareMultishotAcceptDirect(fd int, addr uintptr, addrLen uint64, flags int)
- func (entry *SubmissionQueueEntry) PrepareNop()
- func (entry *SubmissionQueueEntry) PrepareOpenat(dfd int, path []byte, flags int, mode uint32)
- func (entry *SubmissionQueueEntry) PrepareOpenat2(dfd int, path []byte, openHow *unix.OpenHow)
- func (entry *SubmissionQueueEntry) PrepareOpenat2Direct(dfd int, path []byte, openHow *unix.OpenHow, fileIndex uint32)
- func (entry *SubmissionQueueEntry) PrepareOpenatDirect(dfd int, path []byte, flags int, mode uint32, fileIndex uint32)
- func (entry *SubmissionQueueEntry) PreparePollAdd(fd int, pollMask uint32)
- func (entry *SubmissionQueueEntry) PreparePollMultishot(fd int, pollMask uint32)
- func (entry *SubmissionQueueEntry) PreparePollRemove(userData uint64)
- func (entry *SubmissionQueueEntry) PreparePollUpdate(oldUserData, newUserData uint64, pollMask, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareProvideBuffers(addr uintptr, length, nr, bgid, bid int)
- func (entry *SubmissionQueueEntry) PrepareRead(fd int, buf uintptr, nbytes uint32, offset uint64)
- func (entry *SubmissionQueueEntry) PrepareReadFixed(fd int, buf uintptr, nbytes uint32, offset uint64, bufIndex int)
- func (entry *SubmissionQueueEntry) PrepareReadv(fd int, iovecs uintptr, nrVecs uint32, offset uint64)
- func (entry *SubmissionQueueEntry) PrepareReadv2(fd int, iovecs uintptr, nrVecs uint32, offset uint64, flags int)
- func (entry *SubmissionQueueEntry) PrepareRecv(fd int, buf uintptr, length uint32, flags int)
- func (entry *SubmissionQueueEntry) PrepareRecvMsg(fd int, msg *syscall.Msghdr, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareRecvMsgMultishot(fd int, msg *syscall.Msghdr, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareRecvMultishot(fd int, addr uintptr, length uint32, flags int)
- func (entry *SubmissionQueueEntry) PrepareRemoveBuffers(nr int, bgid int)
- func (entry *SubmissionQueueEntry) PrepareRename(oldPath, netPath []byte)
- func (entry *SubmissionQueueEntry) PrepareRenameat(oldFd int, oldPath []byte, newFd int, newPath []byte, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareSend(fd int, addr uintptr, length uint32, flags int)
- func (entry *SubmissionQueueEntry) PrepareSendMsg(fd int, msg *syscall.Msghdr, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareSendSetAddr(destAddr *syscall.Sockaddr, addrLen uint16)
- func (entry *SubmissionQueueEntry) PrepareSendZC(sockFd int, buf []byte, flags int, zcFlags uint32)
- func (entry *SubmissionQueueEntry) PrepareSendZCFixed(sockFd int, buf []byte, flags int, zcFlags, bufIndex uint32)
- func (entry *SubmissionQueueEntry) PrepareSendmsgZC(fd int, msg *syscall.Msghdr, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareSendto(sockFd int, buf []byte, flags int, addr *syscall.Sockaddr, addrLen uint32)
- func (entry *SubmissionQueueEntry) PrepareSetxattr(name, value, path []byte, flags int, length uint32)
- func (entry *SubmissionQueueEntry) PrepareShutdown(fd, how int)
- func (entry *SubmissionQueueEntry) PrepareSocket(domain, socketType, protocol int, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareSocketDirect(domain, socketType, protocol int, fileIndex, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareSocketDirectAlloc(domain, socketType, protocol int, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareSplice(fdIn int, offIn int64, fdOut int, offOut int64, nbytes, spliceFlags uint32)
- func (entry *SubmissionQueueEntry) PrepareStatx(dfd int, path []byte, flags int, mask uint32, statx *unix.Statx_t)
- func (entry *SubmissionQueueEntry) PrepareSymlink(target, linkpath []byte)
- func (entry *SubmissionQueueEntry) PrepareSymlinkat(target []byte, newdirfd int, linkpath []byte)
- func (entry *SubmissionQueueEntry) PrepareSyncFileRange(fd int, length uint32, offset uint64, flags int)
- func (entry *SubmissionQueueEntry) PrepareTee(fdIn, fdOut int, nbytes, spliceFlags uint32)
- func (entry *SubmissionQueueEntry) PrepareTimeout(spec *syscall.Timespec, count, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareTimeoutRemove(duration time.Duration, count uint64, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareTimeoutUpdate(duration time.Duration, count uint64, flags uint32)
- func (entry *SubmissionQueueEntry) PrepareUnlink(path uintptr, flags int)
- func (entry *SubmissionQueueEntry) PrepareUnlinkat(dfd int, path uintptr, flags int)
- func (entry *SubmissionQueueEntry) PrepareWrite(fd int, buf uintptr, nbytes uint32, offset uint64)
- func (entry *SubmissionQueueEntry) PrepareWriteFixed(fd int, vectors uintptr, length uint32, offset uint64, index int)
- func (entry *SubmissionQueueEntry) PrepareWritev(fd int, iovecs uintptr, nrVecs uint32, offset uint64)
- func (entry *SubmissionQueueEntry) PrepareWritev2(fd int, iovecs uintptr, nrVecs uint32, offset uint64, flags int)
- func (entry *SubmissionQueueEntry) SetData(data unsafe.Pointer)
- func (entry *SubmissionQueueEntry) SetData64(data uint64)
- func (entry *SubmissionQueueEntry) SetFlags(flags uint32)
- type SyncCancelReg
Constants ¶
const ( SqeFixedFile uint8 = 1 << iota SqeIODrain SqeIOLink SqeIOHardlink SqeAsync SqeBufferSelect SqeCQESkipSuccess )
const ( SetupIOPoll uint32 = 1 << iota SetupSQPoll SetupSQAff SetupCQSize SetupClamp SetupAttachWQ SetupRDisabled SetupSubmitAll SetupCoopTaskrun SetupTaskrunFlag SetupSQE128 SetupCQE32 SetupSingleIssuer SetupDeferTaskrun SetupNoMmap SetupRegisteredFdOnly )
const ( OpNop uint8 = iota OpReadv OpWritev OpFsync OpReadFixed OpWriteFixed OpPollAdd OpPollRemove OpSyncFileRange OpSendmsg OpRecvmsg OpTimeout OpTimeoutRemove OpAccept OpAsyncCancel OpLinkTimeout OpConnect OpFallocate OpOpenat OpClose OpFilesUpdate OpStatx OpRead OpWrite OpFadvise OpMadvise OpSend OpRecv OpOpenat2 OpEpollCtl OpSplice OpProvideBuffers OpRemoveBuffers OpTee OpShutdown OpRenameat OpUnlinkat OpMkdirat OpSymlinkat OpLinkat OpMsgRing OpFsetxattr OpSetxattr OpFgetxattr OpGetxattr OpSocket OpUringCmd OpSendZC OpSendMsgZC OpLast )
const ( TimeoutAbs uint32 = 1 << iota TimeoutUpdate TimeoutBoottime TimeoutRealtime LinkTimeoutUpdate TimeoutETimeSuccess TimeoutMultishot TimeoutClockMask = TimeoutBoottime | TimeoutRealtime TimeoutUpdateMask = TimeoutUpdate | LinkTimeoutUpdate )
const ( PollAddMulti uint32 = 1 << iota PollUpdateEvents PollUpdateUserData PollAddLevel )
const ( AsyncCancelAll uint32 = 1 << iota AsyncCancelFd AsyncCancelAny AsyncCancelFdFixed )
const ( RecvsendPollFirst uint16 = 1 << iota RecvMultishot RecvsendFixedBuf SendZCReportUsage )
const ( MsgData uint32 = iota MsgSendFd )
const ( MsgRingCQESkip uint32 = 1 << iota MsgRingFlagsPass )
const ( CQEFBuffer uint32 = 1 << iota CQEFMore CQEFSockNonempty CQEFNotif )
const ( SQNeedWakeup uint32 = 1 << iota SQCQOverflow SQTaskrun )
const ( EnterGetEvents uint32 = 1 << iota EnterSQWakeup EnterSQWait EnterExtArg EnterRegisteredRing )
const ( FeatSingleMMap uint32 = 1 << iota FeatNoDrop FeatSubmitStable FeatRWCurPos FeatCurPersonality FeatFastPoll FeatPoll32Bits FeatSQPollNonfixed FeatExtArg FeatNativeWorkers FeatRcrcTags FeatCQESkip FeatLinkedFile FeatRegRegRing )
const ( RegisterBuffers uint32 = iota UnregisterBuffers RegisterFiles UnregisterFiles RegisterEventFD UnregisterEventFD RegisterFilesUpdate RegisterEventFDAsync RegisterProbe RegisterPersonality UnregisterPersonality RegisterRestrictions RegisterEnableRings RegisterFiles2 RegisterFilesUpdate2 RegisterBuffers2 RegisterBuffersUpdate RegisterIOWQAff UnregisterIOWQAff RegisterIOWQMaxWorkers RegisterRingFDs UnregisterRingFDs RegisterPbufRing UnregisterPbufRing RegisterSyncCancel RegisterFileAllocRange RegisterLast RegisterUseRegisteredRing = 1 << 31 )
const ( IOWQBound uint = iota IOWQUnbound )
const ( RestrictionRegisterOp uint32 = iota RestrictionSQEOp RestrictionSQEFlagsAllowed RestrictionSQEFlagsRequired RestrictionLast )
const ( SocketUringOpSiocinq = iota SocketUringOpSiocoutq )
const ( IntFlagRegRing uint8 = 1 IntFlagRegRegRing uint8 = 2 IntFlagAppMem uint8 = 4 )
const ( LibraryVersionMajor = 2 LibraryVersionMinor = 5 )
const (
AcceptMultishot uint16 = 1 << iota
)
const CQEBufferShift uint32 = 16
const CQEventFdDisabled uint32 = 1 << 0
const FileIndexAlloc uint32 = 4294967295
const FsyncDatasync uint32 = 1 << 0
const NotifUsageZCCopied uint32 = 1 << 31
const PbufRingMMap = 1
const RegisterFilesSkip int = -2
const (
RsrcRegisterSparse uint32 = 1 << iota
)
const SpliceFFdInFixed uint32 = 1 << 31
const UringCmdFixed uint32 = 1 << 0
Variables ¶
var RingBufStructSize = uint16(unsafe.Sizeof(BufAndRing{}))
Functions ¶
func BufRingMask ¶
liburing: io_uring_buf_ring_mask - https://manpages.debian.org/unstable/liburing-dev/io_uring_buf_ring_mask.3.en.html
func CheckKernelVersion ¶
func CheckVersion ¶
liburing: io_uring_check_version - https://manpages.debian.org/unstable/liburing-dev/io_uring_check_version.3.en.html
func CompareKernelVersion ¶
func CompareKernelVersion(a, b KernelVersion) int
func MajorVersion ¶
func MajorVersion() int
liburing: io_uring_major_version - https://manpages.debian.org/unstable/liburing-dev/io_uring_major_version.3.en.html
func MinorVersion ¶
func MinorVersion() int
liburing: io_uring_minor_version - https://manpages.debian.org/unstable/liburing-dev/io_uring_minor_version.3.en.html
func MlockSizeParams ¶
liburing: io_uring_mlock_size_params
func Mmap ¶
func Mmap(fd int, p *Params, sq *SubmissionQueue, cq *CompletionQueue) error
liburing: io_uring_mmap
func Setup ¶
liburing: io_uring_setup - https://manpages.debian.org/unstable/liburing-dev/io_uring_setup.2.en.html
func SetupRingPointers ¶
func SetupRingPointers(p *Params, sq *SubmissionQueue, cq *CompletionQueue)
liburing: io_uring_setup_ring_pointers
func UnmapRings ¶
func UnmapRings(sq *SubmissionQueue, cq *CompletionQueue)
liburing: io_uring_unmap_rings
Types ¶
type BufAndRing ¶
liburing: io_uring_buf liburing: io_uring_buf_ring
func (*BufAndRing) BufRingAdd ¶
func (br *BufAndRing) BufRingAdd(addr uintptr, length uint32, bid uint16, mask, bufOffset int)
liburing: io_uring_buf_ring_add - https://manpages.debian.org/unstable/liburing-dev/io_uring_buf_ring_add.3.en.html
func (*BufAndRing) BufRingAdvance ¶
func (br *BufAndRing) BufRingAdvance(count int)
liburing: io_uring_buf_ring_advance - https://manpages.debian.org/unstable/liburing-dev/io_uring_buf_ring_advance.3.en.html
func (*BufAndRing) BufRingInit ¶
func (br *BufAndRing) BufRingInit()
liburing: io_uring_buf_ring_init - https://manpages.debian.org/unstable/liburing-dev/io_uring_buf_ring_init.3.en.html
type CQRingOffsets ¶
type CQRingOffsets struct {
// contains filtered or unexported fields
}
liburing: io_cqring_offsets
type CompletionQueue ¶
type CompletionQueue struct {
// contains filtered or unexported fields
}
liburing: io_uring_cq
type CompletionQueueEvent ¶
liburing: io_uring_cqe
func (*CompletionQueueEvent) GetData ¶
func (c *CompletionQueueEvent) GetData() unsafe.Pointer
liburing: io_uring_cqe_get_data - https://manpages.debian.org/unstable/liburing-dev/io_uring_cqe_get_data.3.en.html
func (*CompletionQueueEvent) GetData64 ¶
func (c *CompletionQueueEvent) GetData64() uint64
liburing: io_uring_cqe_get_data64 - https://manpages.debian.org/unstable/liburing-dev/io_uring_cqe_get_data64.3.en.html
type FileIndexRange ¶
liburing: io_uring_file_index_range
type FilesUpdate ¶
liburing: io_uring_files_update
type GetEventsArg ¶
type GetEventsArg struct {
// contains filtered or unexported fields
}
liburing: io_uring_getevents_arg
type KernelVersion ¶
func GetKernelVersion ¶
func GetKernelVersion() (*KernelVersion, error)
type Params ¶
type Params struct {
// contains filtered or unexported fields
}
liburing: io_uring_params
type Probe ¶
liburing: io_uring_probe
func GetProbe ¶
liburing: io_uring_get_probe - https://manpages.debian.org/unstable/liburing-dev/io_uring_get_probe.3.en.html
func (Probe) IsSupported ¶
liburing: io_uring_opcode_supported - https://manpages.debian.org/unstable/liburing-dev/io_uring_opcode_supported.3.en.html
type RecvmsgOut ¶
liburing: io_uring_recvmsg_out
func RecvmsgValidate ¶
liburing: io_uring_recvmsg_validate - https://manpages.debian.org/unstable/liburing-dev/io_uring_recvmsg_validate.3.en.html
func (*RecvmsgOut) CmsgFirsthdr ¶
func (o *RecvmsgOut) CmsgFirsthdr(msgh *syscall.Msghdr) *syscall.Cmsghdr
liburing: io_uring_recvmsg_cmsg_firsthdr - https://manpages.debian.org/unstable/liburing-dev/io_uring_recvmsg_cmsg_firsthdr.3.en.html
func (*RecvmsgOut) CmsgNexthdr ¶
liburing: io_uring_recvmsg_cmsg_nexthdr - https://manpages.debian.org/unstable/liburing-dev/io_uring_recvmsg_cmsg_nexthdr.3.en.html
func (*RecvmsgOut) Name ¶
func (o *RecvmsgOut) Name() unsafe.Pointer
liburing: io_uring_recvmsg_name - https://manpages.debian.org/unstable/liburing-dev/io_uring_recvmsg_name.3.en.html
func (*RecvmsgOut) Payload ¶
func (o *RecvmsgOut) Payload(msgh *syscall.Msghdr) unsafe.Pointer
liburing: io_uring_recvmsg_payload - https://manpages.debian.org/unstable/liburing-dev/io_uring_recvmsg_payload.3.en.html
func (*RecvmsgOut) PayloadLength ¶
func (o *RecvmsgOut) PayloadLength(bufLen int, msgh *syscall.Msghdr) uint32
liburing: io_uring_recvmsg_payload_length - https://manpages.debian.org/unstable/liburing-dev/io_uring_recvmsg_payload_length.3.en.html
type Restriction ¶
type Restriction struct { OpCode uint16 // union { // __u8 register_op; /* IORING_RESTRICTION_REGISTER_OP */ // __u8 sqe_op; /* IORING_RESTRICTION_SQE_OP */ // __u8 sqe_flags; /* IORING_RESTRICTION_SQE_FLAGS_* */ // }; OpFlags uint8 Resv uint8 Resv2 [3]uint32 }
liburing: io_uring_restriction
type Ring ¶
type Ring struct {
// contains filtered or unexported fields
}
liburing: io_uring
func CreateRing ¶
func (*Ring) BufRingCQAdvance ¶
func (ring *Ring) BufRingCQAdvance(br *BufAndRing, count int)
liburing: io_uring_buf_ring_cq_advance - https://manpages.debian.org/unstable/liburing-dev/io_uring_buf_ring_cq_advance.3.en.html
func (*Ring) CQAdvance ¶
liburing: io_uring_cq_advance - https://manpages.debian.org/unstable/liburing-dev/io_uring_cq_advance.3.en.html
func (*Ring) CQESeen ¶
func (ring *Ring) CQESeen(event *CompletionQueueEvent)
liburing: io_uring_cqe_seen - https://manpages.debian.org/unstable/liburing-dev/io_uring_cqe_seen.3.en.html
func (*Ring) CQEventfdEnabled ¶
liburing: io_uring_cq_eventfd_enabled
func (*Ring) CQHasOverflow ¶
liburing: io_uring_cq_has_overflow - https://manpages.debian.org/unstable/liburing-dev/io_uring_cq_has_overflow.3.en.html
func (*Ring) CQReady ¶
liburing: io_uring_cq_ready - https://manpages.debian.org/unstable/liburing-dev/io_uring_cq_ready.3.en.html
func (*Ring) CloseRingFd ¶
liburing: io_uring_close_ring_fd - https://manpages.debian.org/unstable/liburing-dev/io_uring_close_ring_fd.3.en.html
func (*Ring) CqEventfdToggle ¶
liburing: io_uring_cq_eventfd_toggle
func (*Ring) EnableRings ¶
liburing: io_uring_enable_rings
func (*Ring) Enter ¶
func (ring *Ring) Enter(submitted uint32, waitNr uint32, flags uint32, sig unsafe.Pointer) (uint, error)
* io_uring_enter - https://manpages.debian.org/unstable/liburing-dev/io_uring_enter.2.en.html
func (*Ring) Enter2 ¶
func (ring *Ring) Enter2( submitted uint32, waitNr uint32, flags uint32, sig unsafe.Pointer, size int, ) (uint, error)
* io_uring_enter2 - https://manpages.debian.org/unstable/liburing-dev/io_uring_enter.2.en.html
func (*Ring) ForEachCQE ¶
func (ring *Ring) ForEachCQE(callback func(cqe *CompletionQueueEvent))
liburing: io_uring_for_each_cqe - https://manpages.debian.org/unstable/liburing-dev/io_uring_for_each_cqe.3.en.html
func (*Ring) FreeBufRing ¶
liburing: io_uring_free_buf_ring - https://manpages.debian.org/unstable/liburing-dev/io_uring_free_buf_ring.3.en.html
func (*Ring) GetEvents ¶
liburing: io_uring_get_events - https://manpages.debian.org/unstable/liburing-dev/io_uring_get_events.3.en.html
func (*Ring) GetProbeRing ¶
liburing: io_uring_get_probe_ring
func (*Ring) GetSQE ¶
func (ring *Ring) GetSQE() *SubmissionQueueEntry
liburing: io_uring_get_sqe - https://manpages.debian.org/unstable/liburing-dev/io_uring_get_sqe.3.en.html
func (*Ring) PeekBatchCQE ¶
func (ring *Ring) PeekBatchCQE(cqes []*CompletionQueueEvent) uint32
liburing: io_uring_peek_batch_cqe
func (*Ring) PeekCQE ¶
func (ring *Ring) PeekCQE() (*CompletionQueueEvent, error)
liburing: io_uring_peek_cqe - https://manpages.debian.org/unstable/liburing-dev/io_uring_peek_cqe.3.en.html
func (*Ring) QueueExit ¶
func (ring *Ring) QueueExit()
liburing: io_uring_queue_exit - https://manpages.debian.org/unstable/liburing-dev/io_uring_queue_exit.3.en.html
func (*Ring) QueueInit ¶
liburing: io_uring_queue_init - https://manpages.debian.org/unstable/liburing-dev/io_uring_queue_init.3.en.html
func (*Ring) QueueInitMem ¶
liburing: io_uring_queue_init_mem
func (*Ring) QueueInitParams ¶
liburing: io_uring_queue_init_params - https://manpages.debian.org/unstable/liburing-dev/io_uring_queue_init_params.3.en.html
func (*Ring) Register ¶
func (ring *Ring) Register(fd int, opcode uint32, arg unsafe.Pointer, nrArgs uint32) (uint, syscall.Errno)
liburing: io_uring_register - https://manpages.debian.org/unstable/liburing-dev/io_uring_register.2.en.html
func (*Ring) RegisterBufferRing ¶
liburing: io_uring_register_buf_ring - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_buf_ring.3.en.html
func (*Ring) RegisterBuffers ¶
liburing: io_uring_register_buffers - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_buffers.3.en.html
func (*Ring) RegisterBuffersSparse ¶
liburing: io_uring_register_buffers_sparse - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_buffers_sparse.3.en.html
func (*Ring) RegisterBuffersTags ¶
liburing: io_uring_register_buffers_tags - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_buffers_tags.3.en.html
func (*Ring) RegisterBuffersUpdateTag ¶
func (ring *Ring) RegisterBuffersUpdateTag(off uint32, iovecs []syscall.Iovec, tags *uint64, nr uint32) (uint, error)
liburing: io_uring_register_buffers_update_tag - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_buffers_update_tag.3.en.html
func (*Ring) RegisterEventFd ¶
liburing: io_uring_register_eventfd - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_eventfd.3.en.html
func (*Ring) RegisterEventFdAsync ¶
liburing: io_uring_register_eventfd_async - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_eventfd_async.3.en.html
func (*Ring) RegisterFileAllocRange ¶
liburing: io_uring_register_file_alloc_range - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_file_alloc_range.3.en.html
func (*Ring) RegisterFiles ¶
liburing: io_uring_register_files - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_files.3.en.html
func (*Ring) RegisterFilesSparse ¶
liburing: io_uring_register_files_sparse - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_files_sparse.3.en.html
func (*Ring) RegisterFilesTags ¶
liburing: io_uring_register_files_tags - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_files_tags.3.en.html
func (*Ring) RegisterFilesUpdate ¶
liburing: io_uring_register_files_update - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_files_update.3.en.html
func (*Ring) RegisterFilesUpdateTag ¶
liburing: io_uring_register_files_update_tag - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_files_update_tag.3.en.html
func (*Ring) RegisterIOWQAff ¶
liburing: io_uring_register_iowq_aff - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_iowq_aff.3.en.html
func (*Ring) RegisterIOWQMaxWorkers ¶
liburing: io_uring_register_iowq_max_workers - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_iowq_max_workers.3.en.html
func (*Ring) RegisterPersonality ¶
liburing: io_uring_register_personality
func (*Ring) RegisterProbe ¶
liburing: io_uring_register_probe
func (*Ring) RegisterRestrictions ¶
func (ring *Ring) RegisterRestrictions(res []Restriction) (uint, error)
liburing: io_uring_register_restrictions
func (*Ring) RegisterRingFd ¶
liburing: io_uring_register_ring_fd - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_ring_fd.3.en.html
func (*Ring) RegisterSyncCancel ¶
func (ring *Ring) RegisterSyncCancel(reg *SyncCancelReg) (uint, error)
liburing: io_uring_register_sync_cancel - https://manpages.debian.org/unstable/liburing-dev/io_uring_register_sync_cancel.3.en.html
func (*Ring) SQReady ¶
liburing: io_uring_sq_ready - https://manpages.debian.org/unstable/liburing-dev/io_uring_sq_ready.3.en.html
func (*Ring) SQRingWait ¶
liburing: io_uring_sqring_wait - https://manpages.debian.org/unstable/liburing-dev/io_uring_sqring_wait.3.en.html
func (*Ring) SQSpaceLeft ¶
liburing: io_uring_sq_space_left - https://manpages.debian.org/unstable/liburing-dev/io_uring_sq_space_left.3.en.html
func (*Ring) SetupBufRing ¶
liburing: io_uring_setup_buf_ring - https://manpages.debian.org/unstable/liburing-dev/io_uring_setup_buf_ring.3.en.html
func (*Ring) Submit ¶
liburing: io_uring_submit - https://manpages.debian.org/unstable/liburing-dev/io_uring_submit.3.en.html
func (*Ring) SubmitAndGetEvents ¶
liburing: io_uring_submit_and_get_events - https://manpages.debian.org/unstable/liburing-dev/io_uring_submit_and_get_events.3.en.html
func (*Ring) SubmitAndWait ¶
liburing: io_uring_submit_and_wait - https://manpages.debian.org/unstable/liburing-dev/io_uring_submit_and_wait.3.en.html
func (*Ring) SubmitAndWaitTimeout ¶
func (ring *Ring) SubmitAndWaitTimeout( waitNr uint32, ts *syscall.Timespec, sigmask *unix.Sigset_t, ) (*CompletionQueueEvent, error)
liburing: io_uring_submit_and_wait_timeout - https://manpages.debian.org/unstable/liburing-dev/io_uring_submit_and_wait_timeout.3.en.html
func (*Ring) UnregisterBufferRing ¶
liburing: io_uring_unregister_buf_ring - https://manpages.debian.org/unstable/liburing-dev/io_uring_unregister_buf_ring.3.en.html
func (*Ring) UnregisterBuffers ¶
liburing: io_uring_unregister_buffers - https://manpages.debian.org/unstable/liburing-dev/io_uring_unregister_buffers.3.en.html
func (*Ring) UnregisterEventFd ¶
liburing: io_uring_unregister_eventfd - https://manpages.debian.org/unstable/liburing-dev/io_uring_unregister_eventfd.3.en.html
func (*Ring) UnregisterFiles ¶
liburing: io_uring_unregister_files - https://manpages.debian.org/unstable/liburing-dev/io_uring_unregister_files.3.en.html
func (*Ring) UnregisterIOWQAff ¶
liburing: io_uring_unregister_iowq_aff - https://manpages.debian.org/unstable/liburing-dev/io_uring_unregister_iowq_aff.3.en.html
func (*Ring) UnregisterPersonality ¶
liburing: io_uring_unregister_personality
func (*Ring) UnregisterRingFd ¶
liburing: io_uring_unregister_ring_fd - https://manpages.debian.org/unstable/liburing-dev/io_uring_unregister_ring_fd.3.en.html
func (*Ring) WaitCQE ¶
func (ring *Ring) WaitCQE() (*CompletionQueueEvent, error)
liburing: io_uring_wait_cqe - https://manpages.debian.org/unstable/liburing-dev/io_uring_wait_cqe.3.en.html
func (*Ring) WaitCQENr ¶
func (ring *Ring) WaitCQENr(waitNr uint32) (*CompletionQueueEvent, error)
liburing: io_uring_wait_cqe_nr - https://manpages.debian.org/unstable/liburing-dev/io_uring_wait_cqe_nr.3.en.html
func (*Ring) WaitCQETimeout ¶
func (ring *Ring) WaitCQETimeout(ts *syscall.Timespec) (*CompletionQueueEvent, error)
liburing: io_uring_wait_cqe_timeout - https://manpages.debian.org/unstable/liburing-dev/io_uring_wait_cqe_timeout.3.en.html
func (*Ring) WaitCQEs ¶
func (ring *Ring) WaitCQEs(waitNr uint32, ts *syscall.Timespec, sigmask *unix.Sigset_t) (*CompletionQueueEvent, error)
liburing: io_uring_wait_cqes - https://manpages.debian.org/unstable/liburing-dev/io_uring_wait_cqes.3.en.html
func (*Ring) WaitCQEsNew ¶
func (ring *Ring) WaitCQEsNew( waitNr uint32, ts *syscall.Timespec, sigmask *unix.Sigset_t, ) (*CompletionQueueEvent, error)
liburing: io_uring_wait_cqes_new
type RsrcRegister ¶
liburing: io_uring_rsrc_register
type RsrcUpdate ¶
liburing: io_uring_rsrc_update
type RsrcUpdate2 ¶
type RsrcUpdate2 struct { Offset uint32 Resv uint32 Data uint64 Tags uint64 Nr uint32 Resv2 uint32 }
liburing: io_uring_rsrc_update2
type SQRingOffsets ¶
type SQRingOffsets struct {
// contains filtered or unexported fields
}
liburing: io_sqring_offsets
type SubmissionQueue ¶
type SubmissionQueue struct {
// contains filtered or unexported fields
}
liburing: io_uring_sq
type SubmissionQueueEntry ¶
type SubmissionQueueEntry struct { OpCode uint8 Flags uint8 IoPrio uint16 Fd int32 // union { // __u64 off; /* offset into file */ // __u64 addr2; // struct { // __u32 cmd_op; // __u32 __pad1; // }; // }; Off uint64 // union { // __u64 addr; /* pointer to buffer or iovecs */ // __u64 splice_off_in; // }; Addr uint64 Len uint32 // union { // __kernel_rwf_t rw_flags; // __u32 fsync_flags; // __u16 poll_events; /* compatibility */ // __u32 poll32_events; /* word-reversed for BE */ // __u32 sync_range_flags; // __u32 msg_flags; // __u32 timeout_flags; // __u32 accept_flags; // __u32 cancel_flags; // __u32 open_flags; // __u32 statx_flags; // __u32 fadvise_advice; // __u32 splice_flags; // __u32 rename_flags; // __u32 unlink_flags; // __u32 hardlink_flags; // __u32 xattr_flags; // __u32 msg_ring_flags; // __u32 uring_cmd_flags; // }; OpcodeFlags uint32 UserData uint64 // union { // /* index into fixed buffers, if used */ // __u16 buf_index; // /* for grouped buffer selection */ // __u16 buf_group; // } __attribute__((packed)); BufIG uint16 Personality uint16 // union { // __s32 splice_fd_in; // __u32 file_index; // struct { // __u16 addr_len; // __u16 __pad3[1]; // }; // }; SpliceFdIn int32 Addr3 uint64 // contains filtered or unexported fields }
liburing: io_uring_sqe
func (*SubmissionQueueEntry) PrepareAccept ¶
func (entry *SubmissionQueueEntry) PrepareAccept(fd int, addr uintptr, addrLen uint64, flags uint32)
liburing: io_uring_prep_accept - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_accept.3.en.html
func (*SubmissionQueueEntry) PrepareAcceptDirect ¶
func (entry *SubmissionQueueEntry) PrepareAcceptDirect( fd int, addr uintptr, addrLen uint64, flags uint32, fileIndex uint32, )
liburing: io_uring_prep_accept_direct - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_accept_direct.3.en.html
func (*SubmissionQueueEntry) PrepareCancel ¶
func (entry *SubmissionQueueEntry) PrepareCancel(userData uintptr, flags int)
liburing: io_uring_prep_cancel - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_cancel.3.en.html
func (*SubmissionQueueEntry) PrepareCancel64 ¶
func (entry *SubmissionQueueEntry) PrepareCancel64(userData uint64, flags int)
liburing: io_uring_prep_cancel64 - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_cancel64.3.en.html
func (*SubmissionQueueEntry) PrepareCancelFd ¶
func (entry *SubmissionQueueEntry) PrepareCancelFd(fd int, flags uint32)
liburing: io_uring_prep_cancel_fd
func (*SubmissionQueueEntry) PrepareClose ¶
func (entry *SubmissionQueueEntry) PrepareClose(fd int)
liburing: io_uring_prep_close - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_close.3.en.html
func (*SubmissionQueueEntry) PrepareCloseDirect ¶
func (entry *SubmissionQueueEntry) PrepareCloseDirect(fileIndex uint32)
liburing: io_uring_prep_close_direct - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_close_direct.3.en.html
func (*SubmissionQueueEntry) PrepareCmdSock ¶
func (entry *SubmissionQueueEntry) PrepareCmdSock( cmdOp int, fd int, _ int, _ int, _ unsafe.Pointer, _ int, )
liburing: io_uring_prep_cmd_sock
func (*SubmissionQueueEntry) PrepareConnect ¶
func (entry *SubmissionQueueEntry) PrepareConnect(fd int, addr *syscall.Sockaddr, addrLen uint64)
liburing: io_uring_prep_connect - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_connect.3.en.html
func (*SubmissionQueueEntry) PrepareFadvise ¶
func (entry *SubmissionQueueEntry) PrepareFadvise(fd int, offset uint64, length int, advise uint32)
io_uring_prep_fadvise - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_fadvise.3.en.html
func (*SubmissionQueueEntry) PrepareFallocate ¶
func (entry *SubmissionQueueEntry) PrepareFallocate(fd int, mode int, offset, length uint64)
liburing: io_uring_prep_fallocate - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_fallocate.3.en.html
func (*SubmissionQueueEntry) PrepareFgetxattr ¶
func (entry *SubmissionQueueEntry) PrepareFgetxattr(fd int, name, value []byte)
liburing: io_uring_prep_fgetxattr - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_fgetxattr.3.en.html
func (*SubmissionQueueEntry) PrepareFilesUpdate ¶
func (entry *SubmissionQueueEntry) PrepareFilesUpdate(fds []int, offset int)
liburing: io_uring_prep_files_update - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_files_update.3.en.html
func (*SubmissionQueueEntry) PrepareFsetxattr ¶
func (entry *SubmissionQueueEntry) PrepareFsetxattr(fd int, name, value []byte, flags int)
liburing: io_uring_prep_fsetxattr - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_fsetxattr.3.en.html
func (*SubmissionQueueEntry) PrepareFsync ¶
func (entry *SubmissionQueueEntry) PrepareFsync(fd int, flags uint32)
liburing: io_uring_prep_fsync - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_fsync.3.en.html
func (*SubmissionQueueEntry) PrepareGetxattr ¶
func (entry *SubmissionQueueEntry) PrepareGetxattr(name, value, path []byte)
liburing: io_uring_prep_getxattr - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_getxattr.3.en.html
func (*SubmissionQueueEntry) PrepareLink ¶
func (entry *SubmissionQueueEntry) PrepareLink(oldPath, newPath []byte, flags int)
liburing: io_uring_prep_link - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_link.3.en.html
func (*SubmissionQueueEntry) PrepareLinkTimeout ¶
func (entry *SubmissionQueueEntry) PrepareLinkTimeout(duration time.Duration, flags uint32)
liburing: io_uring_prep_link_timeout - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_link_timeout.3.en.html
func (*SubmissionQueueEntry) PrepareLinkat ¶
func (entry *SubmissionQueueEntry) PrepareLinkat(oldFd int, oldPath []byte, newFd int, newPath []byte, flags int)
liburing: io_uring_prep_linkat - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_linkat.3.en.html
func (*SubmissionQueueEntry) PrepareMadvise ¶
func (entry *SubmissionQueueEntry) PrepareMadvise(addr uintptr, length uint, advice int)
liburing: io_uring_prep_madvise - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_madvise.3.en.html
func (*SubmissionQueueEntry) PrepareMkdir ¶
func (entry *SubmissionQueueEntry) PrepareMkdir(path []byte, mode uint32)
liburing: io_uring_prep_mkdir - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_mkdir.3.en.html
func (*SubmissionQueueEntry) PrepareMkdirat ¶
func (entry *SubmissionQueueEntry) PrepareMkdirat(dfd int, path []byte, mode uint32)
liburing: io_uring_prep_mkdirat - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_mkdirat.3.en.html
func (*SubmissionQueueEntry) PrepareMsgRing ¶
func (entry *SubmissionQueueEntry) PrepareMsgRing(fd int, length uint32, data uint64, flags uint32)
liburing: io_uring_prep_msg_ring - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_msg_ring.3.en.html
func (*SubmissionQueueEntry) PrepareMsgRingCqeFlags ¶
func (entry *SubmissionQueueEntry) PrepareMsgRingCqeFlags(fd int, length uint32, data uint64, flags, cqeFlags uint32)
liburing: io_uring_prep_msg_ring_cqe_flags - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_msg_ring_cqe_flags.3.en.html
func (*SubmissionQueueEntry) PrepareMsgRingFd ¶
func (entry *SubmissionQueueEntry) PrepareMsgRingFd(fd int, sourceFd int, targetFd int, data uint64, flags uint32)
liburing: io_uring_prep_msg_ring_fd - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_msg_ring_fd.3.en.html
func (*SubmissionQueueEntry) PrepareMsgRingFdAlloc ¶
func (entry *SubmissionQueueEntry) PrepareMsgRingFdAlloc(fd int, sourceFd int, data uint64, flags uint32)
liburing: io_uring_prep_msg_ring_fd_alloc - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_msg_ring_fd_alloc.3.en.html
func (*SubmissionQueueEntry) PrepareMultishotAccept ¶
func (entry *SubmissionQueueEntry) PrepareMultishotAccept(fd int, addr uintptr, addrLen uint64, flags int)
liburing: io_uring_prep_multishot_accept - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_multishot_accept.3.en.html
func (*SubmissionQueueEntry) PrepareMultishotAcceptDirect ¶
func (entry *SubmissionQueueEntry) PrepareMultishotAcceptDirect(fd int, addr uintptr, addrLen uint64, flags int)
liburing: io_uring_prep_multishot_accept_direct - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_multishot_accept_direct.3.en.html
func (*SubmissionQueueEntry) PrepareNop ¶
func (entry *SubmissionQueueEntry) PrepareNop()
liburing: io_uring_prep_nop - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_nop.3.en.html
func (*SubmissionQueueEntry) PrepareOpenat ¶
func (entry *SubmissionQueueEntry) PrepareOpenat(dfd int, path []byte, flags int, mode uint32)
liburing: io_uring_prep_openat - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_openat.3.en.html
func (*SubmissionQueueEntry) PrepareOpenat2 ¶
func (entry *SubmissionQueueEntry) PrepareOpenat2(dfd int, path []byte, openHow *unix.OpenHow)
liburing: io_uring_prep_openat2 - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_openat2.3.en.html
func (*SubmissionQueueEntry) PrepareOpenat2Direct ¶
func (entry *SubmissionQueueEntry) PrepareOpenat2Direct(dfd int, path []byte, openHow *unix.OpenHow, fileIndex uint32)
liburing: io_uring_prep_openat2_direct - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_openat2_direct.3.en.html
func (*SubmissionQueueEntry) PrepareOpenatDirect ¶
func (entry *SubmissionQueueEntry) PrepareOpenatDirect(dfd int, path []byte, flags int, mode uint32, fileIndex uint32)
liburing: io_uring_prep_openat_direct - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_openat_direct.3.en.html
func (*SubmissionQueueEntry) PreparePollAdd ¶
func (entry *SubmissionQueueEntry) PreparePollAdd(fd int, pollMask uint32)
liburing: io_uring_prep_poll_add - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_poll_add.3.en.html
func (*SubmissionQueueEntry) PreparePollMultishot ¶
func (entry *SubmissionQueueEntry) PreparePollMultishot(fd int, pollMask uint32)
liburing: io_uring_prep_poll_multishot - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_poll_multishot.3.en.html
func (*SubmissionQueueEntry) PreparePollRemove ¶
func (entry *SubmissionQueueEntry) PreparePollRemove(userData uint64)
liburing: io_uring_prep_poll_remove - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_poll_remove.3.en.html
func (*SubmissionQueueEntry) PreparePollUpdate ¶
func (entry *SubmissionQueueEntry) PreparePollUpdate(oldUserData, newUserData uint64, pollMask, flags uint32)
liburing: io_uring_prep_poll_update - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_poll_update.3.en.html
func (*SubmissionQueueEntry) PrepareProvideBuffers ¶
func (entry *SubmissionQueueEntry) PrepareProvideBuffers(addr uintptr, length, nr, bgid, bid int)
liburing: io_uring_prep_provide_buffers - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_provide_buffers.3.en.html
func (*SubmissionQueueEntry) PrepareRead ¶
func (entry *SubmissionQueueEntry) PrepareRead(fd int, buf uintptr, nbytes uint32, offset uint64)
liburing: io_uring_prep_read - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_read.3.en.html
func (*SubmissionQueueEntry) PrepareReadFixed ¶
func (entry *SubmissionQueueEntry) PrepareReadFixed( fd int, buf uintptr, nbytes uint32, offset uint64, bufIndex int, )
liburing: io_uring_prep_read_fixed - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_read_fixed.3.en.html
func (*SubmissionQueueEntry) PrepareReadv ¶
func (entry *SubmissionQueueEntry) PrepareReadv(fd int, iovecs uintptr, nrVecs uint32, offset uint64)
liburing: io_uring_prep_readv - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_readv.3.en.html
func (*SubmissionQueueEntry) PrepareReadv2 ¶
func (entry *SubmissionQueueEntry) PrepareReadv2(fd int, iovecs uintptr, nrVecs uint32, offset uint64, flags int)
liburing: io_uring_prep_readv2 - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_readv2.3.en.html
func (*SubmissionQueueEntry) PrepareRecv ¶
func (entry *SubmissionQueueEntry) PrepareRecv( fd int, buf uintptr, length uint32, flags int, )
liburing: io_uring_prep_recv - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_recv.3.en.html
func (*SubmissionQueueEntry) PrepareRecvMsg ¶
func (entry *SubmissionQueueEntry) PrepareRecvMsg( fd int, msg *syscall.Msghdr, flags uint32, )
liburing: io_uring_prep_recvmsg - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_recvmsg.3.en.html
func (*SubmissionQueueEntry) PrepareRecvMsgMultishot ¶
func (entry *SubmissionQueueEntry) PrepareRecvMsgMultishot( fd int, msg *syscall.Msghdr, flags uint32, )
liburing: io_uring_prep_recvmsg_multishot - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_recvmsg_multishot.3.en.html
func (*SubmissionQueueEntry) PrepareRecvMultishot ¶
func (entry *SubmissionQueueEntry) PrepareRecvMultishot( fd int, addr uintptr, length uint32, flags int, )
liburing: io_uring_prep_recv_multishot - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_recv_multishot.3.en.html
func (*SubmissionQueueEntry) PrepareRemoveBuffers ¶
func (entry *SubmissionQueueEntry) PrepareRemoveBuffers(nr int, bgid int)
liburing: io_uring_prep_remove_buffers - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_remove_buffers.3.en.html
func (*SubmissionQueueEntry) PrepareRename ¶
func (entry *SubmissionQueueEntry) PrepareRename(oldPath, netPath []byte)
liburing: io_uring_prep_rename - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_rename.3.en.html
func (*SubmissionQueueEntry) PrepareRenameat ¶
func (entry *SubmissionQueueEntry) PrepareRenameat( oldFd int, oldPath []byte, newFd int, newPath []byte, flags uint32, )
liburing: io_uring_prep_renameat - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_renameat.3.en.html
func (*SubmissionQueueEntry) PrepareSend ¶
func (entry *SubmissionQueueEntry) PrepareSend( fd int, addr uintptr, length uint32, flags int, )
liburing: io_uring_prep_send - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_send.3.en.html
func (*SubmissionQueueEntry) PrepareSendMsg ¶
func (entry *SubmissionQueueEntry) PrepareSendMsg( fd int, msg *syscall.Msghdr, flags uint32, )
liburing: io_uring_prep_sendmsg - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_sendmsg.3.en.html
func (*SubmissionQueueEntry) PrepareSendSetAddr ¶
func (entry *SubmissionQueueEntry) PrepareSendSetAddr(destAddr *syscall.Sockaddr, addrLen uint16)
liburing: io_uring_prep_send_set_addr - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_send_set_addr.3.en.html
func (*SubmissionQueueEntry) PrepareSendZC ¶
func (entry *SubmissionQueueEntry) PrepareSendZC(sockFd int, buf []byte, flags int, zcFlags uint32)
liburing: io_uring_prep_send_zc - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_send_zc.3.en.html
func (*SubmissionQueueEntry) PrepareSendZCFixed ¶
func (entry *SubmissionQueueEntry) PrepareSendZCFixed(sockFd int, buf []byte, flags int, zcFlags, bufIndex uint32)
liburing: io_uring_prep_send_zc_fixed - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_send_zc_fixed.3.en.html
func (*SubmissionQueueEntry) PrepareSendmsgZC ¶
func (entry *SubmissionQueueEntry) PrepareSendmsgZC(fd int, msg *syscall.Msghdr, flags uint32)
liburing: io_uring_prep_sendmsg_zc - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_sendmsg_zc.3.en.html
func (*SubmissionQueueEntry) PrepareSendto ¶
func (entry *SubmissionQueueEntry) PrepareSendto( sockFd int, buf []byte, flags int, addr *syscall.Sockaddr, addrLen uint32, )
liburing: io_uring_prep_sendto - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_sendto.3.en.html
func (*SubmissionQueueEntry) PrepareSetxattr ¶
func (entry *SubmissionQueueEntry) PrepareSetxattr(name, value, path []byte, flags int, length uint32)
liburing: io_uring_prep_setxattr - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_setxattr.3.en.html
func (*SubmissionQueueEntry) PrepareShutdown ¶
func (entry *SubmissionQueueEntry) PrepareShutdown(fd, how int)
liburing: io_uring_prep_shutdown - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_shutdown.3.en.html
func (*SubmissionQueueEntry) PrepareSocket ¶
func (entry *SubmissionQueueEntry) PrepareSocket(domain, socketType, protocol int, flags uint32)
liburing: io_uring_prep_socket - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_socket.3.en.html
func (*SubmissionQueueEntry) PrepareSocketDirect ¶
func (entry *SubmissionQueueEntry) PrepareSocketDirect(domain, socketType, protocol int, fileIndex, flags uint32)
liburing: io_uring_prep_socket_direct - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_socket_direct.3.en.html
func (*SubmissionQueueEntry) PrepareSocketDirectAlloc ¶
func (entry *SubmissionQueueEntry) PrepareSocketDirectAlloc(domain, socketType, protocol int, flags uint32)
liburing: io_uring_prep_socket_direct_alloc - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_socket_direct_alloc.3.en.html
func (*SubmissionQueueEntry) PrepareSplice ¶
func (entry *SubmissionQueueEntry) PrepareSplice( fdIn int, offIn int64, fdOut int, offOut int64, nbytes, spliceFlags uint32, )
liburing: io_uring_prep_splice - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_splice.3.en.html
func (*SubmissionQueueEntry) PrepareStatx ¶
func (entry *SubmissionQueueEntry) PrepareStatx(dfd int, path []byte, flags int, mask uint32, statx *unix.Statx_t)
liburing: io_uring_prep_statx - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_statx.3.en.html
func (*SubmissionQueueEntry) PrepareSymlink ¶
func (entry *SubmissionQueueEntry) PrepareSymlink(target, linkpath []byte)
liburing: io_uring_prep_symlink - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_symlink.3.en.html
func (*SubmissionQueueEntry) PrepareSymlinkat ¶
func (entry *SubmissionQueueEntry) PrepareSymlinkat(target []byte, newdirfd int, linkpath []byte)
liburing: io_uring_prep_symlinkat - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_symlinkat.3.en.html
func (*SubmissionQueueEntry) PrepareSyncFileRange ¶
func (entry *SubmissionQueueEntry) PrepareSyncFileRange(fd int, length uint32, offset uint64, flags int)
liburing: io_uring_prep_sync_file_range - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_sync_file_range.3.en.html
func (*SubmissionQueueEntry) PrepareTee ¶
func (entry *SubmissionQueueEntry) PrepareTee(fdIn, fdOut int, nbytes, spliceFlags uint32)
liburing: io_uring_prep_tee - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_tee.3.en.html
func (*SubmissionQueueEntry) PrepareTimeout ¶
func (entry *SubmissionQueueEntry) PrepareTimeout(spec *syscall.Timespec, count, flags uint32)
liburing: io_uring_prep_timeout - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_timeout.3.en.html
func (*SubmissionQueueEntry) PrepareTimeoutRemove ¶
func (entry *SubmissionQueueEntry) PrepareTimeoutRemove(duration time.Duration, count uint64, flags uint32)
liburing: io_uring_prep_timeout_remove - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_timeout_remove.3.en.html
func (*SubmissionQueueEntry) PrepareTimeoutUpdate ¶
func (entry *SubmissionQueueEntry) PrepareTimeoutUpdate(duration time.Duration, count uint64, flags uint32)
liburing: io_uring_prep_timeout_update - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_timeout_update.3.en.html
func (*SubmissionQueueEntry) PrepareUnlink ¶
func (entry *SubmissionQueueEntry) PrepareUnlink(path uintptr, flags int)
liburing: io_uring_prep_unlink - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_unlink.3.en.html
func (*SubmissionQueueEntry) PrepareUnlinkat ¶
func (entry *SubmissionQueueEntry) PrepareUnlinkat(dfd int, path uintptr, flags int)
liburing: io_uring_prep_unlinkat - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_unlinkat.3.en.html
func (*SubmissionQueueEntry) PrepareWrite ¶
func (entry *SubmissionQueueEntry) PrepareWrite(fd int, buf uintptr, nbytes uint32, offset uint64)
liburing: io_uring_prep_write - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_write.3.en.html
func (*SubmissionQueueEntry) PrepareWriteFixed ¶
func (entry *SubmissionQueueEntry) PrepareWriteFixed( fd int, vectors uintptr, length uint32, offset uint64, index int, )
liburing: io_uring_prep_write_fixed - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_write_fixed.3.en.html
func (*SubmissionQueueEntry) PrepareWritev ¶
func (entry *SubmissionQueueEntry) PrepareWritev( fd int, iovecs uintptr, nrVecs uint32, offset uint64, )
liburing: io_uring_prep_writev - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_writev.3.en.html
func (*SubmissionQueueEntry) PrepareWritev2 ¶
func (entry *SubmissionQueueEntry) PrepareWritev2( fd int, iovecs uintptr, nrVecs uint32, offset uint64, flags int, )
liburing: io_uring_prep_writev2 - https://manpages.debian.org/unstable/liburing-dev/io_uring_prep_writev2.3.en.html
func (*SubmissionQueueEntry) SetData ¶
func (entry *SubmissionQueueEntry) SetData(data unsafe.Pointer)
liburing: io_uring_sqe_set_data - https://manpages.debian.org/unstable/liburing-dev/io_uring_sqe_set_data.3.en.html
func (*SubmissionQueueEntry) SetData64 ¶
func (entry *SubmissionQueueEntry) SetData64(data uint64)
liburing: io_uring_sqe_set_data64 - https://manpages.debian.org/unstable/liburing-dev/io_uring_sqe_set_data64.3.en.html
func (*SubmissionQueueEntry) SetFlags ¶
func (entry *SubmissionQueueEntry) SetFlags(flags uint32)
liburing: io_uring_sqe_set_flags - https://manpages.debian.org/unstable/liburing-dev/io_uring_sqe_set_flags.3.en.html