libintrovirt v0.57.4
IntroVirt introspection library
Loading...
Searching...
No Matches
introvirt::windows::ws2_32::WSASend Class Referencefinal

Handler for ws2_32!WSASend. More...

#include <WSASend.hh>

Inheritance diagram for introvirt::windows::ws2_32::WSASend:
Collaboration diagram for introvirt::windows::ws2_32::WSASend:

Public Member Functions

SOCKET s () const
 
void s (SOCKET s)
 
guest_ptr< void > pBuffers () const
 
void pBuffers (const guest_ptr< void > &pBuffers)
 
std::vector< std::shared_ptr< WSABUF > > Buffers ()
 
uint32_t dwBufferCount () const
 
void dwBufferCount (uint32_t dwBufferCount)
 
guest_ptr< uint32_t > pNumberOfBytesSent () const
 
void pNumberOfBytesSent (const guest_ptr< uint32_t > &pNumberOfBytesSent)
 
uint32_t Flags () const
 
void Flags (uint32_t Flags)
 
guest_ptr< void > pOverlapped () const
 
void pOverlapped (const guest_ptr< void > &pOverlapped)
 
std::shared_ptr< WSAOVERLAPPEDOverlapped ()
 
guest_ptr< void > pCompletionRoutine () const
 
void pCompletionRoutine (const guest_ptr< void > &pCompletionRoutine)
 
const std::string & function_name () const override
 Get the function name.
 
const std::string & library_name () const override
 Get the name of the library this call is for.
 
void write (std::ostream &os=std::cout) const override
 Write out a textual representation of the function for display.
 
Json::Value json () const override
 Get the function as Json.
 
int32_t result () const
 
void result (int32_t result)
 
 WSASend (Event &event)
 
 ~WSASend () override
 
- Public Member Functions inherited from introvirt::windows::WindowsFunctionCall
guest_ptr< void > return_address () const override
 Get the return address for this function call.
 
void return_address (const guest_ptr< void > &value) override
 Set the return address for this function call.
 
bool is_return_event (Event &event) const override
 Check if the given event is a return event for this function call.
 
void handle_return (Event &event) override
 Handle the return event.
 
bool returned () const override
 Check if the call has returned.
 
bool x64 () const
 Check if the call is from x64 mode.hh>
 
virtual ~WindowsFunctionCall ()
 
- Public Member Functions inherited from introvirt::FunctionCall
bool hook_return () const
 Check if the user is requesting that the return be intercepted.
 
void hook_return (bool val)
 Configure if the return should be intercepted.
 
void data (const std::string &key, const std::shared_ptr< void > &value)
 Store arbitrary data with the FunctionCall.
 
void data (const std::string &key, std::shared_ptr< void > &&value)
 Store arbitrary data with the FunctionCall.
 
std::shared_ptr< void > data (const std::string &key)
 Retrieve arbitrary data stored with the FunctionCall.
 
std::shared_ptr< const void > data (const std::string &key) const
 Retrieve arbitrary data stored with the FunctionCall.
 
virtual ~FunctionCall ()=default
 

Static Public Member Functions

static int32_t inject (SOCKET s, const guest_ptr< void > &pBuffers, uint32_t dwBufferCount, const guest_ptr< uint32_t > &pNumberOfBytesSent, uint32_t Flags, const guest_ptr< void > &pOverlapped, const guest_ptr< void > &pCompletionRoutine)
 

Static Public Attributes

static constexpr int ArgumentCount = 7
 
static const std::string LibraryName = "ws2_32"
 
static const std::string FunctionName = "WSASend"
 

Additional Inherited Members

- Protected Member Functions inherited from introvirt::windows::WindowsFunctionCall
uint64_t raw_return_value () const
 
void raw_return_value (uint64_t value)
 
uint64_t get_argument (unsigned int index) const
 
void set_argument (unsigned int index, uint64_t value)
 
guest_ptr< void > get_address_argument (unsigned int index) const
 
void set_address_argument (unsigned int index, const guest_ptr< void > &address)
 
Vcpuvcpu ()
 
const Vcpuvcpu () const
 
 WindowsFunctionCall (Event &event, unsigned int argument_count, WindowsCallType type=WindowsCallType::AUTO)
 

Detailed Description

Constructor & Destructor Documentation

◆ WSASend()

introvirt::windows::ws2_32::WSASend::WSASend ( Event event)

