Stackdb
Stackdb is a stackable, multi-target and -level source debugger and memory forensics library.
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Data Structures | Macros | Enumerations | Functions
proxyreq.h File Reference
#include <stdsoap2.h>
#include <stdlib.h>
#include "evloop.h"
#include "monitor.h"
Include dependency graph for proxyreq.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  proxyreq
 

Macros

#define PROXYREQ_MAXSIZE   1024 * 1024 * 4096
 
#define PROXY_REQUEST_LOCKED(soap, mobjid, mutex)
 
#define PROXY_REQUEST_HANDLE_STOP(soap)
 

Enumerations

enum  proxyreq_state_t {
  PROXYREQ_STATE_NEW = 0, PROXYREQ_STATE_BUFFERED = 1, PROXYREQ_STATE_PROCESSING = 2, PROXYREQ_STATE_SERVING = 3,
  PROXYREQ_STATE_DONE = 4
}
 

Functions

int proxyreq_handle_request (struct soap *soap, char *svc_name)
 
struct proxyreqproxyreq_create (struct soap *soap)
 
struct proxyreqproxyreq_create_proxied (int objid, char *buf, int buflen)
 
int proxyreq_attach_objid (struct proxyreq *pr, int objid)
 
int proxyreq_attach_new_objid (struct proxyreq *pr, int objid, struct monitor *monitor)
 
void proxyreq_free (struct proxyreq *pr)
 
void proxyreq_detach_soap (struct proxyreq *pr)
 
void proxyreq_free_buffer (struct proxyreq *pr)
 
int proxyreq_recv_request (struct monitor *monitor, struct monitor_msg *msg)
 
int proxyreq_recv_response (struct monitor *monitor, struct monitor_msg *msg)
 
int proxyreq_send_request (struct proxyreq *pr)
 
int proxyreq_send_response (struct proxyreq *pr)
 

Macro Definition Documentation

#define PROXY_REQUEST_HANDLE_STOP (   soap)
Value:
{ \
struct proxyreq *_pr; \
_pr = (struct proxyreq *)(soap)->user; \
\
if (((soap)->error = proxyreq_send_request(_pr)) != SOAP_OK) { \
verror("proxyreq_send_request error %d\n",retval); \
} \
if (_pr->objtype_mutex) \
pthread_mutex_unlock(_pr->objtype_mutex); \
} \
struct soap * soap
Definition: proxyreq.h:160
#define verror(format,...)
Definition: log.h:30
int proxyreq_send_request(struct proxyreq *pr)
Definition: proxyreq.c:447

Definition at line 337 of file proxyreq.h.

#define PROXY_REQUEST_LOCKED (   soap,
  mobjid,
  mutex 
)

Definition at line 288 of file proxyreq.h.

#define PROXYREQ_MAXSIZE   1024 * 1024 * 4096

Definition at line 106 of file proxyreq.h.

Enumeration Type Documentation

Enumerator
PROXYREQ_STATE_NEW 
PROXYREQ_STATE_BUFFERED 
PROXYREQ_STATE_PROCESSING 
PROXYREQ_STATE_SERVING 
PROXYREQ_STATE_DONE 

Definition at line 108 of file proxyreq.h.

Function Documentation

int proxyreq_attach_new_objid ( struct proxyreq pr,
int  objid,
struct monitor monitor 
)

Definition at line 421 of file proxyreq.c.

int proxyreq_attach_objid ( struct proxyreq pr,
int  objid 
)

Definition at line 400 of file proxyreq.c.

struct proxyreq* proxyreq_create ( struct soap *  soap)

proxyreq API implementation.

Definition at line 298 of file proxyreq.c.

struct proxyreq* proxyreq_create_proxied ( int  objid,
char *  buf,
int  buflen 
)

Definition at line 332 of file proxyreq.c.

void proxyreq_detach_soap ( struct proxyreq pr)

Definition at line 692 of file proxyreq.c.

void proxyreq_free ( struct proxyreq pr)

Definition at line 717 of file proxyreq.c.

void proxyreq_free_buffer ( struct proxyreq pr)

Definition at line 707 of file proxyreq.c.

int proxyreq_handle_request ( struct soap *  soap,
char *  svc_name 
)

The main function this library exposes to servers.

Definition at line 30 of file proxyreq.c.

int proxyreq_recv_request ( struct monitor monitor,
struct monitor_msg msg 
)

The following basically interact with monitors via messages or the msg_obj hashtable. They also interact with gsoap to effect the proxying.

Definition at line 552 of file proxyreq.c.

int proxyreq_recv_response ( struct monitor monitor,
struct monitor_msg msg 
)

Definition at line 621 of file proxyreq.c.

int proxyreq_send_request ( struct proxyreq pr)

Definition at line 447 of file proxyreq.c.

int proxyreq_send_response ( struct proxyreq pr)

Definition at line 507 of file proxyreq.c.