diff --git a/src/add-ons/kernel/file_systems/userlandfs/server/haiku/HaikuKernelIORequest.h b/src/add-ons/kernel/file_systems/userlandfs/server/haiku/HaikuKernelIORequest.h new file mode 100644 index 0000000000..52ef1b7589 --- /dev/null +++ b/src/add-ons/kernel/file_systems/userlandfs/server/haiku/HaikuKernelIORequest.h @@ -0,0 +1,57 @@ +/* + * Copyright 2009, Ingo Weinhold, ingo_weinhold@gmx.de. + * Distributed under the terms of the MIT License. + */ +#ifndef USERLAND_FS_HAIKU_KERNEL_IO_REQUEST_H +#define USERLAND_FS_HAIKU_KERNEL_IO_REQUEST_H + +#include + +#include + +#include "../IORequestInfo.h" + + +namespace UserlandFS { + +struct HaikuKernelIORequest : HashTableLink, + IORequestInfo { + + int32 refCount; + + HaikuKernelIORequest(const IORequestInfo& info) + : + IORequestInfo(info), + refCount(1) + { + } +}; + +struct HaikuKernelIterativeFDIOCookie { + int fd; + HaikuKernelIORequest* request; + iterative_io_get_vecs getVecs; + iterative_io_finished finished; + void* cookie; + + HaikuKernelIterativeFDIOCookie(int fd, HaikuKernelIORequest* request, + iterative_io_get_vecs getVecs, iterative_io_finished finished, + void* cookie) + : + fd(fd), + request(request), + getVecs(getVecs), + finished(finished), + cookie(cookie) + { + } +}; + +} // namespace UserlandFS + + +using UserlandFS::HaikuKernelIORequest; +using UserlandFS::HaikuKernelIterativeFDIOCookie; + + +#endif // USERLAND_FS_HAIKU_KERNEL_IO_REQUEST_H