return res; tmp.buf.mem.set(mem); res = (int) libFuse.fuse_buf_copy(tmp, buf, 0); if (res <= 0) {
return res; tmp.buf.mem.set(mem); res = (int) libFuse.fuse_buf_copy(tmp, buf, 0); if (res <= 0) {
@Override @NotImplemented public int read_buf(String path, Pointer bufp, @size_t long size, @off_t long off, FuseFileInfo fi) { // should be implemented or null long vecmem = MemoryIO.getInstance().allocateMemory(Struct.size(new FuseBufvec(Runtime.getSystemRuntime())), false); if (vecmem == 0) { return -ErrorCodes.ENOMEM(); } Pointer src = Pointer.wrap(Runtime.getSystemRuntime(), vecmem); long memAdr = MemoryIO.getInstance().allocateMemory(size, false); if (memAdr == 0) { MemoryIO.getInstance().freeMemory(vecmem); return -ErrorCodes.ENOMEM(); } Pointer mem = Pointer.wrap(Runtime.getSystemRuntime(), memAdr); FuseBufvec buf = FuseBufvec.of(src); FuseBufvec.init(buf, size); buf.buf.mem.set(mem); bufp.putAddress(0, src.address()); int res = read(path, mem, size, off, fi); if (res >= 0) buf.buf.size.set(res); return res; }
@Override @NotImplemented public int read_buf(String path, Pointer bufp, @size_t long size, @off_t long off, FuseFileInfo fi) { // should be implemented or null long vecmem = MemoryIO.getInstance().allocateMemory(Struct.size(new FuseBufvec(Runtime.getSystemRuntime())), false); if (vecmem == 0) { return -ErrorCodes.ENOMEM(); } Pointer src = Pointer.wrap(Runtime.getSystemRuntime(), vecmem); long memAdr = MemoryIO.getInstance().allocateMemory(size, false); if (memAdr == 0) { MemoryIO.getInstance().freeMemory(vecmem); return -ErrorCodes.ENOMEM(); } Pointer mem = Pointer.wrap(Runtime.getSystemRuntime(), memAdr); FuseBufvec buf = FuseBufvec.of(src); FuseBufvec.init(buf, size); buf.buf.mem.set(mem); bufp.putAddress(0, src.address()); int res = read(path, mem, size, off, fi); if (res >= 0) buf.buf.size.set(res); return res; }
public void setStandardInput(HANDLE standardInput) { this.standardInput.set(standardInput.toPointer()); }
public void setStandardOutput(HANDLE standardOutput) { this.standardOutput.set(standardOutput.toPointer()); }
public void setStandardInput(HANDLE standardInput) { this.standardInput.set(standardInput.toPointer()); }
/** * Similar to FUSE_BUFVEC_INIT macros */ public static void init(FuseBufvec buf, long size) { buf.count.set(1); buf.idx.set(0); buf.off.set(0); buf.buf.size.set(size); buf.buf.flags.set(0); buf.buf.mem.set(0); buf.buf.fd.set(-1); buf.buf.pos.set(0); } }
public void setStandardOutput(HANDLE standardOutput) { this.standardOutput.set(standardOutput.toPointer()); }
public void setStandardInput(HANDLE standardInput) { this.standardInput.set(standardInput.toPointer()); }
public void setStandardError(HANDLE standardError) { this.standardError.set(standardError.toPointer()); } }
public void setStandardOutput(HANDLE standardOutput) { this.standardOutput.set(standardOutput.toPointer()); }
public void setStandardInput(HANDLE standardInput) { this.standardInput.set(standardInput.toPointer()); }
public void setStandardOutput(HANDLE standardOutput) { this.standardOutput.set(standardOutput.toPointer()); }
public void setStandardError(HANDLE standardError) { this.standardError.set(standardError.toPointer()); } }
public void setStandardError(HANDLE standardError) { this.standardError.set(standardError.toPointer()); } }
public void setStandardError(HANDLE standardError) { this.standardError.set(standardError.toPointer()); } }
/** * Similar to FUSE_BUFVEC_INIT macros */ public static void init(FuseBufvec buf, long size) { buf.count.set(1); buf.idx.set(0); buf.off.set(0); buf.buf.size.set(size); buf.buf.flags.set(0); buf.buf.mem.set(0); buf.buf.fd.set(-1); buf.buf.pos.set(0); } }