go-ceph/rados/write_step.go

34 lines
569 B
Go

package rados
// #include <stdint.h>
import "C"
import (
"unsafe"
)
type writeStep struct {
withoutUpdate
withoutFree
// the c pointer utilizes the Go byteslice data and no free is needed
// inputs:
b []byte
// arguments:
cBuffer *C.char
cDataLen C.size_t
cWriteLen C.size_t
cOffset C.uint64_t
}
func newWriteStep(b []byte, writeLen, offset uint64) *writeStep {
return &writeStep{
b: b,
cBuffer: (*C.char)(unsafe.Pointer(&b[0])),
cDataLen: C.size_t(len(b)),
cWriteLen: C.size_t(writeLen),
cOffset: C.uint64_t(offset),
}
}