◆ ~WSASend()

introvirt::windows::ws2_32::WSASend::~WSASend ( )
override

Member Function Documentation

◆ Buffers()

std::vector< std::shared_ptr< WSABUF > > introvirt::windows::ws2_32::WSASend::Buffers ( )

◆ dwBufferCount() [1/2]

uint32_t introvirt::windows::ws2_32::WSASend::dwBufferCount ( ) const

◆ dwBufferCount() [2/2]

void introvirt::windows::ws2_32::WSASend::dwBufferCount ( uint32_t  dwBufferCount)

◆ Flags() [1/2]

uint32_t introvirt::windows::ws2_32::WSASend::Flags ( ) const

◆ Flags() [2/2]

void introvirt::windows::ws2_32::WSASend::Flags ( uint32_t  Flags)

◆ function_name()

const std::string & introvirt::windows::ws2_32::WSASend::function_name ( ) const
overridevirtual

Get the function name.

Returns
const std::string&

Implements introvirt::FunctionCall.

◆ inject()

static int32_t introvirt::windows::ws2_32::WSASend::inject ( SOCKET  s,
const guest_ptr< void > &  pBuffers,
uint32_t  dwBufferCount,
const guest_ptr< uint32_t > &  pNumberOfBytesSent,
uint32_t  Flags,
const guest_ptr< void > &  pOverlapped,
const guest_ptr< void > &  pCompletionRoutine 
)
static

◆ json()

Json::Value introvirt::windows::ws2_32::WSASend::json ( ) const
overridevirtual

Get the function as Json.

Returns
Json::Value

Implements introvirt::FunctionCall.

◆ library_name()

const std::string & introvirt::windows::ws2_32::WSASend::library_name ( ) const
overridevirtual

Get the name of the library this call is for.

Returns
const std::string&

Implements introvirt::FunctionCall.

◆ Overlapped()

std::shared_ptr< WSAOVERLAPPED > introvirt::windows::ws2_32::WSASend::Overlapped ( )

◆ pBuffers() [1/2]

guest_ptr< void > introvirt::windows::ws2_32::WSASend::pBuffers ( ) const

◆ pBuffers() [2/2]

void introvirt::windows::ws2_32::WSASend::pBuffers ( const guest_ptr< void > &  pBuffers)

◆ pCompletionRoutine() [1/2]

guest_ptr< void > introvirt::windows::ws2_32::WSASend::pCompletionRoutine ( ) const

◆ pCompletionRoutine() [2/2]

void introvirt::windows::ws2_32::WSASend::pCompletionRoutine ( const guest_ptr< void > &  pCompletionRoutine)

◆ pNumberOfBytesSent() [1/2]

guest_ptr< uint32_t > introvirt::windows::ws2_32::WSASend::pNumberOfBytesSent ( ) const

◆ pNumberOfBytesSent() [2/2]

void introvirt::windows::ws2_32::WSASend::pNumberOfBytesSent ( const guest_ptr< uint32_t > &  pNumberOfBytesSent)

◆ pOverlapped() [1/2]

guest_ptr< void > introvirt::windows::ws2_32::WSASend::pOverlapped ( ) const

◆ pOverlapped() [2/2]

void introvirt::windows::ws2_32::WSASend::pOverlapped ( const guest_ptr< void > &  pOverlapped)

◆ result() [1/2]

int32_t introvirt::windows::ws2_32::WSASend::result ( ) const

◆ result() [2/2]

void introvirt::windows::ws2_32::WSASend::result ( int32_t  result)

◆ s() [1/2]

SOCKET introvirt::windows::ws2_32::WSASend::s ( ) const

◆ s() [2/2]

void introvirt::windows::ws2_32::WSASend::s ( SOCKET  s)

◆ write()

void introvirt::windows::ws2_32::WSASend::write ( std::ostream &  os = std::cout) const
overridevirtual

Write out a textual representation of the function for display.

Parameters
os

Implements introvirt::FunctionCall.

Member Data Documentation

◆ ArgumentCount

constexpr int introvirt::windows::ws2_32::WSASend::ArgumentCount = 7
staticconstexpr

◆ FunctionName

const std::string introvirt::windows::ws2_32::WSASend::FunctionName = "WSASend"
inlinestatic

◆ LibraryName

const std::string introvirt::windows::ws2_32::WSASend::LibraryName = "ws2_32"
inlinestatic

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