mirror of
https://github.com/rapid7/metasploit-payloads
synced 2025-03-18 15:14:10 +01:00
54 lines
1.5 KiB
C
54 lines
1.5 KiB
C
#ifndef _METERPRETER_CLIENT_CONSOLE_H
|
|
#define _METERPRETER_CLIENT_CONSOLE_H
|
|
|
|
#define OUTBOUND_PREFIX ">>>"
|
|
#define INBOUND_PREFIX "<<<"
|
|
|
|
VOID console_initialize();
|
|
|
|
/*
|
|
* Output processing
|
|
*/
|
|
LINKAGE VOID console_write_output(LPCSTR fmt, ...);
|
|
LINKAGE VOID console_write_output_raw(PUCHAR buf, ULONG length);
|
|
LINKAGE VOID console_write_prompt();
|
|
|
|
LINKAGE DWORD console_generic_response_output(Remote *remote, Packet *packet,
|
|
LPCSTR subsys, LPCSTR cmd);
|
|
|
|
/*
|
|
* Interact channel
|
|
*/
|
|
LINKAGE VOID console_set_interactive_channel(Remote *remote, Channel *channel);
|
|
LINKAGE Channel *console_get_interactive_channel();
|
|
LINKAGE DWORD console_get_interactive_channel_id();
|
|
|
|
/*
|
|
* Input processing
|
|
*/
|
|
typedef struct _ConsoleCommand
|
|
{
|
|
LPCSTR name;
|
|
DWORD (*handler)(Remote *remote, UINT argc, CHAR **argv);
|
|
LPCSTR help;
|
|
BOOL separator;
|
|
|
|
// Not stored
|
|
struct _ConsoleCommand *prev;
|
|
struct _ConsoleCommand *next;
|
|
} ConsoleCommand;
|
|
|
|
LINKAGE VOID console_read_buffer(Remote *remote);
|
|
LINKAGE VOID console_process_command(Remote *remote);
|
|
LINKAGE VOID console_process_commands(Remote *remote);
|
|
|
|
LINKAGE DWORD console_register_command(ConsoleCommand *command);
|
|
LINKAGE DWORD console_deregister_command(ConsoleCommand *command);
|
|
|
|
LINKAGE VOID console_register_core_commands();
|
|
LINKAGE VOID console_deregister_core_commands();
|
|
|
|
LINKAGE BOOL console_check_escape_sent();
|
|
|
|
#endif
|