/*
 * 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 <fs_interface.h>
 
#include <util/OpenHashTable.h>
 
#include "../IORequestInfo.h"
 
 
namespace UserlandFS {
 
class HaikuKernelVolume;
 
struct HaikuKernelIORequest : IORequestInfo {
 
	HaikuKernelVolume*		volume;
	int32					refCount;
	HaikuKernelIORequest*	hashLink;
 
	HaikuKernelIORequest(HaikuKernelVolume* volume, const IORequestInfo& info)
		:
		IORequestInfo(info),
		volume(volume),
		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

V730 Not all members of a class are initialized inside the constructor. Consider inspecting: hashLink.