Pin
Loading...
Searching...
No Matches
Public Attributes | List of all members
IRPCPlugin Struct Reference

#include <ipind_plugin.h>

Public Attributes

IPindPlugin base_
 
const char *(* get_injection_data )(IPindPlugin *self)
 
t_rpc_message_schema const *(* get_rpc_schema )(IPindPlugin *self, t_rpc_id rpcId)
 
void(* do_rpc )(IPindPlugin *self, t_rpc_id rpcId, t_arg_count argCount, t_rpc_arg *rpcArgs, t_rpc_ret *retRpcArg)
 

Detailed Description

This structure should be allocated and returned by a plugin library in response to a call to load_plugin.

This structure can be placed as the first member of a user declared structure to provide plugin specific additional state.

Member Data Documentation

◆ do_rpc

void(* IRPCPlugin::do_rpc) (IPindPlugin *self, t_rpc_id rpcId, t_arg_count argCount, t_rpc_arg *rpcArgs, t_rpc_ret *retRpcArg)

Execute the RPC request. Store result in the specified retRpcArg.

This method is called by pind to actually process an RPC request. This method must be set and may not be NULL.

Parameters
[in]selfA pointer to the plugin
[in]rpcIdRPC request ID
[in]argCountNumber of RPC arguments
[in]rpcArgsArray of RPC arguments
[out]retRpcArgPointer to RPC return value arg. Will be filled with RPC execution result.

◆ get_injection_data

const char *(* IRPCPlugin::get_injection_data) (IPindPlugin *self)

Get the injection data of the plugin.

The values returned from this method will be injected to Pin as environment variables. This method may be NULL.

Note
In Pin 4.0 beta, if IRPCPlugin::get_injection_data is not NULL, it will be called but the returned data will not be injected to Pin.
Parameters
[in]selfA pointer to the plugin
Returns
A string of KEY=VALUE pairs with semicolon delimiter

◆ get_rpc_schema

t_rpc_message_schema const *(* IRPCPlugin::get_rpc_schema) (IPindPlugin *self, t_rpc_id rpcId)

Get the schema for the given id if supported by the plugin.

This method is called to retrieve an RPC schema when pind considers the plugin for processing an RPC request. This method must be set and may not be NULL.

Parameters
[in]selfA pointer to the plugin
[in]rpcIdRPC request ID
Returns
RPC message schema for the specified RPC request identified by rpcId if and only if the plugin supports this rpcId, NULL otherwise.

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