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 | Variables
analysis.h File Reference
#include "alist.h"
#include "target_api.h"
Include dependency graph for analysis.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  analysis
 
struct  analysis_desc
 
struct  analysis_spec
 
struct  analysis_param
 
struct  analysis_name_value
 
struct  analysis_datum
 
struct  analysis_datum_simple_value
 
struct  analysis_datum_typed_value
 

Macros

#define ASTATUS_MAX   ASTATUS_DONE
 
#define ASTATUS(n)   (((n) <= ASTATUS_MAX) ? ASTATUS_STRINGS[(n)] : NULL)
 

Enumerations

enum  analysis_status_t {
  ASTATUS_UNKNOWN = 0, ASTATUS_RUNNING = 1, ASTATUS_PAUSED = 2, ASTATUS_ERROR = 3,
  ASTATUS_DONE = 4
}
 

Functions

void analysis_init (void)
 
void analysis_fini (void)
 
void analysis_set_path (const char **path)
 
void analysis_set_path_string (const char *path)
 
void analysis_set_annotation_path (const char **path)
 
void analysis_set_annotation_path_string (const char *path)
 
void analysis_set_schema_path (const char **path)
 
void analysis_set_schema_path_string (const char *path)
 
char ** analysis_get_path (void)
 
char * analysis_find (const char *name)
 
struct array_listanalysis_list_names (void)
 
struct array_listanalysis_list_pathnames (void)
 
struct analysis_descanalysis_load (const char *name)
 
struct analysis_descanalysis_load_pathname (const char *path)
 
struct array_listanalysis_load_all (void)
 
int analysis_attach_evloop (struct analysis *analysis, struct evloop *evloop)
 
int analysis_detach_evloop (struct analysis *analysis)
 
int analysis_is_evloop_attached (struct analysis *analysis, struct evloop *evloop)
 
struct analysisanalysis_create (int id, struct analysis_spec *spec, struct analysis_desc *desc, int target_id, struct target *target)
 
void analysis_set_status (struct analysis *analysis, analysis_status_t status)
 
analysis_status_t analysis_close (struct analysis *analysis)
 
void analysis_free (struct analysis *analysis)
 
void analysis_datum_free (struct analysis_datum *datum)
 
void analysis_datum_simple_value_free (struct analysis_datum_simple_value *v)
 
void analysis_datum_typed_value_free (struct analysis_datum_typed_value *v)
 
void analysis_desc_free (struct analysis_desc *desc)
 
void analysis_spec_free (struct analysis_spec *spec)
 
void analysis_param_free (struct analysis_param *param)
 
struct analysis_datumanalysis_create_simple_datum (struct analysis *analysis, int id, char *name, int type, char *value, char *msg, int no_copy)
 
int analysis_datum_add_simple_value (struct analysis_datum *datum, char *name, char *value, int no_copy)
 
int analysis_datum_add_typed_value (struct analysis_datum *datum, char *name, void *value, int len, int datatype_id, int no_copy)
 
int analysis_datum_report (struct analysis *analysis, struct analysis_datum *datum)
 
struct analysisanalysis_create_from_memory (char *name, char *driver_bytes, char *input_bytes, struct array_list *file_names, struct array_list *file_bytes)
 

Variables

char * ASTATUS_STRINGS []
 
char * ANALYSIS_TMPDIR
 

Macro Definition Documentation

#define ASTATUS (   n)    (((n) <= ASTATUS_MAX) ? ASTATUS_STRINGS[(n)] : NULL)

Definition at line 61 of file analysis.h.

#define ASTATUS_MAX   ASTATUS_DONE

Definition at line 58 of file analysis.h.

Enumeration Type Documentation

Enumerator
ASTATUS_UNKNOWN 
ASTATUS_RUNNING 
ASTATUS_PAUSED 
ASTATUS_ERROR 
ASTATUS_DONE 

Definition at line 50 of file analysis.h.

Function Documentation

