IDA C++ SDK 9.2
Loading...
Searching...
No Matches
cli_t Struct Reference

Command line interpreter. More...

#include <kernwin.hpp>

Public Member Functions

 bool (idaapi *execute_line)(const char *line)
 Callback: the user pressed Enter.
 bool (idaapi *keydown)(qstring *line
 Callback: a keyboard key has been pressed.
 bool (idaapi *find_completions)(qstrvec_t *out_completions
 Callback: the user pressed Tab/Shift+Tab.

Public Attributes

size_t size
 size of this structure
int32 flags
 CLI attributes
const char * sname
 short name (displayed on the button)
const char * lname
 long name (displayed in the menu)
const char * hint
 hint for the input line
int * p_x
int int * p_sellen
int int int * p_vk_key
int int int int shift
qstrvec_tout_hints
qstrvec_t qstrvec_tout_docs
qstrvec_t qstrvec_t int * out_match_start
qstrvec_t qstrvec_t int int * out_match_end
qstrvec_t qstrvec_t int int const char * line
qstrvec_t qstrvec_t int int const char int x

Detailed Description

Command line interpreter.

Provides functionality for the command line (located at the bottom of the main window). Only GUI version of IDA supports CLIs.

Member Function Documentation

◆ bool() [1/3]

cli_t::bool ( idaapi * execute_line) const

Callback: the user pressed Enter.

CLI is free to execute the line immediately or ask for more lines.

Parameters
linecommand to execute (utf-8-encoded)
Return values
trueexecuted line
falseask for more lines

◆ bool() [2/3]

cli_t::bool ( idaapi * keydown)

Callback: a keyboard key has been pressed.

This callback is optional. It is a generic callback and the CLI is free to do whatever it wants.

Parameters
linecurrent input line (in/out argument)
p_xpointer to current x coordinate of the cursor (in/out)
p_sellenpointer to current selection length (usually 0)
p_vk_keypointer to virtual key code (in/out). if the key has been handled, it should be reset to 0 by CLI
shiftshift state
Return values
truemodified input line or x coordinate or selection length
falseotherwise

◆ bool() [3/3]

cli_t::bool ( idaapi * find_completions)

Callback: the user pressed Tab/Shift+Tab.

This callback is optional.

Parameters
[out]out_completionsresults of completion
[out]out_hintsone entry per completion result giving hints about the candidate (function protype, variable type, etc ...) Either has to be exactly the length of out_completions or zero length to display no hints.
[out]out_docsone entry per completion result giving the docstring of the corresponding item in out_completions. Either has to be exactly the length of out_completions or zero length to display no docstrings.
[out]out_match_startthe codepoint index in the line, where match starts
[out]out_match_endthe codepoint index in the line, where ends ends
linecommand line
xcodepoint index of the cursor in line
Return values
truegot results
falseotherwise

Member Data Documentation

◆ size

size_t cli_t::size

size of this structure

◆ flags

int32 cli_t::flags

◆ sname

const char* cli_t::sname

short name (displayed on the button)

◆ lname

const char* cli_t::lname

long name (displayed in the menu)

◆ hint

const char* cli_t::hint

hint for the input line

◆ p_x

int* cli_t::p_x

◆ p_sellen

int int* cli_t::p_sellen

◆ p_vk_key

int int int* cli_t::p_vk_key

◆ shift

int int int int cli_t::shift

◆ out_hints

qstrvec_t* cli_t::out_hints

◆ out_docs

qstrvec_t qstrvec_t* cli_t::out_docs

◆ out_match_start

qstrvec_t qstrvec_t int* cli_t::out_match_start

◆ out_match_end

qstrvec_t qstrvec_t int int* cli_t::out_match_end

◆ line

qstrvec_t qstrvec_t int int const char* cli_t::line

◆ x

qstrvec_t qstrvec_t int int const char int cli_t::x

The documentation for this struct was generated from the following file: