////////////////////////////////////////////////////////////////////////////
// CFD クラスのインタフェース宣言
//
// ファイルディスクリプタによる入出力
////////////////////////////////////////////////////////////////////////////

#if !defined( FD_H_INCLUDED_ )
#define FD_H_INCLUDED_

#include "VPtr.h"

class CFD
{
public:
	CFD();
	~CFD();

	// 開く
	bool Open( const char *pFName, int flg, int mode = 0 );

	// 書き込む
	bool Write( const void *pBuf, int len ) const;

	// 読み込む
	NNabikiVPtr::VPtr< char > Read() const;
	int Read( void *pBuf, int len ) const;

	// 閉じる
	void Close();

	// ディスクリプタの取得
	CFD::operator int() const;

protected:
	int fd;
	bool ReadFlg;
};

#endif // FD_H_INCLUDED_

