libintrovirt v0.57.4
IntroVirt introspection library
Loading...
Searching...
No Matches
vmcall_interface.cc File Reference
#include <boost/program_options.hpp>
#include <introvirt/introvirt.hh>
#include <algorithm>
#include <csignal>
#include <functional>
#include <iostream>
Include dependency graph for vmcall_interface.cc:

Classes

class  EventHandler
 

Enumerations

enum  IVServiceCode { CSTRING_REVERSE = 0xF000 , WRITE_PROTECT = 0xF001 , PROTECT_PROCESS }
 

Functions

void sig_handler (int signum)
 
void parse_program_options (int argc, char **argv, po::options_description &desc, po::variables_map &vm)
 
int main (int argc, char **argv)
 

Variables

unique_ptr< Domaindomain
 
EventHandler event_handler
 

Enumeration Type Documentation

◆ IVServiceCode

Enumerator
CSTRING_REVERSE 
WRITE_PROTECT 
PROTECT_PROCESS 

Function Documentation

◆ main()

int main ( int  argc,
char **  argv 
)

The main entry point for this example.

◆ parse_program_options()

void parse_program_options ( int  argc,
char **  argv,
po::options_description &  desc,
po::variables_map &  vm 
)

This function parses our command line options using boost::program_options. Parsing command line options is not specific to IntroVirt, so this could be done in any way you like.

Parse command line options here

Examples
ivcallmon.cc, ivcr3mon.cc, ivexec.cc, ivguestinfo.cc, ivmemwatch.cc, ivprocinfo.cc, ivprocmemdump.cc, ivreadfile.cc, ivservicetable.cc, ivsessions.cc, ivsyscallmon.cc, ivwritefile.cc, and vmcall_interface.cc.

◆ sig_handler()

void sig_handler ( int  signum)

This signal handler is called when the user presses ctrl+c. It simply tells the domain to interrupt its polling loop so we can cleanly detach and exit.

Examples
ivcallmon.cc, ivcr3mon.cc, ivexec.cc, ivmemwatch.cc, ivprocmemdump.cc, ivreadfile.cc, ivsyscallmon.cc, ivwritefile.cc, and vmcall_interface.cc.

Variable Documentation

◆ domain

◆ event_handler

EventHandler event_handler