⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stream.h

📁 功能较全面的反汇编器:反汇编器ht-2.0.15.tar.gz
💻 H
📖 第 1 页 / 共 2 页
字号:
	virtual void		putLenString(const byte *string, int length, const char *desc);};/* cntl cmd */#define FCNTL_MODS_INVD			0x00000001#define FCNTL_MODS_FLUSH		0x00000002#define FCNTL_MODS_CLEAR_DIRTY_RANGE	0x00000003	// const FileOfs offset, const FileOfs range#define FCNTL_MODS_IS_DIRTY		0x00000004	// const FileOfs offset, const FileOfs range, bool &isdirty#define FCNTL_CACHE_INVD		0x00000005#define FCNTL_FLUSH_STAT		0x00000006#define FCNTL_GET_RELOC			0x00000007	// bool &enabled#define FCNTL_SET_RELOC			0x00000008	// bool enable#define FCNTL_GET_FD			0x00000009	// int &fd// Return a "modification count" that changes, every time the file state// ( content, size, pstat ) changes.// While identical mod-counts imply identical file states,// different mod-counts do not necessarily imply different file states !#define FCNTL_GET_MOD_COUNT		0x00000009	// int &mcount#define IS_DIRTY_SINGLEBIT		0x80000000/** *	A file. */class File: public Stream {protected:	int mcount;public:		File();	/* new */		int			cntl(uint cmd, ...);	virtual void			cut(FileOfs size);	virtual void			extend(FileOfs newsize);	virtual String &		getFilename(String &result) const;	virtual FileOfs			getSize() const;	virtual void			insert(const void *buf, FileOfs size);	virtual void			pstat(pstat_t &s) const;	virtual void			seek(FileOfs offset);	virtual FileOfs			tell() const;	virtual void			truncate(FileOfs newsize);	virtual int			vcntl(uint cmd, va_list vargs);			void			move(FileOfs src, FileOfs dest, FileOfs size);		char *			fgetstrz();};/** *	A file, layering a file. */class FileLayer: public File {protected:	File *mFile;	bool mOwnFile;public:					FileLayer(File *file, bool own_file);	virtual 			~FileLayer();	/* extends File */	virtual void			cut(FileOfs size);	virtual void			extend(FileOfs newsize);	virtual IOAccessMode		getAccessMode() const;	virtual String &		getDesc(String &result) const;	virtual String &		getFilename(String &result) const;	virtual FileOfs			getSize() const;	virtual void			insert(const void *buf, FileOfs size);	virtual void			pstat(pstat_t &s) const;	virtual uint			read(void *buf, uint size);	virtual void			seek(FileOfs offset);	virtual int			setAccessMode(IOAccessMode mode);	virtual FileOfs			tell() const;	virtual void			truncate(FileOfs newsize);	virtual int			vcntl(uint cmd, va_list vargs);	virtual uint			write(const void *buf, uint size);	/* new */		File *			getLayered() const;	virtual	void			setLayered(File *newLayered, bool ownNewLayered);};/** *	A local file (file descriptor [fd]). */class LocalFileFD: public File {protected:	String		mFilename;	FileOpenMode	mOpenMode;	int fd;	bool own_fd;	FileOfs offset;		int		setAccessModeInternal(IOAccessMode mode);public:				LocalFileFD(const String &aFilename, IOAccessMode mode, FileOpenMode aOpenMode);				LocalFileFD(int fd, bool own_fd, IOAccessMode mode);	virtual 		~LocalFileFD();	/* extends File */	virtual String &	getDesc(String &result) const;	virtual String &	getFilename(String &result) const;	virtual FileOfs		getSize() const;	virtual uint		read(void *buf, uint size);	virtual void		seek(FileOfs offset);	virtual int		setAccessMode(IOAccessMode mode);	virtual FileOfs 	tell() const;	virtual void		truncate(FileOfs newsize);	virtual int		vcntl(uint cmd, va_list vargs);	virtual uint		write(const void *buf, uint size);};/** *	A local file (file stream [FILE*]). */class LocalFile: public File {protected:	String		mFilename;	FileOpenMode	mOpenMode;	SYS_FILE *	file;	bool		own_file;	FileOfs		offset;		int		setAccessModeInternal(IOAccessMode mode);public:				LocalFile(const String &aFilename, IOAccessMode mode, FileOpenMode aOpenMode);				LocalFile(SYS_FILE *file, bool own_file, IOAccessMode mode);	virtual			~LocalFile();	/* extends File */	virtual String &	getDesc(String &result) const;	virtual String &	getFilename(String &result) const;	virtual FileOfs		getSize() const;	virtual void		pstat(pstat_t &s) const;	virtual uint		read(void *buf, uint size);	virtual void		seek(FileOfs offset);	virtual int		setAccessMode(IOAccessMode mode);	virtual FileOfs 	tell() const;	virtual void		truncate(FileOfs newsize);	virtual int		vcntl(uint cmd, va_list vargs);	virtual uint		write(const void *buf, uint size);};/** *	A temporary file. */class TempFile: public LocalFile {public:				TempFile(IOAccessMode mode);	/* extends File */	virtual String &	getDesc(String &result) const;	virtual void		pstat(pstat_t &s) const;};/** *	A fixed-size, read-only file, mapping a area of memory. */class ConstMemMapFile: public File {protected:	FileOfs ofs, pos;	uint size;	const void *buf;public:				ConstMemMapFile(const void *buf, uint size, FileOfs ofs=0);	/* extends File */	virtual String &	getDesc(String &result) const;	virtual FileOfs	getSize() const;	virtual uint		read(void *buf, uint size);	virtual void		seek(FileOfs offset);	virtual FileOfs 	tell() const;};/** *	A fixed-size file, mapping a area of memory. */class MemMapFile: public ConstMemMapFile {public:				MemMapFile(void *buf, uint size, FileOfs ofs=0);	/* extends Stream */	virtual uint		write(const void *buf, uint size);};/** *	A (read-only) file with zero-content. */class NullFile: public File {public:				NullFile();	/* extends File */	virtual void		extend(FileOfs newsize);	virtual String &	getDesc(String &result) const;	virtual FileOfs	getSize() const;	virtual void		pstat(pstat_t &s) const;	virtual uint		read(void *buf, uint size);	virtual void		seek(FileOfs offset);	virtual int		setAccessMode(IOAccessMode mode);	virtual FileOfs 	tell() const;	virtual void		truncate(FileOfs newsize);	virtual uint		write(const void *buf, uint size);};/** *	A file, existing only in memory. */class MemoryFile: public File {protected:	FileOfs ofs;	FileOfs pos;	uint bufsize, dsize, ibufsize;	byte *buf;	virtual	uint		extendBufSize(uint bufsize);	virtual	uint		shrinkBufSize(uint bufsize);		void		extendBuf();		void		shrinkBuf();		void		resizeBuf(uint newsize);public:				MemoryFile(FileOfs ofs = 0, uint size = 0, IOAccessMode mode = IOAM_READ | IOAM_WRITE);	virtual 		~MemoryFile();	/* extends File */	virtual void		extend(FileOfs newsize);	virtual IOAccessMode	getAccessMode() const;	virtual String &	getDesc(String &result) const;	virtual FileOfs		getSize() const;	virtual void		pstat(pstat_t &s) const;	virtual uint		read(void *buf, uint size);	virtual void		seek(FileOfs offset);	virtual int		setAccessMode(IOAccessMode mode);	virtual FileOfs 	tell() const;	virtual void		truncate(FileOfs newsize);	virtual uint		write(const void *buf, uint size);	/* new */		byte *		getBufPtr() const;};/** *	A file layer, representing a cropped version of a file */class CroppedFile: public FileLayer {protected:	FileOfs mCropStart;	bool	mHasCropSize;	FileOfs mCropSize;public:				// crop [start; start+size-1]				CroppedFile(File *file, bool own_file, FileOfs aCropStart, FileOfs aCropSize);				// no size, just start				CroppedFile(File *file, bool own_file, FileOfs aCropStart);	/* extends FileLayer */	virtual void		extend(FileOfs newsize);	virtual String &	getDesc(String &result) const;	virtual FileOfs		getSize() const;	virtual void		pstat(pstat_t &s) const;	virtual uint		read(void *buf, uint size);	virtual void		seek(FileOfs offset);	virtual FileOfs 	tell() const;	virtual void		truncate(FileOfs newsize);	virtual uint		write(const void *buf, uint size);};#endif /* __STREAM_H__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -