radare2/libr/bin/pdb/stream_file.h

30 lines
1.2 KiB
C
Raw Normal View History

Initial implementation of the PDB parser * Contains 78 rebased commits - add R_PDB struct - add implementation of init_pdb_parser() - add stub for init_pdb7_root_stream() - add init_pdb_stream() function - add functions for working with stream_file - do fixes for stream_file_read - add getting of sizes - save streams to rlist - add light implementation of read_root function - add stubs for parsed_pdb_stream_init - add parsing of pdb info stream - start of parsing tpi header - add stub for tpi stream - fix stream file read. +stubs for eFIELD_LIST - add parsing of lf_enumerate - add parsing of lf_nesttype() - add parsing of LF_METHOD - add parsing of lf_member - add some additional parsing of types - fix some memory leaks - add support of LF_METHOD and LF_MEMBER - add support of LF_NESTTYPE - add support of LF_ENUM - add parsing of lf_structure - add parsing of lf_pointer - start of lf_array implementation - back implementation of lf_array - add implementation of LF_MODIFIER - add implementaion of lf_arglist - add implementaion of lf_mfunction - add useful macros - add implementation of lf_procedure - add implementation of lf_union - add free of sval and printf name of sval - add implementation of LF_BITFIELD - add implementation of LF_CLASS - add implementation of LF_VTSHPAE - start of refactoring - finish refactor of the code - fix memory leak issues - some refactor of memory managment - fix memory managment - add supprot of ushort type - add function for printing type name and value - add API for getting leaf types members - refactor of SType and STypeInfO - add implementation of get_name/val/... for new types - fix cast in some function of getting name, val, etc - add stubs for resolving type - add pointers to function for getting types - add connections for types function pointers - add stub for printing structures - update memory manadgement and fix some problems in API for working with types - add process of result from init_pdb function - print more info about structure - refactor of printing structure info - Revert of 9fa8e7083cf30b5fda38f5816e903effeaa66701 refactor structure info printing more pretty print refactor code add parsing of dbi header add structure stabs for dbi stream add parsing of dbi_ex_headers add free for dbi stream finish parsing of dbg stream add stubs for streams from dbg stream add fpo parsing add free for fpo stream and do some refactor add parsing of gdata stream add parsing of pe stream add parsing of fpo new stream add fpo new stream add omap stream parsing add implementation of printing gvars add setting parameters for pdb_parser delete unused comments delete unused comments
2014-07-23 20:28:06 +00:00
#ifndef STREAM_FILE_H
#define STREAM_FILE_H
#include <stdio.h>
///////////////////////////////////////////////////////////////////////////////
/// size = -1 (default value)
/// pages_size = 0x1000 (default value)
////////////////////////////////////////////////////////////////////////////////
int init_r_stream_file(R_STREAM_FILE *stream_file, RBuffer *buf, int *pages,
Initial implementation of the PDB parser * Contains 78 rebased commits - add R_PDB struct - add implementation of init_pdb_parser() - add stub for init_pdb7_root_stream() - add init_pdb_stream() function - add functions for working with stream_file - do fixes for stream_file_read - add getting of sizes - save streams to rlist - add light implementation of read_root function - add stubs for parsed_pdb_stream_init - add parsing of pdb info stream - start of parsing tpi header - add stub for tpi stream - fix stream file read. +stubs for eFIELD_LIST - add parsing of lf_enumerate - add parsing of lf_nesttype() - add parsing of LF_METHOD - add parsing of lf_member - add some additional parsing of types - fix some memory leaks - add support of LF_METHOD and LF_MEMBER - add support of LF_NESTTYPE - add support of LF_ENUM - add parsing of lf_structure - add parsing of lf_pointer - start of lf_array implementation - back implementation of lf_array - add implementation of LF_MODIFIER - add implementaion of lf_arglist - add implementaion of lf_mfunction - add useful macros - add implementation of lf_procedure - add implementation of lf_union - add free of sval and printf name of sval - add implementation of LF_BITFIELD - add implementation of LF_CLASS - add implementation of LF_VTSHPAE - start of refactoring - finish refactor of the code - fix memory leak issues - some refactor of memory managment - fix memory managment - add supprot of ushort type - add function for printing type name and value - add API for getting leaf types members - refactor of SType and STypeInfO - add implementation of get_name/val/... for new types - fix cast in some function of getting name, val, etc - add stubs for resolving type - add pointers to function for getting types - add connections for types function pointers - add stub for printing structures - update memory manadgement and fix some problems in API for working with types - add process of result from init_pdb function - print more info about structure - refactor of printing structure info - Revert of 9fa8e7083cf30b5fda38f5816e903effeaa66701 refactor structure info printing more pretty print refactor code add parsing of dbi header add structure stabs for dbi stream add parsing of dbi_ex_headers add free for dbi stream finish parsing of dbg stream add stubs for streams from dbg stream add fpo parsing add free for fpo stream and do some refactor add parsing of gdata stream add parsing of pe stream add parsing of fpo new stream add fpo new stream add omap stream parsing add implementation of printing gvars add setting parameters for pdb_parser delete unused comments delete unused comments
2014-07-23 20:28:06 +00:00
int pages_amount, int size, int page_size);
// size by default = -1
///////////////////////////////////////////////////////////////////////////////
void stream_file_read(R_STREAM_FILE *stream_file, int size, char *res);
///////////////////////////////////////////////////////////////////////////////
void stream_file_seek(R_STREAM_FILE *stream_file, int offset, int whence);
///////////////////////////////////////////////////////////////////////////////
int stream_file_tell(R_STREAM_FILE *stream_file);
///////////////////////////////////////////////////////////////////////////////
void stream_file_get_data(R_STREAM_FILE *stream_file, char *data);
///////////////////////////////////////////////////////////////////////////////
void stream_file_get_size(R_STREAM_FILE *stream_file, int *data_size);
#endif // STREAM_FILE_H