package datkt.fs import kotlinx.cinterop.staticCFunction import kotlinx.cinterop.CPointer import datkt.uv.uv_fs_stat import datkt.uv.uv_fs_t import datkt.fs.StatCallback as Callback fun stat(path: String, callback: Callback) { val req = uv.init(callback) uv_fs_stat( datkt.fs.loop.default, uv.toCValuesRef(req), path, staticCFunction(::onstat)) } private fun onstat(req: CPointer?) { uv.request(req) { err, (fs, done, cleanup) -> val stats = if (null != err) null else fs?.statbuf?.toStats() done(err, stats) cleanup() } }