package cephfs /* #cgo LDFLAGS: -lcephfs #cgo CPPFLAGS: -D_FILE_OFFSET_BITS=64 #include #include */ import "C" import ( "unsafe" ) // CurrentDir gets the current working directory. func (mount *MountInfo) CurrentDir() string { cDir := C.ceph_getcwd(mount.mount) return C.GoString(cDir) } // ChangeDir changes the current working directory. func (mount *MountInfo) ChangeDir(path string) error { cPath := C.CString(path) defer C.free(unsafe.Pointer(cPath)) ret := C.ceph_chdir(mount.mount, cPath) return getError(ret) } // MakeDir creates a directory. func (mount *MountInfo) MakeDir(path string, mode uint32) error { cPath := C.CString(path) defer C.free(unsafe.Pointer(cPath)) ret := C.ceph_mkdir(mount.mount, cPath, C.mode_t(mode)) return getError(ret) } // RemoveDir removes a directory. func (mount *MountInfo) RemoveDir(path string) error { cPath := C.CString(path) defer C.free(unsafe.Pointer(cPath)) ret := C.ceph_rmdir(mount.mount, cPath) return getError(ret) }