Newer
Older
libkc / modules / include / kc_memory_dump.h
/**
 * @file   kc_memory_dump.h
 * @brief  KC メモリダンプモジュール
 * @copyright  2003 - 2023  Nomura Kei
 * @depends
 *	kc.h
 *	kc_memory.h
 *
 * 本ヘッダファイルを直接 include せず、kc_memory.h を include してください。
 */
#ifndef KC_MEMORY_DUMP_H
#define KC_MEMORY_DUMP_H

#include <kc_memory.h>

#ifdef __cplusplus
extern "C"
{
	namespace kc
	{
		using namespace std;
#endif

		/**
		 * 指定されたメモリエントリの情報を buff に出力します。
		 * 常に指定された column の文字数となるように出力は調整されます。
		 * buff_size < column の場合、出力に失敗し、false を返します。
		 *
		 * @param buff       情報を出力するバッファ
		 * @param buff_size  バッファサイズ
		 * @param entry      メモリエントリ
		 * @param binary     true の場合、データの16進数情報が出力に追加されます。
		 * @param ascii      true の場合、データのASCII 情報が出力に追加されます。
		 * @param column     出力文字数
		 * @return true/false (出力成功/出力失敗)
		 */
		bool KcMemoryDump_dump(char *buff, size_t buff_size, const KcMemoryEntry *entry,
							   int bytes, bool binary, bool ascii, int column);

#ifdef __cplusplus
	} // namespace kc
} // extern "C"
#endif
#endif // KC_MEMORY_DUMP_H