1
0
Fork 0
mirror of https://github.com/ii64/gouring.git synced 2025-03-29 01:27:20 +01:00
gouring/hdr_struct.go
2023-04-17 18:38:30 +07:00

95 lines
2.6 KiB
Go

package gouring
import "unsafe"
const (
SizeofUnsigned = unsafe.Sizeof(uint32(0))
SizeofUint32 = unsafe.Sizeof(uint32(0))
SizeofIoUringSqe = unsafe.Sizeof(IoUringSqe{})
Align128IoUringSqe = 64
SizeofIoUringCqe = unsafe.Sizeof(IoUringCqe{})
Align32IoUringCqe = SizeofIoUringCqe
SizeofIoUringProbe = unsafe.Sizeof(IoUringProbe{})
SizeofIoUringProbeOp = unsafe.Sizeof(IoUringProbeOp{})
SizeofIoUringBufRing = unsafe.Sizeof(IoUringBufRing{})
SizeofIoUringBuf = unsafe.Sizeof(IoUringBuf{})
)
func _SizeChecker() {
var x [1]struct{}
_ = x[SizeofIoUringSqe-64]
_ = x[SizeofIoUringCqe-16]
_ = x[SizeofIoUringProbe-16]
_ = x[SizeofIoUringProbeOp-8]
_ = x[SizeofIoUringBufRing-16]
_ = x[SizeofIoUringBuf-16]
}
type IoUring struct {
Sq IoUringSq
Cq IoUringCq
Flags uint32
RingFd int
Features uint32
EnterRingFd int
IntFlags uint8
pad [3]uint8
pad2 uint32
}
type IoUringSq struct {
khead unsafe.Pointer // *uint32
ktail unsafe.Pointer // *uint32
kringMask unsafe.Pointer // *uint32
kringEntries unsafe.Pointer // *uint32
kflags unsafe.Pointer // *uint32
kdropped unsafe.Pointer // *uint32
Array uint32Array //ptr arith
Sqes ioUringSqeArray //ptr arith
SqeHead uint32
SqeTail uint32
RingSz uint32
RingPtr unsafe.Pointer
RingMask, RingEntries uint32
pad [2]uint32
}
func (sq *IoUringSq) _KHead() *uint32 { return (*uint32)(sq.khead) }
func (sq *IoUringSq) _KTail() *uint32 { return (*uint32)(sq.ktail) }
func (sq *IoUringSq) _KRingMask() *uint32 { return (*uint32)(sq.kringMask) }
func (sq *IoUringSq) _KRingEntries() *uint32 { return (*uint32)(sq.kringEntries) }
func (sq *IoUringSq) _KFlags() *uint32 { return (*uint32)(sq.kflags) }
func (sq *IoUringSq) _KDropped() *uint32 { return (*uint32)(sq.kdropped) }
type IoUringCq struct {
khead unsafe.Pointer // *uint32
ktail unsafe.Pointer // *uint32
kringMask unsafe.Pointer // *uint32
kringEntries unsafe.Pointer // *uint32
kflags unsafe.Pointer // *uint32
koverflow unsafe.Pointer // *uint32
Cqes ioUringCqeArray //ptr arith
RingSz uint32
RingPtr unsafe.Pointer
RingMask, RingEntries uint32
pad [2]uint32
}
func (cq *IoUringCq) _KHead() *uint32 { return (*uint32)(cq.khead) }
func (cq *IoUringCq) _KTail() *uint32 { return (*uint32)(cq.ktail) }
func (cq *IoUringCq) _KRingMask() *uint32 { return (*uint32)(cq.kringMask) }
func (cq *IoUringCq) _KRingEntries() *uint32 { return (*uint32)(cq.kringEntries) }
func (cq *IoUringCq) _KFlags() *uint32 { return (*uint32)(cq.kflags) }
func (cq *IoUringCq) _KOverflow() *uint32 { return (*uint32)(cq.koverflow) }