ssize_t write(int handle, const void *in, size_t length) { FileDescriptor *descriptor = static_cast<FileDescriptor*>(GetResource(handle, OBJ_FD)); if (descriptor == 0) return E_BAD_HANDLE; ssize_t err = descriptor->Write(in, length); descriptor->ReleaseRef(); return err; }