|
fcml
1.2.2
|
Structures and functions declarations related to FCML renderers. More...
#include "fcml_lib_export.h"#include "fcml_types.h"#include "fcml_errors.h"#include "fcml_dialect.h"#include "fcml_disassembler.h"

Go to the source code of this file.
Classes | |
| struct | fcml_st_render_config |
| Renderer configuration. More... | |
Macros | |
| #define | FCML_REND_MAX_BUFF_LEN 512 |
| The rendered instruction size can not exceed this value. More... | |
| #define | FCML_REND_FLAG_RENDER_CODE 0x00000001 |
| Render the instruction code as HEX string. More... | |
| #define | FCML_REND_FLAG_HEX_IMM 0x00000002 |
| Render the immediate operand as HEX integer. More... | |
| #define | FCML_REND_FLAG_RENDER_DEFAULT_SEG 0x00000004 |
| Render the segment code register even if it is a default one. More... | |
| #define | FCML_REND_FLAG_HEX_DISPLACEMENT 0x00000008 |
| Render the displacement value as HEX integer. More... | |
| #define | FCML_REND_FLAG_COND_GROUP_1 0x00000010 |
| Render the conditional mnemonics using suffixes from first group. More... | |
| #define | FCML_REND_FLAG_COND_GROUP_2 0x00000020 |
| Render the conditional mnemonics using suffixes from second group. More... | |
| #define | FCML_REND_FLAG_COND_SHOW_CARRY 0x00000040 |
| Render the conditional mnemonics using suffixes for 'carry'. More... | |
| #define | FCML_REND_FLAG_RENDER_SIB_HINT 0x00000080 |
| Render SIB operand hints. More... | |
| #define | FCML_REND_FLAG_RENDER_ABS_HINT 0x00000100 |
| Render ABS (Absolute offset) operand hints. More... | |
| #define | FCML_REND_FLAG_RENDER_REL_HINT 0x00000200 |
| Render REL (Relative offset) operand hints. More... | |
| #define | FCML_REND_FLAG_RENDER_INDIRECT_HINT 0x00000400 |
| Render hints for absolute addressing. More... | |
| #define | FCML_REND_FLAG_REP_PREFIX_GROUP_1 0x00000800 |
| Renders repetition prefixes using the first group (repe,repne). More... | |
| #define | FCML_REND_FLAG_REP_PREFIX_GROUP_2 0x00001000 |
| Renders repetition prefixes using the second group (repz,repnz). More... | |
| #define | FCML_REND_FLAG_CODE_PADDING 0x00002000 |
| Renders the code padding between the instruction code and the mnemonic. More... | |
| #define | FCML_REND_FLAG_MNEMONIC_PADDING 0x00004000 |
| Renders the mnemonic padding between the mnemonic and the operands. More... | |
| #define | FCML_REND_FLAG_REMOVE_LEADING_ZEROS 0x00008000 |
| Should be used only with FCML_REND_FLAG_HEX_IMM and FCML_REND_FLAG_ HEX_DISPLACEMENT flags. More... | |
| #define | FCML_REND_DEFAULT_FLAGS 0 |
| Default set of the rendering flags. More... | |
| #define | FCML_REND_DEFAULT_CODE_PADDING 8 |
| Default number of characters used as code padding. More... | |
| #define | FCML_REND_DEFAULT_MNEMONIC_PADDING 8 |
| Default number of characters used as mnemonic padding. More... | |
Typedefs | |
| typedef struct fcml_st_render_config | fcml_st_render_config |
| Renderer configuration. More... | |
Functions | |
| LIB_EXPORT fcml_ceh_error LIB_CALL | fcml_fn_render (const fcml_st_dialect *dialect, const fcml_st_render_config *config, fcml_char *buffer, fcml_usize buffer_len, const fcml_st_disassembler_result *result) |
| Renders the disassembled instruction into its textual representation. More... | |
Structures and functions declarations related to FCML renderers.
| #define FCML_REND_MAX_BUFF_LEN 512 |
The rendered instruction size can not exceed this value.
| typedef struct fcml_st_render_config fcml_st_render_config |
Renderer configuration.
| LIB_EXPORT fcml_ceh_error LIB_CALL fcml_fn_render | ( | const fcml_st_dialect * | dialect, |
| const fcml_st_render_config * | config, | ||
| fcml_char * | buffer, | ||
| fcml_usize | buffer_len, | ||
| const fcml_st_disassembler_result * | result | ||
| ) |
Renders the disassembled instruction into its textual representation.
Prepares textual representation of the disassembled code using syntax based on the provided dialect.
| dialect | Dialect instance. | |
| config | Renderer configuration. | |
| [out] | buffer | Destination buffer for the generated instruction. |
| buffer_len | Size of the destination buffer. | |
| result | Disassembled instruction. |
1.8.13