int analysis_attach_evloop ( struct analysis analysis,
struct evloop evloop 
)

Definition at line 377 of file analysis.c.

analysis_status_t analysis_close ( struct analysis analysis)

Definition at line 527 of file analysis.c.

struct analysis* analysis_create ( int  id,
struct analysis_spec spec,
struct analysis_desc desc,
int  target_id,
struct target target 
)

Definition at line 390 of file analysis.c.

struct analysis* analysis_create_from_memory ( char *  name,
char *  driver_bytes,
char *  input_bytes,
struct array_list file_names,
struct array_list file_bytes 
)
struct analysis_datum* analysis_create_simple_datum ( struct analysis analysis,
int  id,
char *  name,
int  type,
char *  value,
char *  msg,
int  no_copy 
)

Definition at line 407 of file analysis.c.

int analysis_datum_add_simple_value ( struct analysis_datum datum,
char *  name,
char *  value,
int  no_copy 
)

Definition at line 436 of file analysis.c.

int analysis_datum_add_typed_value ( struct analysis_datum datum,
char *  name,
void *  value,
int  len,
int  datatype_id,
int  no_copy 
)

Definition at line 456 of file analysis.c.

void analysis_datum_free ( struct analysis_datum datum)

Definition at line 479 of file analysis.c.

int analysis_datum_report ( struct analysis analysis,
struct analysis_datum datum 
)
void analysis_datum_simple_value_free ( struct analysis_datum_simple_value v)

Definition at line 505 of file analysis.c.

void analysis_datum_typed_value_free ( struct analysis_datum_typed_value v)

Definition at line 513 of file analysis.c.

void analysis_desc_free ( struct analysis_desc desc)

Definition at line 594 of file analysis.c.

int analysis_detach_evloop ( struct analysis analysis)

Definition at line 381 of file analysis.c.

char* analysis_find ( const char *  name)

Definition at line 150 of file analysis.c.

void analysis_fini ( void  )

Definition at line 81 of file analysis.c.

void analysis_free ( struct analysis analysis)

Definition at line 564 of file analysis.c.

char** analysis_get_path ( void  )

Definition at line 663 of file analysis.c.

void analysis_init ( void  )

Definition at line 67 of file analysis.c.

int analysis_is_evloop_attached ( struct analysis analysis,
struct evloop evloop 
)

Definition at line 385 of file analysis.c.

struct array_list* analysis_list_names ( void  )

Definition at line 90 of file analysis.c.

struct array_list* analysis_list_pathnames ( void  )

Definition at line 112 of file analysis.c.

struct analysis_desc* analysis_load ( const char *  name)

Definition at line 239 of file analysis.c.

struct array_list* analysis_load_all ( void  )

Definition at line 331 of file analysis.c.

struct analysis_desc* analysis_load_pathname ( const char *  path)

Definition at line 269 of file analysis.c.

void analysis_param_free ( struct analysis_param param)

Definition at line 650 of file analysis.c.

void analysis_set_annotation_path ( const char **  path)

Definition at line 742 of file analysis.c.

void analysis_set_annotation_path_string ( const char *  path)

Definition at line 760 of file analysis.c.

void analysis_set_path ( const char **  path)

Definition at line 714 of file analysis.c.

void analysis_set_path_string ( const char *  path)

Definition at line 732 of file analysis.c.

void analysis_set_schema_path ( const char **  path)

Definition at line 770 of file analysis.c.

void analysis_set_schema_path_string ( const char *  path)

Definition at line 788 of file analysis.c.

void analysis_set_status ( struct analysis analysis,
analysis_status_t  status 
)

Definition at line 521 of file analysis.c.

void analysis_spec_free ( struct analysis_spec spec)

Definition at line 630 of file analysis.c.

Variable Documentation

char* ANALYSIS_TMPDIR

Definition at line 55 of file analysis.c.

char* ASTATUS_STRINGS[]

Definition at line 801 of file analysis.c.