Add /*<type>*/ comments everywhere (#2986)

Adds /*<type>*/ comments and a linter check from rz-bindgen to enforce
their existence and consistency

Also includes the following fixes made when adding the annotations:
* removed unused intern_table arguments in pyc_dis.c, pyc_dis.h, asm_pyc.c
* removed unused classes argument from place_nodes in agraph.c
* removed unused recurse and recurse_bb functions in canalysis.c
* removed unused vars field from RzPrint struct
* removed unused RzAnalysisType* structs from rz_analysis.h
* removed unused list field from RzEgg struct
* fixed bug in bp_plugin.c where duplication-checking logic iterates over the wrong list
* removed unused q_regs field from RzDebug struct
* removed unused backtrace field from RzDebugPlugin struct
* removed unused classes_list field from RzBinNXOObj struct
* removed unused methods_list and classes_list fields from RzBinZimgObj struct
This commit is contained in:
Dean 2022-09-11 01:04:53 -04:00 committed by GitHub
parent e3f72d8e72
commit 59b38e6efa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
303 changed files with 1188 additions and 1242 deletions

View file

@ -15,6 +15,7 @@ jobs:
outputs:
yaml: ${{ steps.filter.outputs.yaml }}
clang-format: ${{ steps.filter.outputs.clang-format }}
bindgen-linter: ${{ steps.filter.outputs.bindgen-linter }}
prettier: ${{ steps.filter.outputs.prettier }}
python: ${{ steps.filter.outputs.python }}
steps:
@ -27,6 +28,11 @@ jobs:
- '**.yml'
- '**.yaml'
- '.github/workflows/linter.yml'
bindgen-linter:
- '**.c'
- '**.h'
- '**.inc'
- '.github/workflows/linter.yml'
clang-format:
- '**.c'
- '**.h'
@ -59,6 +65,37 @@ jobs:
./librz/core/cmd_descs/cmd_descs_generate.py --output-dir /tmp ./librz/core/cmd_descs/*.yaml
diff /tmp/cmd_descs.c ./librz/core/cmd_descs/cmd_descs.c && diff /tmp/cmd_descs.h ./librz/core/cmd_descs/cmd_descs.h
bindgen-linter:
needs: changes
runs-on: ubuntu-22.04
if: ${{ needs.changes.outputs.bindgen-linter == 'true' }}
steps:
- name: Checkout rizin
uses: actions/checkout@v3
with:
path: rizin
- name: Checkout rz-bindgen
uses: actions/checkout@v3
with:
repository: rizinorg/rz-bindgen
path: rz-bindgen
- name: Install dependencies
run: |
sudo pip install meson ninja
sudo apt update
sudo apt install libclang-14-dev
- name: Build rizin
working-directory: rizin
run: |
meson setup build
ninja -C build
- name: Run rz-bindgen linter
run: |
python3 rz-bindgen/src/lint.py \
--clang-path "/usr/lib/llvm-14/lib" \
--clang-args "-resource-dir=$(clang -print-resource-dir) " \
--rizin-path rizin
clang-format:
needs: changes
runs-on: ubuntu-20.04

View file

@ -102,7 +102,7 @@ static char *read_string_val(char **nextline, const char *val, ut64 *linenum) {
return strdup(val);
}
RZ_API RzPVector *rz_test_load_cmd_test_file(const char *file) {
RZ_API RzPVector /*<RzCmdTest *>*/ *rz_test_load_cmd_test_file(const char *file) {
char *contents = rz_file_slurp(file, NULL);
if (!contents) {
eprintf("Failed to open file \"%s\"\n", file);
@ -310,7 +310,7 @@ static bool parse_asm_path(const char *path, RzStrConstPool *strpool, const char
return true;
}
RZ_API RzPVector *rz_test_load_asm_test_file(RzStrConstPool *strpool, const char *file) {
RZ_API RzPVector /*<RzAsmTest *>*/ *rz_test_load_asm_test_file(RzStrConstPool *strpool, const char *file) {
const char *arch;
const char *cpu;
int bits;
@ -479,7 +479,7 @@ RZ_API void rz_test_json_test_free(RzJsonTest *test) {
free(test);
}
RZ_API RzPVector *rz_test_load_json_test_file(const char *file) {
RZ_API RzPVector /*<RzJsonTest *>*/ *rz_test_load_json_test_file(const char *file) {
char *contents = rz_file_slurp(file, NULL);
if (!contents) {
eprintf("Failed to open file \"%s\"\n", file);

View file

@ -110,7 +110,7 @@ static char *convert_win_cmds(const char *cmds) {
}
#endif
static RzSubprocessOutput *run_rz_test(RzTestRunConfig *config, ut64 timeout_ms, const char *cmds, RzList *files, RzList *extra_args, bool load_plugins, RzTestCmdRunner runner, void *user) {
static RzSubprocessOutput *run_rz_test(RzTestRunConfig *config, ut64 timeout_ms, const char *cmds, RzList /*<char *>*/ *files, RzList /*<char *>*/ *extra_args, bool load_plugins, RzTestCmdRunner runner, void *user) {
RzPVector args;
rz_pvector_init(&args, NULL);
rz_pvector_push(&args, "-escr.utf8=0");

View file

@ -42,22 +42,22 @@ typedef struct rz_test_state_t {
RzThreadCond *cond; // signaled from workers to main thread to update status
RzThreadLock *lock; // protects everything below
HtPP *path_left; // char * (path to test file) => RzTestFileCounts *
RzPVector completed_paths;
RzPVector /*<char *>*/ completed_paths;
ut64 ok_count;
ut64 xx_count;
ut64 br_count;
ut64 fx_count;
RzPVector queue;
RzPVector results;
RzPVector /*<RzTest *>*/ queue;
RzPVector /*<RzTestResultInfo *>*/ results;
} RzTestState;
static void *worker_th(RzTestState *state);
static void print_state(RzTestState *state, ut64 prev_completed);
static void print_log(RzTestState *state, ut64 prev_completed, ut64 prev_paths_completed);
static void interact(RzTestState *state);
static bool interact_fix(RzTestResultInfo *result, RzPVector *fixup_results);
static void interact_break(RzTestResultInfo *result, RzPVector *fixup_results);
static void interact_commands(RzTestResultInfo *result, RzPVector *fixup_results);
static bool interact_fix(RzTestResultInfo *result, RzPVector /*<RzTestResultInfo *>*/ *fixup_results);
static void interact_break(RzTestResultInfo *result, RzPVector /*<RzTestResultInfo *>*/ *fixup_results);
static void interact_commands(RzTestResultInfo *result, RzPVector /*<RzTestResultInfo *>*/ *fixup_results);
static int help(bool verbose) {
printf("Usage: rz-test [-qvVnL] [-j threads] [test file/dir | @test-type]\n");
@ -1075,7 +1075,7 @@ static char *replace_lines(const char *src, size_t from, size_t to, const char *
}
// After editing a test, fix the line numbers previously saved for all the other tests
static void fixup_tests(RzPVector *results, const char *edited_file, ut64 start_line, st64 delta) {
static void fixup_tests(RzPVector /*<RzTestResultInfo *>*/ *results, const char *edited_file, ut64 start_line, st64 delta) {
void **it;
rz_pvector_foreach (results, it) {
RzTestResultInfo *result = *it;
@ -1133,7 +1133,7 @@ static void save_test_file_for_fix(const char *path, const char *newc) {
}
}
static char *replace_cmd_kv(const char *path, const char *content, size_t line_begin, size_t line_end, const char *key, const char *value, RzPVector *fixup_results) {
static char *replace_cmd_kv(const char *path, const char *content, size_t line_begin, size_t line_end, const char *key, const char *value, RzPVector /*<RzTestResultInfo *>*/ *fixup_results) {
char *kv = format_cmd_kv(key, value);
if (!kv) {
return NULL;
@ -1153,7 +1153,7 @@ static char *replace_cmd_kv(const char *path, const char *content, size_t line_b
return newc;
}
static void replace_cmd_kv_file(const char *path, ut64 line_begin, ut64 line_end, const char *key, const char *value, RzPVector *fixup_results) {
static void replace_cmd_kv_file(const char *path, ut64 line_begin, ut64 line_end, const char *key, const char *value, RzPVector /*<RzTestResultInfo *>*/ *fixup_results) {
char *content = read_test_file_for_fix(path);
if (!content) {
return;
@ -1167,7 +1167,7 @@ static void replace_cmd_kv_file(const char *path, ut64 line_begin, ut64 line_end
free(newc);
}
static bool interact_fix_cmd(RzTestResultInfo *result, RzPVector *fixup_results) {
static bool interact_fix_cmd(RzTestResultInfo *result, RzPVector /*<RzTestResultInfo *>*/ *fixup_results) {
assert(result->test->type == RZ_TEST_TYPE_CMD);
if (result->run_failed || result->proc_out->ret != 0) {
return false;
@ -1279,7 +1279,7 @@ static bool interact_fix_asm(RzTestResultInfo *result) {
return true;
}
static bool interact_fix(RzTestResultInfo *result, RzPVector *fixup_results) {
static bool interact_fix(RzTestResultInfo *result, RzPVector /*<RzTestResultInfo *>*/ *fixup_results) {
switch (result->test->type) {
case RZ_TEST_TYPE_CMD:
return interact_fix_cmd(result, fixup_results);
@ -1290,7 +1290,7 @@ static bool interact_fix(RzTestResultInfo *result, RzPVector *fixup_results) {
}
}
static void interact_break_cmd(RzTestResultInfo *result, RzPVector *fixup_results) {
static void interact_break_cmd(RzTestResultInfo *result, RzPVector /*<RzTestResultInfo *>*/ *fixup_results) {
assert(result->test->type == RZ_TEST_TYPE_CMD);
RzCmdTest *test = result->test->cmd_test;
ut64 line_begin;
@ -1311,7 +1311,7 @@ static void interact_break_asm(RzTestResultInfo *result) {
test->mode | RZ_ASM_TEST_MODE_BROKEN, test->disasm, test->bytes, test->bytes_size, test->offset, test->il);
}
static void interact_break(RzTestResultInfo *result, RzPVector *fixup_results) {
static void interact_break(RzTestResultInfo *result, RzPVector /*<RzTestResultInfo *>*/ *fixup_results) {
switch (result->test->type) {
case RZ_TEST_TYPE_CMD:
interact_break_cmd(result, fixup_results);
@ -1324,7 +1324,7 @@ static void interact_break(RzTestResultInfo *result, RzPVector *fixup_results) {
}
}
static void interact_commands(RzTestResultInfo *result, RzPVector *fixup_results) {
static void interact_commands(RzTestResultInfo *result, RzPVector /*<RzTestResultInfo *>*/ *fixup_results) {
assert(result->test->type == RZ_TEST_TYPE_CMD);
RzCmdTest *test = result->test->cmd_test;
if (!test->cmds.value) {

View file

@ -135,7 +135,7 @@ typedef struct rz_test_test_t {
} RzTest;
typedef struct rz_test_test_database_t {
RzPVector tests;
RzPVector /*<RzTest *>*/ tests;
RzStrConstPool strpool;
} RzTestDatabase;
@ -179,15 +179,15 @@ typedef struct rz_test_test_result_info_t {
RZ_API RzCmdTest *rz_test_cmd_test_new(void);
RZ_API void rz_test_cmd_test_free(RzCmdTest *test);
RZ_API RzPVector *rz_test_load_cmd_test_file(const char *file);
RZ_API RzPVector /*<RzCmdTest *>*/ *rz_test_load_cmd_test_file(const char *file);
RZ_API RzAsmTest *rz_test_asm_test_new(void);
RZ_API void rz_test_asm_test_free(RzAsmTest *test);
RZ_API RzPVector *rz_test_load_asm_test_file(RzStrConstPool *strpool, const char *file);
RZ_API RzPVector /*<RzAsmTest *>*/ *rz_test_load_asm_test_file(RzStrConstPool *strpool, const char *file);
RZ_API RzJsonTest *rz_test_json_test_new(void);
RZ_API void rz_test_json_test_free(RzJsonTest *test);
RZ_API RzPVector *rz_test_load_json_test_file(const char *file);
RZ_API RzPVector /*<RzJsonTest *>*/ *rz_test_load_json_test_file(const char *file);
RZ_API RzTestDatabase *rz_test_test_database_new(void);
RZ_API void rz_test_test_database_free(RzTestDatabase *db);

View file

@ -408,7 +408,7 @@ RZ_API bool rz_analysis_block_successor_addrs_foreach(RzAnalysisBlock *block, Rz
typedef struct rz_analysis_block_recurse_context_t {
RzAnalysis *analysis;
RzPVector /*<RzAnalysisBlock>*/ to_visit;
RzPVector /*<RzAnalysisBlock *>*/ to_visit;
HtUP *visited;
} RzAnalysisBlockRecurseContext;
@ -486,7 +486,7 @@ beach:
typedef struct {
RzAnalysisBlock *bb;
RzListIter *switch_it;
RzListIter /*<RzAnalysisCaseOp *>*/ *switch_it;
} RecurseDepthFirstCtx;
RZ_API bool rz_analysis_block_recurse_depth_first(RzAnalysisBlock *block, RzAnalysisBlockCb cb, RZ_NULLABLE RzAnalysisBlockCb on_exit, void *user) {
@ -601,8 +601,8 @@ typedef struct {
RzAnalysis *analysis;
RzAnalysisBlock *cur_parent;
ut64 dst;
RzPVector /*<RzAnalysisBlock>*/ *next_visit; // accumulate block of the next level in the tree
HtUP /*<RzAnalysisBlock>*/ *visited; // maps addrs to their previous block (or NULL for entry)
RzPVector /*<RzAnalysisBlock *>*/ *next_visit; // accumulate block of the next level in the tree
HtUP /*<RzAnalysisBlock *>*/ *visited; // maps addrs to their previous block (or NULL for entry)
} PathContext;
static bool shortest_path_successor_cb(ut64 addr, void *user) {

View file

@ -994,7 +994,7 @@ static const char *get_dwarf_reg_name(RZ_NONNULL char *arch, int reg_num, Variab
return "unsupported_reg";
}
static RzBinDwarfLocRange *find_largest_loc_range(RzList *loc_list) {
static RzBinDwarfLocRange *find_largest_loc_range(RzList /*<RzBinDwarfLocRange *>*/ *loc_list) {
RzBinDwarfLocRange *largest = NULL;
ut64 max_range_size = 0;
RzListIter *iter;

View file

@ -556,7 +556,7 @@ static inline void set_bb_branches(RZ_OUT RzAnalysisBlock *bb, const ut64 jump,
* \param tasks The task list to append the new task items to.
* \return RzAnalysisBBEndCause Cause a basic block ended.
*/
static RzAnalysisBBEndCause run_basic_block_analysis(RzAnalysisTaskItem *item, RzVector *tasks) {
static RzAnalysisBBEndCause run_basic_block_analysis(RzAnalysisTaskItem *item, RzVector /*<RzAnalysisTaskItem>*/ *tasks) {
rz_return_val_if_fail(item && tasks, RZ_ANALYSIS_RET_ERROR);
RzAnalysis *analysis = item->fcn->analysis;
RzAnalysisFunction *fcn = item->fcn;
@ -2334,7 +2334,7 @@ static void clear_bb_vars(RzAnalysisFunction *fcn, RzAnalysisBlock *bb, ut64 fro
}
}
static void update_analysis(RzAnalysis *analysis, RzList *fcns, HtUP *reachable) {
static void update_analysis(RzAnalysis *analysis, RzList /*<RzAnalysisFunction *>*/ *fcns, HtUP *reachable) {
RzListIter *it, *it2, *tmp;
RzAnalysisFunction *fcn;
bool old_jmpmid = analysis->opt.jmpmid;
@ -2378,7 +2378,7 @@ static void update_analysis(RzAnalysis *analysis, RzList *fcns, HtUP *reachable)
analysis->opt.jmpmid = old_jmpmid;
}
static void calc_reachable_and_remove_block(RzList *fcns, RzAnalysisFunction *fcn, RzAnalysisBlock *bb, HtUP *reachable) {
static void calc_reachable_and_remove_block(RzList /*<RzAnalysisFunction *>*/ *fcns, RzAnalysisFunction *fcn, RzAnalysisBlock *bb, HtUP *reachable) {
clear_bb_vars(fcn, bb, bb->addr, bb->addr + bb->size);
if (!rz_list_contains(fcns, fcn)) {
rz_list_append(fcns, fcn);

View file

@ -50,7 +50,7 @@ typedef struct {
RzAnalysisMetaType type;
const RzSpace *space;
RzPVector /*RzIntervalNode*/ *result;
RzPVector /*<RzIntervalNode *>*/ *result;
} CollectCtx;
static bool collect_nodes_cb(RzIntervalNode *node, void *user) {
@ -61,7 +61,7 @@ static bool collect_nodes_cb(RzIntervalNode *node, void *user) {
return true;
}
static RzPVector *collect_nodes_at(RzAnalysis *analysis, RzAnalysisMetaType type, RZ_NULLABLE const RzSpace *space, ut64 addr) {
static RzPVector /*<RzIntervalNode *>*/ *collect_nodes_at(RzAnalysis *analysis, RzAnalysisMetaType type, RZ_NULLABLE const RzSpace *space, ut64 addr) {
CollectCtx ctx = {
.type = type,
.space = space,
@ -74,7 +74,7 @@ static RzPVector *collect_nodes_at(RzAnalysis *analysis, RzAnalysisMetaType type
return ctx.result;
}
static RzPVector *collect_nodes_in(RzAnalysis *analysis, RzAnalysisMetaType type, RZ_NULLABLE const RzSpace *space, ut64 addr) {
static RzPVector /*<RzIntervalNode *>*/ *collect_nodes_in(RzAnalysis *analysis, RzAnalysisMetaType type, RZ_NULLABLE const RzSpace *space, ut64 addr) {
CollectCtx ctx = {
.type = type,
.space = space,
@ -87,7 +87,7 @@ static RzPVector *collect_nodes_in(RzAnalysis *analysis, RzAnalysisMetaType type
return ctx.result;
}
static RzPVector *collect_nodes_intersect(RzAnalysis *analysis, RzAnalysisMetaType type, RZ_NULLABLE const RzSpace *space, ut64 start, ut64 end) {
static RzPVector /*<RzIntervalNode *>*/ *collect_nodes_intersect(RzAnalysis *analysis, RzAnalysisMetaType type, RZ_NULLABLE const RzSpace *space, ut64 start, ut64 end) {
CollectCtx ctx = {
.type = type,
.space = space,

View file

@ -2349,7 +2349,7 @@ static ut8 *analysis_mask(RzAnalysis *analysis, int size, const ut8 *data, ut64
return ret;
}
static RzList *analysis_preludes(RzAnalysis *analysis) {
static RzList /*<RzSearchKeyword *>*/ *analysis_preludes(RzAnalysis *analysis) {
#define KW(d, ds, m, ms) rz_list_append(l, rz_search_keyword_new((const ut8 *)d, ds, (const ut8 *)m, ms, NULL))
RzList *l = rz_list_newf((RzListFree)rz_search_keyword_free);
switch (analysis->bits) {

View file

@ -1215,7 +1215,7 @@ static int archinfo(RzAnalysis *a, RzAnalysisInfoType query) {
}
}
static RzList *analysis_preludes(RzAnalysis *analysis) {
static RzList /*<RzSearchKeyword *>*/ *analysis_preludes(RzAnalysis *analysis) {
#define KW(d, ds, m, ms) rz_list_append(l, rz_search_keyword_new((const ut8 *)d, ds, (const ut8 *)m, ms, NULL))
RzList *l = rz_list_newf((RzListFree)rz_search_keyword_free);
KW("\x27\xbd\x00", 3, NULL, 0);

View file

@ -1633,7 +1633,7 @@ static int archinfo(RzAnalysis *a, RzAnalysisInfoType query) {
}
}
static RzList *analysis_preludes(RzAnalysis *analysis) {
static RzList /*<RzSearchKeyword *>*/ *analysis_preludes(RzAnalysis *analysis) {
#define KW(d, ds, m, ms) rz_list_append(l, rz_search_keyword_new((const ut8 *)d, ds, (const ut8 *)m, ms, NULL))
RzList *l = rz_list_newf((RzListFree)rz_search_keyword_free);
KW("\x7c\x08\x02\xa6", 4, NULL, 0);

View file

@ -39,7 +39,7 @@ static char *get_reg_profile(RzAnalysis *analysis) {
);
}
static RzList *get_pyc_code_obj(RzAnalysis *analysis) {
static RzList /*<RzList<void *> *>*/ *get_pyc_code_obj(RzAnalysis *analysis) {
RzBin *b = analysis->binb.bin;
RzBinPlugin *plugin = b->cur && b->cur->o ? b->cur->o->plugin : NULL;
bool is_pyc = (plugin && strcmp(plugin->name, "pyc") == 0);

View file

@ -555,7 +555,7 @@ static char *get_reg_profile(RzAnalysis *analysis) {
return strdup(p);
}
static RzList *analysis_preludes(RzAnalysis *analysis) {
static RzList /*<RzSearchKeyword *>*/ *analysis_preludes(RzAnalysis *analysis) {
#define KW(d, ds, m, ms) rz_list_append(l, rz_search_keyword_new((const ut8 *)d, ds, (const ut8 *)m, ms, NULL))
RzList *l = rz_list_newf((RzListFree)rz_search_keyword_free);
KW("\x80\x07", 2, "\xf0\xff", 2);

View file

@ -3705,7 +3705,7 @@ static int archinfo(RzAnalysis *a, RzAnalysisInfoType query) {
}
}
static RzList *analysis_preludes(RzAnalysis *analysis) {
static RzList /*<RzSearchKeyword *>*/ *analysis_preludes(RzAnalysis *analysis) {
#define KW(d, ds, m, ms) rz_list_append(l, rz_search_keyword_new((const ut8 *)d, ds, (const ut8 *)m, ms, NULL))
RzList *l = rz_list_newf((RzListFree)rz_search_keyword_free);
switch (analysis->bits) {

View file

@ -36,7 +36,7 @@ static ReflineEnd *refline_end_new(ut64 val, bool is_from, RzAnalysisRefline *re
return re;
}
static bool add_refline(RzList *list, RzList *sten, ut64 addr, ut64 to, int *idx) {
static bool add_refline(RzList /*<RzAnalysisRefline *>*/ *list, RzList /*<ReflineEnd *>*/ *sten, ut64 addr, ut64 to, int *idx) {
ReflineEnd *re1, *re2;
RzAnalysisRefline *item = RZ_NEW0(RzAnalysisRefline);
if (!item) {

View file

@ -153,7 +153,7 @@ static bool rtti_msvc_read_base_class_descriptor(RVTableContext *context, ut64 a
return true;
}
static RzList *rtti_msvc_read_base_class_array(RVTableContext *context, ut32 num_base_classes, ut64 base, ut32 offset) {
static RzList /*<rtti_base_class_descriptor *>*/ *rtti_msvc_read_base_class_array(RVTableContext *context, ut32 num_base_classes, ut64 base, ut32 offset) {
if (base == UT64_MAX || offset == UT32_MAX || num_base_classes == UT32_MAX) {
return NULL;
}
@ -632,8 +632,8 @@ typedef struct recovery_complete_object_locator_t {
rtti_complete_object_locator col;
RecoveryTypeDescriptor *td;
rtti_class_hierarchy_descriptor chd;
RzList *bcd; // <rtti_base_class_descriptor>
RzVector base_td; // <RecoveryBaseDescriptor>
RzList /*<rtti_base_class_descriptor *>*/ *bcd;
RzVector /*<RecoveryBaseDescriptor>*/ base_td;
} RecoveryCompleteObjectLocator;
RecoveryCompleteObjectLocator *recovery_complete_object_locator_new() {
@ -685,10 +685,10 @@ void recovery_type_descriptor_free(RecoveryTypeDescriptor *td) {
typedef struct rtti_msvc_analysis_context_t {
RVTableContext *vt_context;
RzPVector vtables; // <RVTableInfo>
RzPVector complete_object_locators; // <RecoveryCompleteObjectLocator>
RzPVector /*<RVTableInfo *>*/ vtables;
RzPVector /*<RecoveryCompleteObjectLocator *>*/ complete_object_locators;
HtUP *addr_col; // <ut64, RecoveryCompleteObjectLocator *>
RzPVector type_descriptors; // <RecoveryTypeDescriptor>
RzPVector /*<RecoveryTypeDescriptor *>*/ type_descriptors;
HtUP *addr_td; // <ut64, RecoveryTypeDescriptor *>
HtUP *col_td_classes; // <ut64, char *> contains already recovered classes for col (or td) addresses
} RRTTIMSVCAnalContext;
@ -852,7 +852,7 @@ static void recovery_apply_vtable(RVTableContext *context, const char *class_nam
static const char *recovery_apply_complete_object_locator(RRTTIMSVCAnalContext *context, RecoveryCompleteObjectLocator *col);
static const char *recovery_apply_type_descriptor(RRTTIMSVCAnalContext *context, RecoveryTypeDescriptor *td);
static void recovery_apply_bases(RRTTIMSVCAnalContext *context, const char *class_name, RzVector *base_descs) {
static void recovery_apply_bases(RRTTIMSVCAnalContext *context, const char *class_name, RzVector /*<RecoveryBaseDescriptor>*/ *base_descs) {
RecoveryBaseDescriptor *base_desc;
rz_vector_foreach(base_descs, base_desc) {
RecoveryTypeDescriptor *base_td = base_desc->td;

View file

@ -15,7 +15,7 @@ static RzType *parse_type_modifier(const RzTypeDB *typedb, RzPdbTpiStream *strea
static RzType *parse_type_pointer(const RzTypeDB *typedb, RzPdbTpiStream *stream, RzPdbTpiType *type, char *name);
static RzType *parse_type_procedure(const RzTypeDB *typedb, RzPdbTpiStream *stream, RzPdbTpiType *type, char *name);
static RzType *parse_type_array(const RzTypeDB *typedb, RzPdbTpiStream *stream, RzPdbTpiType *type);
static void parse_type_arglist(const RzTypeDB *typedb, RzPdbTpiStream *stream, RzPdbTpiType *arglist, RzPVector *vec);
static void parse_type_arglist(const RzTypeDB *typedb, RzPdbTpiStream *stream, RzPdbTpiType *arglist, RzPVector /*<RzCallableArg *>*/ *vec);
static RzType *parse_type_mfunction(const RzTypeDB *typedb, RzPdbTpiStream *stream, RzPdbTpiType *type_info, char *name);
static RzType *parse_type_onemethod(const RzTypeDB *typedb, RzPdbTpiStream *stream, RzPdbTpiType *type_info);
static RzType *parse_type_member(const RzTypeDB *typedb, RzPdbTpiStream *stream, RzPdbTpiType *type_info, char *name);
@ -171,7 +171,7 @@ static RzType *parse_type(const RzTypeDB *typedb, RzPdbTpiStream *stream, RzPdbT
}
}
static void parse_type_arglist(const RzTypeDB *typedb, RzPdbTpiStream *stream, RzPdbTpiType *arglist, RzPVector *vec) {
static void parse_type_arglist(const RzTypeDB *typedb, RzPdbTpiStream *stream, RzPdbTpiType *arglist, RzPVector /*<RzCallableArg *>*/ *vec) {
rz_return_if_fail(arglist && typedb && vec);
Tpi_LF_Arglist *lf_arglist = arglist->type_data;
if (!vec) {

View file

@ -102,7 +102,7 @@ RZ_API RZ_OWN RzList /*<RzType *>*/ *rz_analysis_type_links(RzAnalysis *analysis
struct TListMeta {
const RzTypeDB *typedb;
RzList *l;
RzList /*<RzTypePath *>*/ *l;
ut64 addr;
ut64 offset;
};

View file

@ -590,7 +590,7 @@ RZ_API int rz_analysis_var_count(RzAnalysis *a, RzAnalysisFunction *fcn, int kin
return count[type];
}
static bool var_add_structure_fields_to_list(RzAnalysis *a, RzAnalysisVar *av, RzList *list) {
static bool var_add_structure_fields_to_list(RzAnalysis *a, RzAnalysisVar *av, RzList /*<RzAnalysisVarField *>*/ *list) {
if (av->type->kind != RZ_TYPE_KIND_IDENTIFIER) {
return false;
}
@ -1114,7 +1114,7 @@ RZ_API void rz_analysis_extract_vars(RzAnalysis *analysis, RzAnalysisFunction *f
}
}
static RzList *var_generate_list(RzAnalysis *a, RzAnalysisFunction *fcn, int kind) {
static RzList /*<RzAnalysisVar *>*/ *var_generate_list(RzAnalysis *a, RzAnalysisFunction *fcn, int kind) {
if (!a || !fcn) {
return NULL;
}

View file

@ -193,7 +193,7 @@ RZ_API RZ_BORROW RzAnalysisVarGlobal *rz_analysis_var_global_get_byname(RzAnalys
}
struct list_addr {
RzList /* <RzAnalysisVarGlobal> */ *list;
RzList /*<RzAnalysisVarGlobal *>*/ *list;
ut64 addr;
};

View file

@ -80,11 +80,11 @@ static int ref_cmp(const RzAnalysisXRef *a, const RzAnalysisXRef *b) {
return 0;
}
static void sortxrefs(RzList *list) {
static void sortxrefs(RzList /*<RzAnalysisXRef *>*/ *list) {
rz_list_sort(list, (RzListComparator)ref_cmp);
}
static void listxrefs(HtUP *m, ut64 addr, RzList *list) {
static void listxrefs(HtUP *m, ut64 addr, RzList /*<RzAnalysisXRef *>*/ *list) {
if (addr == UT64_MAX) {
ht_up_foreach(m, mylistrefs_cb, list);
} else {
@ -275,7 +275,7 @@ RZ_API ut64 rz_analysis_xrefs_count(RzAnalysis *analysis) {
return ret;
}
static RzList *fcn_get_refs(RzAnalysisFunction *fcn, HtUP *ht) {
static RzList /*<RzAnalysisXRef *>*/ *fcn_get_refs(RzAnalysisFunction *fcn, HtUP *ht) {
RzListIter *iter;
RzAnalysisBlock *bb;
RzList *list = rz_analysis_xref_list_new();

View file

@ -127,7 +127,7 @@ typedef struct {
* The container holds the instructions or sub-instructions.
*/
typedef struct {
RzList /* HexInsnContainer */ *bin; ///< Descending by address sorted list of instruction containers.
RzList /*<HexInsnContainer *>*/ *bin; ///< Descending by address sorted list of instruction containers.
bool last_instr_present; ///< Has an instruction the parsing bits 0b11 set (is last instruction).
bool is_valid; ///< Is it a valid packet? Do we know which instruction is the first?
ut32 hw_loop0_addr; ///< Start address of hardware loop 0
@ -151,7 +151,7 @@ typedef struct {
RzList *const_ext_l; // Constant extender values.
RzAsm rz_asm; // Copy of RzAsm struct. Holds certain flags of interesed for disassembly formatting.
RzConfig *cfg;
RzPVector /* RzAsmTokenPattern* */ *token_patterns; ///< PVector with token patterns. Priority ordered.
RzPVector /*<RzAsmTokenPattern *>*/ *token_patterns; ///< PVector with token patterns. Priority ordered.
} HexState;
typedef enum {
@ -603,4 +603,4 @@ RZ_API void hex_extend_op(HexState *state, RZ_INOUT HexOp *op, const bool set_ne
int resolve_n_register(const int reg_num, const ut32 addr, const HexPkt *p);
int hexagon_disasm_instruction(HexState *state, const ut32 hi_u32, RZ_INOUT HexInsnContainer *hi, HexPkt *pkt);
#endif
#endif

View file

@ -47,7 +47,7 @@ typedef struct {
ut8 have_argument;
ut8 bits;
void *(*version_sig)();
RzList *opcode_arg_fmt;
RzList /*<pyc_arg_fmt *>*/ *opcode_arg_fmt;
pyc_opcode_object *opcodes;
} pyc_opcodes;

View file

@ -6,9 +6,9 @@
static const char *cmp_op[] = { "<", "<=", "==", "!=", ">", ">=", "in", "not in", "is", "is not", "exception match", "BAD" };
static const char *parse_arg(pyc_opcode_object *op, ut32 oparg, RzList *names, RzList *consts, RzList *varnames, RzList *interned_table, RzList *freevars, RzList *cellvars, RzList *opcode_arg_fmt);
static const char *parse_arg(pyc_opcode_object *op, ut32 oparg, RzList /*<pyc_object *>*/ *names, RzList /*<pyc_object *>*/ *consts, RzList /*<pyc_object *>*/ *varnames, RzList /*<pyc_object *>*/ *freevars, RzList /*<pyc_object *>*/ *cellvars, RzList /*<pyc_arg_fmt *>*/ *opcode_arg_fmt);
int rz_pyc_disasm(RzAsmOp *opstruct, const ut8 *code, RzList *cobjs, RzList *interned_table, ut64 pc, pyc_opcodes *ops) {
int rz_pyc_disasm(RzAsmOp *opstruct, const ut8 *code, RzList /*<pyc_code_object *>*/ *cobjs, ut64 pc, pyc_opcodes *ops) {
pyc_code_object *cobj = NULL, *t = NULL;
ut32 i = 0, oparg;
st64 start_offset, end_offset;
@ -46,7 +46,7 @@ int rz_pyc_disasm(RzAsmOp *opstruct, const ut8 *code, RzList *cobjs, RzList *int
oparg = code[i];
i += 1;
}
const char *arg = parse_arg(&ops->opcodes[op], oparg, names, consts, varnames, interned_table, freevars, cellvars, ops->opcode_arg_fmt);
const char *arg = parse_arg(&ops->opcodes[op], oparg, names, consts, varnames, freevars, cellvars, ops->opcode_arg_fmt);
if (arg != NULL) {
rz_strbuf_appendf(&opstruct->buf_asm, "%20s", arg);
free((char *)arg);
@ -60,9 +60,9 @@ int rz_pyc_disasm(RzAsmOp *opstruct, const ut8 *code, RzList *cobjs, RzList *int
return 0;
}
static char *generic_array_obj_to_string(RzList *l);
static char *generic_array_obj_to_string(RzList /*<pyc_object *>*/ *l);
static const char *parse_arg(pyc_opcode_object *op, ut32 oparg, RzList *names, RzList *consts, RzList *varnames, RzList *interned_table, RzList *freevars, RzList *cellvars, RzList *opcode_arg_fmt) {
static const char *parse_arg(pyc_opcode_object *op, ut32 oparg, RzList /*<pyc_object *>*/ *names, RzList /*<pyc_object *>*/ *consts, RzList /*<pyc_object *>*/ *varnames, RzList /*<pyc_object *>*/ *freevars, RzList /*<pyc_object *>*/ *cellvars, RzList /*<pyc_arg_fmt *>*/ *opcode_arg_fmt) {
pyc_object *t = NULL;
const char *arg = NULL;
pyc_code_object *tmp_cobj;
@ -151,7 +151,7 @@ static const char *parse_arg(pyc_opcode_object *op, ut32 oparg, RzList *names, R
return arg;
}
static char *generic_array_obj_to_string(RzList *l) {
static char *generic_array_obj_to_string(RzList /*<pyc_object *>*/ *l) {
RzListIter *iter = NULL;
pyc_object *e = NULL;

View file

@ -14,6 +14,6 @@
#include "../../../bin/format/pyc/marshal.h"
int rz_pyc_disasm(RzAsmOp *op, const ut8 *buf, RzList *cobjs, RzList *interned_table, ut64 pc, pyc_opcodes *opcodes);
int rz_pyc_disasm(RzAsmOp *op, const ut8 *buf, RzList /*<py_code_objects *>*/ *cobjs, ut64 pc, pyc_opcodes *opcodes);
#endif

View file

@ -1188,7 +1188,7 @@ RZ_API char *rz_asm_describe(RzAsm *a, const char *str) {
return (a && a->pair) ? sdb_get(a->pair, str, 0) : NULL;
}
RZ_API RzList *rz_asm_get_plugins(RzAsm *a) {
RZ_API RzList /*<RzAsmPlugin *>*/ *rz_asm_get_plugins(RzAsm *a) {
return a->plugins;
}
@ -1766,4 +1766,4 @@ RZ_API RZ_OWN RzAsmParseParam *rz_asm_get_parse_param(RZ_NULLABLE const RzReg *r
param->reg_sets = reg->regset;
param->ana_op_type = ana_op_type;
return param;
}
}

View file

@ -19,7 +19,7 @@
#include "hexagon_insn.h"
#include "hexagon_arch.h"
static RZ_OWN RzPVector /* RzAsmTokenPattern */ *get_token_patterns() {
static RZ_OWN RzPVector /*<RzAsmTokenPattern *>*/ *get_token_patterns() {
static RzPVector *pvec = NULL;
if (pvec) {
return pvec;
@ -111,7 +111,7 @@ static RZ_OWN RzPVector /* RzAsmTokenPattern */ *get_token_patterns() {
return pvec;
}
static void compile_token_patterns(RZ_INOUT RzPVector /* RzAsmTokenPattern* */ *patterns) {
static void compile_token_patterns(RZ_INOUT RzPVector /*<RzAsmTokenPattern *>*/ *patterns) {
rz_return_if_fail(patterns);
void **it;

View file

@ -26,11 +26,9 @@ static int disassemble(RzAsm *a, RzAsmOp *opstruct, const ut8 *buf, int len) {
}
RzList *cobjs = NULL;
RzList *interned_table = NULL;
if (shared) {
cobjs = rz_list_get_n(shared, 0);
interned_table = rz_list_get_n(shared, 1);
}
if (!opcodes_cache || !pyc_opcodes_equal(opcodes_cache, a->cpu)) {
@ -41,7 +39,7 @@ static int disassemble(RzAsm *a, RzAsmOp *opstruct, const ut8 *buf, int len) {
}
opcodes_cache->bits = a->bits;
}
int r = rz_pyc_disasm(opstruct, buf, cobjs, interned_table, pc, opcodes_cache);
int r = rz_pyc_disasm(opstruct, buf, cobjs, pc, opcodes_cache);
opstruct->size = r;
return r;
}

View file

@ -368,7 +368,7 @@ RZ_API bool rz_bin_file_close(RzBin *bin, int bd) {
return false;
}
static inline bool add_file_hash(RzHashCfg *md, const char *name, RzList *list) {
static inline bool add_file_hash(RzHashCfg *md, const char *name, RzList /*<RzBinFileHash *>*/ *list) {
char hash[128];
const ut8 *digest = NULL;
RzHashSize digest_size = 0;

View file

@ -21,7 +21,7 @@ typedef struct shared_data_t {
typedef struct search_thread_data_t {
RzThreadQueue *intervals;
RzList *results;
RzList /*<RzBinString *>*/ *results;
size_t min_length;
RzStrEnc encoding;
bool check_ascii_freq;
@ -73,7 +73,7 @@ static RzBinString *to_bin_string(RzDetectedString *src) {
return dst;
}
static RzList *string_scan_range(SearchThreadData *std, const ut64 paddr, const ut64 size) {
static RzList /*<RzDetectedString *>*/ *string_scan_range(SearchThreadData *std, const ut64 paddr, const ut64 size) {
RzList *found = rz_list_newf((RzListFree)free);
if (!found) {
return NULL;
@ -238,7 +238,7 @@ static int string_compare_sort(const RzBinString *a, const RzBinString *b) {
return 0;
}
static void string_scan_range_cfstring(RzBinFile *bf, HtUP *strings_db, RzList *results, const RzBinSection *section) {
static void string_scan_range_cfstring(RzBinFile *bf, HtUP *strings_db, RzList /*<RzBinString *>*/ *results, const RzBinSection *section) {
// load objc/swift strings from CFstring table section
RzBinObject *o = bf->o;
@ -290,7 +290,7 @@ static void string_scan_range_cfstring(RzBinFile *bf, HtUP *strings_db, RzList *
free(sbuf);
}
static void scan_cfstring_table(RzBinFile *bf, HtUP *strings_db, RzList *results, ut64 max_interval) {
static void scan_cfstring_table(RzBinFile *bf, HtUP *strings_db, RzList /*<RzBinString *>*/ *results, ut64 max_interval) {
RzListIter *iter = NULL;
RzBinSection *section = NULL;
RzBinObject *o = bf->o;

View file

@ -36,7 +36,7 @@ RZ_API void rz_bin_string_decode_base64(RZ_NONNULL RzBinString *bstr) {
bstr->type = RZ_STRING_ENC_BASE64;
}
static void bin_object_decode_all_base64_strings(RzList *strings) {
static void bin_object_decode_all_base64_strings(RzList /*<RzBinString *>*/ *strings) {
rz_return_if_fail(strings);
RzBinString *bstr;
@ -240,7 +240,7 @@ static char *swiftField(const char *dn, const char *cn) {
return NULL;
}
static RzList *classes_from_symbols(RzBinFile *bf) {
static RzList /*<RzBinClass *>*/ *classes_from_symbols(RzBinFile *bf) {
RzBinSymbol *sym;
RzListIter *iter;
rz_list_foreach (bf->o->symbols, iter, sym) {
@ -334,7 +334,7 @@ RZ_IPI RzBinObject *rz_bin_object_new(RzBinFile *bf, RzBinPlugin *plugin, RzBinO
return o;
}
static void filter_classes(RzBinFile *bf, RzList *list) {
static void filter_classes(RzBinFile *bf, RzList /*<RzBinClass *>*/ *list) {
HtPU *db = ht_pu_new0();
HtPP *ht = ht_pp_new0();
RzListIter *iter, *iter2;
@ -751,7 +751,7 @@ RZ_API const RzList /*<RzBinSection *>*/ *rz_bin_object_get_sections_all(RZ_NONN
return obj->sections;
}
static RzList *get_sections_or_segment(RzBinObject *obj, bool is_segment) {
static RzList /*<RzBinSection *>*/ *get_sections_or_segment(RzBinObject *obj, bool is_segment) {
RzList *res = rz_list_new();
if (!res) {
return NULL;

View file

@ -937,7 +937,7 @@ RZ_API bool rz_bin_dwarf_line_op_run(const RzBinDwarfLineHeader *hdr, RzBinDwarf
}
static size_t parse_opcodes(const ut8 *obuf,
size_t len, const RzBinDwarfLineHeader *hdr, RzVector *ops_out,
size_t len, const RzBinDwarfLineHeader *hdr, RzVector /*<RzBinDwarfLineOp>*/ *ops_out,
RzBinDwarfSMRegisters *regs, RZ_NULLABLE RzBinSourceLineInfoBuilder *bob, RZ_NULLABLE RzBinDwarfDebugInfo *info,
RZ_NULLABLE RzBinDwarfLineFileCache fnc, bool big_endian, ut8 target_addr_size) {
const ut8 *buf, *buf_end;

View file

@ -48,7 +48,7 @@ RZ_API char *rz_coff_symbol_name(struct rz_bin_coff_obj *obj, void *ptr);
RZ_API ut64 rz_coff_import_index_addr(struct rz_bin_coff_obj *obj, ut64 imp_index);
RZ_API ut64 rz_coff_get_reloc_targets_map_base(struct rz_bin_coff_obj *obj);
RZ_API RzList *rz_coff_get_relocs(struct rz_bin_coff_obj *bin);
RZ_API RzList /*<RzBinReloc *>*/ *rz_coff_get_relocs(struct rz_bin_coff_obj *bin);
RZ_API ut64 rz_coff_get_reloc_targets_vfile_size(struct rz_bin_coff_obj *obj);
RZ_API RZ_BORROW RzBuffer *rz_coff_get_patched_buf(struct rz_bin_coff_obj *bin);

View file

@ -192,7 +192,7 @@ void get_relocs_list_cb(RZ_BORROW RzBinReloc *reloc, ut8 *patch_buf, size_t patc
rz_list_push(r, reloc_copy);
}
RZ_API RzList *rz_coff_get_relocs(struct rz_bin_coff_obj *bin) {
RZ_API RzList /*<RzBinReloc *>*/ *rz_coff_get_relocs(struct rz_bin_coff_obj *bin) {
rz_return_val_if_fail(bin, NULL);
RzList *r = rz_list_newf(free);
if (!r) {

View file

@ -217,7 +217,7 @@ static DexEncodedField *dex_new_encoded_field(RzBuffer *buf, ut64 base, ut64 *di
return encoded_field;
}
static DexEncodedMethod *dex_new_encoded_method(RzBuffer *buf, ut64 base, ut64 *diff_value_prev, bool first, RzPVector *method_ids) {
static DexEncodedMethod *dex_new_encoded_method(RzBuffer *buf, ut64 base, ut64 *diff_value_prev, bool first, RzPVector /*<DexMethodId *>*/ *method_ids) {
DexEncodedMethod *encoded_method = RZ_NEW0(DexEncodedMethod);
if (!encoded_method) {
return NULL;
@ -263,7 +263,7 @@ dex_new_encoded_method_fail:
return NULL;
}
static DexClassDef *dex_class_def_new(RzBuffer *buf, ut64 offset, ut64 base, RzPVector *method_ids) {
static DexClassDef *dex_class_def_new(RzBuffer *buf, ut64 offset, ut64 base, RzPVector /*<DexMethodId *>*/ *method_ids) {
DexClassDef *class_def = RZ_NEW0(DexClassDef);
if (!class_def) {
return NULL;

View file

@ -150,10 +150,10 @@ typedef struct dex_class_def_t {
ut32 n_interfaces;
ut16 *interfaces;
RzList /*<DexEncodedField>*/ *static_fields;
RzList /*<DexEncodedField>*/ *instance_fields;
RzList /*<DexEncodedMethod>*/ *direct_methods;
RzList /*<DexEncodedMethod>*/ *virtual_methods;
RzList /*<DexEncodedField *>*/ *static_fields;
RzList /*<DexEncodedField *>*/ *instance_fields;
RzList /*<DexEncodedMethod *>*/ *direct_methods;
RzList /*<DexEncodedMethod *>*/ *virtual_methods;
} DexClassDef;
#define DEX_CLASS_DEF_SIZE (0x20)
@ -187,11 +187,11 @@ typedef struct dex_t {
ut32 data_offset;
/* lists */
RzPVector /*<DexString>*/ *strings;
RzPVector /*<DexProtoId>*/ *proto_ids;
RzPVector /*<DexFieldId>*/ *field_ids;
RzPVector /*<DexMethodId>*/ *method_ids;
RzPVector /*<DexClassDef>*/ *class_defs;
RzPVector /*<DexString *>*/ *strings;
RzPVector /*<DexProtoId *>*/ *proto_ids;
RzPVector /*<DexFieldId *>*/ *field_ids;
RzPVector /*<DexMethodId *>*/ *method_ids;
RzPVector /*<DexClassDef *>*/ *class_defs;
DexTypeId *types;

View file

@ -29,9 +29,9 @@ struct rz_bin_dmp64_obj_t {
dmp_p_memory_run *runs;
ut8 *bitmap;
ut64 dtb;
RzList *pages;
RzList *datablocks;
RzList *drivers;
RzList /*<dmp_page_desc *>*/ *pages;
RzList /*<dmp64_triage_datablock *>*/ *datablocks;
RzList /*<dmp_driver_desc *>*/ *drivers;
RzBuffer *b;
int size;

View file

@ -118,7 +118,7 @@ static bool init_phdr_sdb(ELFOBJ *bin) {
sdb_set(bin->kv, "elf_phdr.format", sdb_elf_phdr_format, 0);
}
static bool init_phdr_aux(ELFOBJ *bin, RzVector *sections, RzBinObjectLoadOptions *options) {
static bool init_phdr_aux(ELFOBJ *bin, RzVector /*<Elf_(Shdr)>*/ *sections, RzBinObjectLoadOptions *options) {
bin->segments = Elf_(rz_bin_elf_segments_new)(bin, sections, options);
if (!bin->segments) {
return false;
@ -127,7 +127,7 @@ static bool init_phdr_aux(ELFOBJ *bin, RzVector *sections, RzBinObjectLoadOption
return init_phdr_sdb(bin);
}
static void init_phdr(ELFOBJ *bin, RzVector *sections, RzBinObjectLoadOptions *options) {
static void init_phdr(ELFOBJ *bin, RzVector /*<Elf_(Shdr)>*/ *sections, RzBinObjectLoadOptions *options) {
if (!bin->ehdr.e_phnum) {
RZ_LOG_WARN("There is no program header.\n");
return;
@ -171,7 +171,7 @@ static bool init_shdr_sdb(ELFOBJ *bin) {
sdb_set(bin->kv, "elf_shdr.format", sdb_elf_shdr_format, 0);
}
static bool init_shdr_aux(ELFOBJ *bin, RzBinObjectLoadOptions *options, RzVector *sections) {
static bool init_shdr_aux(ELFOBJ *bin, RzBinObjectLoadOptions *options, RzVector /*<Elf_(Shdr)>*/ *sections) {
bin->sections = Elf_(rz_bin_elf_convert_sections)(bin, options, sections);
if (!bin->sections) {
return false;
@ -180,7 +180,7 @@ static bool init_shdr_aux(ELFOBJ *bin, RzBinObjectLoadOptions *options, RzVector
return init_shdr_sdb(bin);
}
static void init_shdr(ELFOBJ *bin, RzBinObjectLoadOptions *options, RzVector *sections) {
static void init_shdr(ELFOBJ *bin, RzBinObjectLoadOptions *options, RzVector /*<Elf_(Shdr)>*/ *sections) {
if (!init_shdr_aux(bin, options, sections)) {
RZ_LOG_WARN("Failed to initialize section header.\n");
}
@ -191,7 +191,7 @@ static bool init_shstrtab_sdb(ELFOBJ *bin, ut64 offset, ut64 size) {
sdb_num_set(bin->kv, "elf_shstrtab.size", size, 0);
}
static bool init_shstrtab_aux(ELFOBJ *bin, RzVector *sections) {
static bool init_shstrtab_aux(ELFOBJ *bin, RzVector /*<Elf_(Shdr)>*/ *sections) {
if (!sections) {
return true;
}
@ -210,7 +210,7 @@ static bool init_shstrtab_aux(ELFOBJ *bin, RzVector *sections) {
return init_shstrtab_sdb(bin, section->sh_offset, section->sh_size);
}
static void init_shstrtab(ELFOBJ *bin, RzVector *sections) {
static void init_shstrtab(ELFOBJ *bin, RzVector /*<Elf_(Shdr)>*/ *sections) {
if (!init_shstrtab_aux(bin, sections)) {
RZ_LOG_WARN("Failed to initialize section string table.\n");
}

View file

@ -201,21 +201,21 @@ struct Elf_(rz_bin_elf_obj_t) {
Elf_(Ehdr) ehdr;
RzVector *segments; // should be use with elf_segments.c
RzVector *sections; // should be use with elf_sections.c
RzVector /*<RzBinElfSegment>*/ *segments; // should be use with elf_segments.c
RzVector /*<RzBinElfSection>*/ *sections; // should be use with elf_sections.c
RzBinElfDtDynamic *dt_dynamic; // should be use with elf_dynamic.c
RzBinElfStrtab *dynstr; // should be use with elf_strtab.c
RzBinElfStrtab *shstrtab; // should be use with elf_strtab.c
RzVector *relocs; // should be use with elf_relocs.c
RzVector /*<RzBinElfReloc>*/ *relocs; // should be use with elf_relocs.c
// This is RzVector of note segment reprensented as RzVector<RzBinElfNote>
RzVector *notes; // RzVector<RzVector<RzBinElfNote>>
RzVector /*<RzVector<RzBinElfNote>>*/ *notes; // RzVector<RzVector<RzBinElfNote>>
RzVector *symbols; // RzVector<RzBinElfSymbol>
RzVector *imports; // RzVector<RzBinElfSymbol>
RzVector /*<RzBinElfSymbol>*/ *symbols; // RzVector<RzBinElfSymbol>
RzVector /*<RzBinElfSymbol>*/ *imports; // RzVector<RzBinElfSymbol>
};
// elf.c
@ -238,7 +238,7 @@ void Elf_(rz_bin_elf_fix_arm_thumb_symbol)(RZ_NONNULL RzBinSymbol *symbol);
ut64 Elf_(rz_bin_elf_get_sp_val)(RZ_NONNULL ELFOBJ *bin);
// elf_dynamic.c
RZ_BORROW RzVector *Elf_(rz_bin_elf_get_dt_needed)(RZ_NONNULL ELFOBJ *bin);
RZ_BORROW RzVector /*<ut64>*/ *Elf_(rz_bin_elf_get_dt_needed)(RZ_NONNULL ELFOBJ *bin);
RZ_OWN RzBinElfDtDynamic *Elf_(rz_bin_elf_dt_dynamic_new)(RZ_NONNULL ELFOBJ *bin);
bool Elf_(rz_bin_elf_get_dt_info)(RZ_NONNULL ELFOBJ *bin, ut64 key, RZ_OUT ut64 *info);
bool Elf_(rz_bin_elf_has_dt_dynamic)(RZ_NONNULL ELFOBJ *bin);
@ -270,14 +270,14 @@ size_t Elf_(rz_bin_elf_get_number_of_symbols_from_hash_table)(RZ_NONNULL ELFOBJ
// elf_imports.c
RZ_BORROW RzBinElfSymbol *Elf_(rz_bin_elf_get_import)(RZ_NONNULL ELFOBJ *bin, ut32 ordinal);
RZ_OWN RzVector *Elf_(rz_bin_elf_analyse_imports)(RZ_NONNULL ELFOBJ *bin);
RZ_OWN RzVector /*<RzBinElfSymbol>*/ *Elf_(rz_bin_elf_analyse_imports)(RZ_NONNULL ELFOBJ *bin);
bool Elf_(rz_bin_elf_has_imports)(RZ_NONNULL ELFOBJ *bin);
// elf_map.c
ut64 Elf_(rz_bin_elf_get_targets_map_base)(ELFOBJ *bin);
// elf_info.c
RZ_OWN RzList *Elf_(rz_bin_elf_get_libs)(RZ_NONNULL ELFOBJ *bin);
RZ_OWN RzList /*<char *>*/ *Elf_(rz_bin_elf_get_libs)(RZ_NONNULL ELFOBJ *bin);
RZ_OWN Sdb *Elf_(rz_bin_elf_get_symbols_info)(RZ_NONNULL ELFOBJ *bin);
RZ_OWN char *Elf_(rz_bin_elf_get_abi)(RZ_NONNULL ELFOBJ *bin);
RZ_OWN char *Elf_(rz_bin_elf_get_arch)(RZ_NONNULL ELFOBJ *bin);
@ -308,7 +308,7 @@ ut64 Elf_(rz_bin_elf_get_main_offset)(RZ_NONNULL ELFOBJ *bin);
// elf_notes.c
RZ_BORROW RzBinElfPrStatusLayout *Elf_(rz_bin_elf_get_prstatus_layout)(RZ_NONNULL ELFOBJ *bin);
RZ_OWN RzVector *Elf_(rz_bin_elf_notes_new)(RZ_NONNULL ELFOBJ *bin);
RZ_OWN RzVector /*<RzVector<RzBinElfNote>>*/ *Elf_(rz_bin_elf_notes_new)(RZ_NONNULL ELFOBJ *bin);
bool Elf_(rz_bin_elf_has_notes)(RZ_NONNULL ELFOBJ *bin);
// elf_misc.c
@ -336,22 +336,22 @@ bool Elf_(rz_bin_elf_mul_addr)(Elf_(Addr) * result, Elf_(Addr) addr, Elf_(Addr)
bool Elf_(rz_bin_elf_mul_off)(Elf_(Off) * result, Elf_(Off) addr, Elf_(Off) value);
// elf_relocs.c
RZ_OWN RzVector *Elf_(rz_bin_elf_relocs_new)(RZ_NONNULL ELFOBJ *bin);
RZ_OWN RzVector /*<RzBinElfReloc>*/ *Elf_(rz_bin_elf_relocs_new)(RZ_NONNULL ELFOBJ *bin);
bool Elf_(rz_bin_elf_has_relocs)(RZ_NONNULL ELFOBJ *bin);
size_t Elf_(rz_bin_elf_get_relocs_count)(RZ_NONNULL ELFOBJ *bin);
ut64 Elf_(rz_bin_elf_get_num_relocs_dynamic_plt)(RZ_NONNULL ELFOBJ *bin);
// elf_segments.c
RZ_BORROW RzBinElfSegment *Elf_(rz_bin_elf_get_segment_with_type)(RZ_NONNULL ELFOBJ *bin, Elf_(Word) type);
RZ_OWN RzVector *Elf_(rz_bin_elf_segments_new)(RZ_NONNULL ELFOBJ *bin, RzVector *sections, RZ_NONNULL RzBinObjectLoadOptions *options);
RZ_OWN RzVector /*<RzBinElfSegment>*/ *Elf_(rz_bin_elf_segments_new)(RZ_NONNULL ELFOBJ *bin, RzVector /*<Elf_(Shdr)>*/ *sections, RZ_NONNULL RzBinObjectLoadOptions *options);
bool Elf_(rz_bin_elf_has_segments)(RZ_NONNULL ELFOBJ *bin);
// elf_sections.c
RZ_BORROW RzBinElfSection *Elf_(rz_bin_elf_get_section)(RZ_NONNULL ELFOBJ *bin, Elf_(Half) index);
RZ_BORROW RzBinElfSection *Elf_(rz_bin_elf_get_section_with_name)(RZ_NONNULL ELFOBJ *bin, RZ_NONNULL const char *name);
RZ_OWN RzList *Elf_(rz_bin_elf_section_flag_to_rzlist)(ut64 flag);
RZ_OWN RzVector *Elf_(rz_bin_elf_convert_sections)(RZ_NONNULL ELFOBJ *bin, RZ_NONNULL RzBinObjectLoadOptions *options, RzVector *sections);
RZ_OWN RzVector *Elf_(rz_bin_elf_sections_new)(RZ_NONNULL ELFOBJ *bin);
RZ_OWN RzList /*<char *>*/ *Elf_(rz_bin_elf_section_flag_to_rzlist)(ut64 flag);
RZ_OWN RzVector /*<RzBinElfSection>*/ *Elf_(rz_bin_elf_convert_sections)(RZ_NONNULL ELFOBJ *bin, RZ_NONNULL RzBinObjectLoadOptions *options, RzVector /*<Elf_(Shdr)>*/ *sections);
RZ_OWN RzVector /*<Elf_(Shdr)>*/ *Elf_(rz_bin_elf_sections_new)(RZ_NONNULL ELFOBJ *bin);
RZ_OWN char *Elf_(rz_bin_elf_section_type_to_string)(ut64 type);
bool Elf_(rz_bin_elf_has_sections)(RZ_NONNULL ELFOBJ *bin);
@ -367,8 +367,8 @@ typedef bool (*RzBinElfSymbolFilter)(ELFOBJ *bin, Elf_(Sym) * entry, bool is_dyn
Elf_(Word) Elf_(rz_bin_elf_get_number_of_dynamic_symbols)(RZ_NONNULL ELFOBJ *bin);
RZ_BORROW RzBinElfSymbol *Elf_(rz_bin_elf_get_symbol)(RZ_NONNULL ELFOBJ *bin, ut32 ordinal);
RZ_OWN RzVector *Elf_(rz_bin_elf_compute_symbols)(ELFOBJ *bin, RzBinElfSymbolFilter filter);
RZ_OWN RzVector *Elf_(rz_bin_elf_symbols_new)(RZ_NONNULL ELFOBJ *bin);
RZ_OWN RzVector /*<RzBinElfSymbol>*/ *Elf_(rz_bin_elf_compute_symbols)(ELFOBJ *bin, RzBinElfSymbolFilter filter);
RZ_OWN RzVector /*<RzBinElfSymbol>*/ *Elf_(rz_bin_elf_symbols_new)(RZ_NONNULL ELFOBJ *bin);
bool Elf_(rz_bin_elf_has_symbols)(RZ_NONNULL ELFOBJ *bin);
#endif

View file

@ -85,7 +85,7 @@ static bool init_dt_dynamic(ELFOBJ *bin, RzBinElfDtDynamic *ptr) {
return fill_dt_dynamic(bin, ptr, offset, segment->data.p_filesz);
}
RZ_BORROW RzVector *Elf_(rz_bin_elf_get_dt_needed)(RZ_NONNULL ELFOBJ *bin) {
RZ_BORROW RzVector /*<ut64>*/ *Elf_(rz_bin_elf_get_dt_needed)(RZ_NONNULL ELFOBJ *bin) {
rz_return_val_if_fail(bin, NULL);
if (!Elf_(rz_bin_elf_has_dt_dynamic)(bin)) {

View file

@ -10,7 +10,7 @@
struct rz_bin_elf_dt_dynamic_t {
HtUU *info;
RzVector /* <ut64> */ dt_needed;
RzVector /*<ut64>*/ dt_needed;
};
#endif

View file

@ -302,7 +302,7 @@ static void convert_elf_symbol_to_elf_import(ELFOBJ *bin, RzBinElfSymbol *symbol
symbol->paddr = Elf_(rz_bin_elf_v2p)(bin, symbol->vaddr);
}
static void convert_elf_symbols_to_elf_imports(ELFOBJ *bin, RzVector *symbols) {
static void convert_elf_symbols_to_elf_imports(ELFOBJ *bin, RzVector /*<RzBinElfSymbol>*/ *symbols) {
RzBinElfSymbol *symbol;
rz_vector_foreach(symbols, symbol) {
convert_elf_symbol_to_elf_import(bin, symbol);
@ -326,7 +326,7 @@ RZ_BORROW RzBinElfSymbol *Elf_(rz_bin_elf_get_import)(RZ_NONNULL ELFOBJ *bin, ut
return NULL;
}
RZ_OWN RzVector *Elf_(rz_bin_elf_analyse_imports)(RZ_NONNULL ELFOBJ *bin) {
RZ_OWN RzVector /*<RzBinElfSymbol>*/ *Elf_(rz_bin_elf_analyse_imports)(RZ_NONNULL ELFOBJ *bin) {
rz_return_val_if_fail(bin, NULL);
RzVector *result = Elf_(rz_bin_elf_compute_symbols)(bin, filter_import);

View file

@ -870,11 +870,11 @@ static char *get_abi_mips(ELFOBJ *bin) {
/**
* \brief List all imported lib
* \param elf binary
* \return an allocated list of RzBinElfLib
* \return an allocated list of char*
*
* Use dynamic information (dt_needed) to generate a list of imported lib
*/
RZ_OWN RzList *Elf_(rz_bin_elf_get_libs)(RZ_NONNULL ELFOBJ *bin) {
RZ_OWN RzList /*<char *>*/ *Elf_(rz_bin_elf_get_libs)(RZ_NONNULL ELFOBJ *bin) {
rz_return_val_if_fail(bin, NULL);
if (!Elf_(rz_bin_elf_has_dt_dynamic)(bin) || !bin->dynstr) {

View file

@ -21,7 +21,7 @@ static RzBinElfPrStatusLayout prstatus_layouts[ARCH_LEN] = {
[AARCH64] = { 272, 0x70, 64, 0xf8 }
};
static bool parse_note_prstatus(ELFOBJ *bin, RzVector *notes, Elf_(Nhdr) * note_segment_header, ut64 offset) {
static bool parse_note_prstatus(ELFOBJ *bin, RzVector /*<RzBinElfNote>*/ *notes, Elf_(Nhdr) * note_segment_header, ut64 offset) {
RzBinElfPrStatusLayout *layout = Elf_(rz_bin_elf_get_prstatus_layout)(bin);
if (!layout) {
RZ_LOG_WARN("Fetching registers from core file not supported for this architecture.\n");
@ -73,7 +73,7 @@ static bool set_note_file(ELFOBJ *bin, RzBinElfNoteFile *file, ut64 *offset, cha
return true;
}
static bool parse_note_file(ELFOBJ *bin, RzVector *notes, Elf_(Nhdr) * note_segment_header, ut64 offset) {
static bool parse_note_file(ELFOBJ *bin, RzVector /*<RzBinElfNote>*/ *notes, Elf_(Nhdr) * note_segment_header, ut64 offset) {
Elf_(Addr) n_maps;
if (!Elf_(rz_bin_elf_read_addr)(bin, &offset, &n_maps)) {
return false;
@ -115,7 +115,7 @@ static bool parse_note_file(ELFOBJ *bin, RzVector *notes, Elf_(Nhdr) * note_segm
return true;
}
static bool set_note(ELFOBJ *bin, RzVector *notes, Elf_(Nhdr) * note_segment_header, ut64 offset) {
static bool set_note(ELFOBJ *bin, RzVector /*<RzBinElfNote>*/ *notes, Elf_(Nhdr) * note_segment_header, ut64 offset) {
switch (note_segment_header->n_type) {
case NT_FILE:
if (!parse_note_file(bin, notes, note_segment_header, offset)) {
@ -150,7 +150,7 @@ static bool read_note_segment_header(ELFOBJ *bin, ut64 *offset, Elf_(Nhdr) * not
return true;
}
static bool set_note_segment(ELFOBJ *bin, RzVector *notes, RzBinElfSegment *segment) {
static bool set_note_segment(ELFOBJ *bin, RzVector /*<RzBinElfNote>*/ *notes, RzBinElfSegment *segment) {
ut64 offset = segment->data.p_offset;
while (offset < segment->data.p_filesz) {
@ -215,7 +215,7 @@ RZ_BORROW RzBinElfPrStatusLayout *Elf_(rz_bin_elf_get_prstatus_layout)(RZ_NONNUL
return NULL;
}
RZ_OWN RzVector *Elf_(rz_bin_elf_notes_new)(RZ_NONNULL ELFOBJ *bin) {
RZ_OWN RzVector /*<RzVector<RzBinElfNote>>*/ *Elf_(rz_bin_elf_notes_new)(RZ_NONNULL ELFOBJ *bin) {
rz_return_val_if_fail(bin, false);
RzVector *result = rz_vector_new(sizeof(RzVector), note_segment_free, NULL);

View file

@ -102,7 +102,7 @@ static bool has_already_been_processed(ELFOBJ *bin, ut64 offset, HtUU *set) {
return found;
}
static bool get_relocs_entry(ELFOBJ *bin, RzBinElfSection *section, RzVector *relocs, struct relocs_segment *segment, HtUU *set) {
static bool get_relocs_entry(ELFOBJ *bin, RzBinElfSection *section, RzVector /*<RzBinElfReloc>*/ *relocs, struct relocs_segment *segment, HtUU *set) {
for (ut64 entry_offset = 0; entry_offset < segment->size; entry_offset += segment->entry_size) {
if (has_already_been_processed(bin, segment->offset + entry_offset, set)) {
continue;
@ -127,7 +127,7 @@ static bool get_relocs_entry(ELFOBJ *bin, RzBinElfSection *section, RzVector *re
return true;
}
static bool get_relocs_entry_from_dt_dynamic_aux(ELFOBJ *bin, RzVector *relocs, ut64 dt_addr, ut64 dt_size, ut64 entry_size, ut64 mode, HtUU *set) {
static bool get_relocs_entry_from_dt_dynamic_aux(ELFOBJ *bin, RzVector /*<RzBinElfReloc>*/ *relocs, ut64 dt_addr, ut64 dt_size, ut64 entry_size, ut64 mode, HtUU *set) {
ut64 addr;
ut64 size;
@ -145,7 +145,7 @@ static bool get_relocs_entry_from_dt_dynamic_aux(ELFOBJ *bin, RzVector *relocs,
return get_relocs_entry(bin, NULL, relocs, &segment, set);
}
static bool get_relocs_entry_from_dt_dynamic(ELFOBJ *bin, RzVector *relocs, HtUU *set) {
static bool get_relocs_entry_from_dt_dynamic(ELFOBJ *bin, RzVector /*<RzBinElfReloc>*/ *relocs, HtUU *set) {
ut64 entry_size;
if (!Elf_(rz_bin_elf_has_dt_dynamic)(bin)) {
@ -179,7 +179,7 @@ static ut64 get_section_relocation_mode(RzBinElfSection *section) {
return section->type == SHT_REL ? DT_REL : DT_RELA;
}
static bool get_relocs_entry_from_sections(ELFOBJ *bin, RzVector *relocs, HtUU *set) {
static bool get_relocs_entry_from_sections(ELFOBJ *bin, RzVector /*<RzBinElfReloc>*/ *relocs, HtUU *set) {
RzBinElfSection *section;
rz_bin_elf_foreach_sections(bin, section) {
if (!section->is_valid || (section->type != SHT_REL && section->type != SHT_RELA)) {
@ -199,7 +199,7 @@ static bool get_relocs_entry_from_sections(ELFOBJ *bin, RzVector *relocs, HtUU *
return true;
}
RZ_OWN RzVector *Elf_(rz_bin_elf_relocs_new)(RZ_NONNULL ELFOBJ *bin) {
RZ_OWN RzVector /*<RzBinElfReloc>*/ *Elf_(rz_bin_elf_relocs_new)(RZ_NONNULL ELFOBJ *bin) {
rz_return_val_if_fail(bin, NULL);
HtUU *set = ht_uu_new0();

View file

@ -63,7 +63,7 @@ static const struct flag_translation flag_translation_table[] = {
{ SHF_COMPRESSED, "compressed" }
};
static bool create_section_from_phdr(ELFOBJ *bin, RzVector *result, const char *name, ut64 addr, ut64 sz) {
static bool create_section_from_phdr(ELFOBJ *bin, RzVector /*<RzBinElfSection>*/ *result, const char *name, ut64 addr, ut64 sz) {
RzBinElfSection section = { 0 };
section.offset = Elf_(rz_bin_elf_v2p)(bin, addr);
@ -100,7 +100,7 @@ static const char *get_plt_name(ELFOBJ *bin) {
return ".rela.plt";
}
static bool create_section_plt(ELFOBJ *bin, RzVector *result) {
static bool create_section_plt(ELFOBJ *bin, RzVector /*<RzBinElfSection>*/ *result) {
ut64 addr;
ut64 size;
@ -121,7 +121,7 @@ static void rz_bin_elf_section_free(void *e, RZ_UNUSED void *user) {
free(ptr->name);
}
static RzVector *get_sections_from_dt_dynamic(ELFOBJ *bin) {
static RzVector /*<RzBinElfSection>*/ *get_sections_from_dt_dynamic(ELFOBJ *bin) {
ut64 addr;
ut64 size;
@ -295,7 +295,7 @@ RZ_BORROW RzBinElfSection *Elf_(rz_bin_elf_get_section_with_name)(RZ_NONNULL ELF
*
* Compare the flag to common option such as SHF_WRITE, SHF_ALLOC, ect
*/
RZ_OWN RzList *Elf_(rz_bin_elf_section_flag_to_rzlist)(ut64 flag) {
RZ_OWN RzList /*<char *>*/ *Elf_(rz_bin_elf_section_flag_to_rzlist)(ut64 flag) {
RzList *flag_list = rz_list_new();
if (!flag_list) {
return NULL;
@ -323,7 +323,7 @@ static RzBinElfSection convert_elf_section(ELFOBJ *bin, RzBinObjectLoadOptions *
return section;
}
static RzVector *convert_sections_from_shdr(ELFOBJ *bin, RzBinObjectLoadOptions *options, RzVector *sections) {
static RzVector /*<RzBinElfSection>*/ *convert_sections_from_shdr(ELFOBJ *bin, RzBinObjectLoadOptions *options, RzVector /*<Elf_(Shdr)>*/ *sections) {
if (!sections) {
return NULL;
}
@ -346,7 +346,7 @@ static RzVector *convert_sections_from_shdr(ELFOBJ *bin, RzBinObjectLoadOptions
return result;
}
static RzVector *convert_sections(ELFOBJ *bin, RzBinObjectLoadOptions *options, RzVector *sections) {
static RzVector /*<RzBinElfSection>*/ *convert_sections(ELFOBJ *bin, RzBinObjectLoadOptions *options, RzVector /*<Elf_(Shdr)>*/ *sections) {
RzVector *result = convert_sections_from_shdr(bin, options, sections);
if (result) {
return result;
@ -359,7 +359,7 @@ static RzVector *convert_sections(ELFOBJ *bin, RzBinObjectLoadOptions *options,
return result;
}
RZ_OWN RzVector *Elf_(rz_bin_elf_convert_sections)(RZ_NONNULL ELFOBJ *bin, RZ_NONNULL RzBinObjectLoadOptions *options, RzVector *sections) {
RZ_OWN RzVector /*<RzBinElfSection>*/ *Elf_(rz_bin_elf_convert_sections)(RZ_NONNULL ELFOBJ *bin, RZ_NONNULL RzBinObjectLoadOptions *options, RzVector /*<Elf_(Shdr)>*/ *sections) {
rz_return_val_if_fail(bin && options, NULL);
RzVector *result = convert_sections(bin, options, sections);
@ -375,7 +375,7 @@ RZ_OWN RzVector *Elf_(rz_bin_elf_convert_sections)(RZ_NONNULL ELFOBJ *bin, RZ_NO
return result;
}
RZ_OWN RzVector *Elf_(rz_bin_elf_sections_new)(RZ_NONNULL ELFOBJ *bin) {
RZ_OWN RzVector /*<Elf_(Shdr)>*/ *Elf_(rz_bin_elf_sections_new)(RZ_NONNULL ELFOBJ *bin) {
rz_return_val_if_fail(bin, NULL);
if (!bin->ehdr.e_shnum) {

View file

@ -67,7 +67,7 @@ static bool get_elf_segment(ELFOBJ *bin, RzBinObjectLoadOptions *options, RzBinE
return true;
}
static RzVector *get_segments_from_phdr(ELFOBJ *bin, size_t count, RzBinObjectLoadOptions *options) {
static RzVector /*<RzBinElfSegment>*/ *get_segments_from_phdr(ELFOBJ *bin, size_t count, RzBinObjectLoadOptions *options) {
RzVector *result = rz_vector_new(sizeof(RzBinElfSegment), NULL, NULL);
if (!result) {
return NULL;
@ -98,7 +98,7 @@ static RzVector *get_segments_from_phdr(ELFOBJ *bin, size_t count, RzBinObjectLo
return result;
}
static size_t get_number_of_segments(ELFOBJ *bin, RzVector *sections) {
static size_t get_number_of_segments(ELFOBJ *bin, RzVector /*<Elf_(Shdr)>*/ *sections) {
if (bin->ehdr.e_phnum != PN_XNUM) {
return bin->ehdr.e_phnum;
}
@ -130,7 +130,7 @@ RZ_BORROW RzBinElfSegment *Elf_(rz_bin_elf_get_segment_with_type)(RZ_NONNULL ELF
return NULL;
}
RZ_OWN RzVector *Elf_(rz_bin_elf_segments_new)(RZ_NONNULL ELFOBJ *bin, RzVector *sections, RZ_NONNULL RzBinObjectLoadOptions *options) {
RZ_OWN RzVector /*<RzBinElfSegment>*/ *Elf_(rz_bin_elf_segments_new)(RZ_NONNULL ELFOBJ *bin, RzVector /*<Elf_(Shdr)>*/ *sections, RZ_NONNULL RzBinObjectLoadOptions *options) {
rz_return_val_if_fail(bin && options, NULL);
size_t count = get_number_of_segments(bin, sections);

View file

@ -252,7 +252,7 @@ static void elf_symbol_fini(void *e, RZ_UNUSED void *user) {
free(ptr->name);
}
static bool compute_symbols_from_segment(ELFOBJ *bin, RzVector *result, struct symbols_segment *segment, RzBinElfSymbolFilter filter, HtUU *set) {
static bool compute_symbols_from_segment(ELFOBJ *bin, RzVector /*<RzBinElfSymbol>*/ *result, struct symbols_segment *segment, RzBinElfSymbolFilter filter, HtUU *set) {
ut64 offset = segment->offset + segment->entry_size;
for (size_t i = 1; i < segment->number; i++) {
@ -292,7 +292,7 @@ static bool compute_symbols_from_segment(ELFOBJ *bin, RzVector *result, struct s
return true;
}
static bool get_dynamic_elf_symbols(ELFOBJ *bin, RzVector *result, RzBinElfSymbolFilter filter, HtUU *set) {
static bool get_dynamic_elf_symbols(ELFOBJ *bin, RzVector /*<RzBinElfSymbol>*/ *result, RzBinElfSymbolFilter filter, HtUU *set) {
if (!Elf_(rz_bin_elf_is_executable)(bin)) {
return true;
}
@ -322,7 +322,7 @@ static bool get_dynamic_elf_symbols(ELFOBJ *bin, RzVector *result, RzBinElfSymbo
return true;
}
static bool get_section_elf_symbols(ELFOBJ *bin, RzVector *result, RzBinElfSymbolFilter filter, HtUU *set) {
static bool get_section_elf_symbols(ELFOBJ *bin, RzVector /*<RzBinElfSymbol>*/ *result, RzBinElfSymbolFilter filter, HtUU *set) {
size_t i;
RzBinElfSection *section;
rz_bin_elf_enumerate_sections(bin, section, i) {
@ -364,7 +364,7 @@ static bool get_section_elf_symbols(ELFOBJ *bin, RzVector *result, RzBinElfSymbo
return true;
}
static bool get_gnu_debugdata_elf_symbols(ELFOBJ *bin, RzVector *result, RzBinElfSymbolFilter filter, HtUU *set) {
static bool get_gnu_debugdata_elf_symbols(ELFOBJ *bin, RzVector /*<RzBinElfSymbol>*/ *result, RzBinElfSymbolFilter filter, HtUU *set) {
// Get symbols from .gnu_debugdata according to https://sourceware.org/gdb/onlinedocs/gdb/MiniDebugInfo.html
bool res = false;
const RzBinElfSection *gnu_debugdata = Elf_(rz_bin_elf_get_section_with_name)(bin, ".gnu_debugdata");
@ -483,7 +483,7 @@ RZ_BORROW RzBinElfSymbol *Elf_(rz_bin_elf_get_symbol)(RZ_NONNULL ELFOBJ *bin, ut
return NULL;
}
RZ_OWN RzVector *Elf_(rz_bin_elf_compute_symbols)(ELFOBJ *bin, RzBinElfSymbolFilter filter) {
RZ_OWN RzVector /*<RzBinElfSymbol>*/ *Elf_(rz_bin_elf_compute_symbols)(ELFOBJ *bin, RzBinElfSymbolFilter filter) {
RzVector *result = rz_vector_new(sizeof(RzBinElfSymbol), elf_symbol_fini, NULL);
if (!result) {
return NULL;
@ -520,7 +520,7 @@ RZ_OWN RzVector *Elf_(rz_bin_elf_compute_symbols)(ELFOBJ *bin, RzBinElfSymbolFil
return result;
}
RZ_OWN RzVector *Elf_(rz_bin_elf_symbols_new)(RZ_NONNULL ELFOBJ *bin) {
RZ_OWN RzVector /*<RzBinElfSymbol>*/ *Elf_(rz_bin_elf_symbols_new)(RZ_NONNULL ELFOBJ *bin) {
rz_return_val_if_fail(bin, NULL);
RzVector *result = Elf_(rz_bin_elf_compute_symbols)(bin, filter_symbol);

View file

@ -924,7 +924,7 @@ RZ_API RZ_OWN RzBinAddr *rz_bin_java_class_resolve_symbol(RZ_NONNULL RzBinJavaCl
/**
* \brief Returns a RzList<RzBinAddr*> containing the entrypoints
*/
RZ_API RZ_OWN RzList *rz_bin_java_class_entrypoints(RZ_NONNULL RzBinJavaClass *bin) {
RZ_API RZ_OWN RzList /*<RzBinAddr *>*/ *rz_bin_java_class_entrypoints(RZ_NONNULL RzBinJavaClass *bin) {
rz_return_val_if_fail(bin, NULL);
RzList *list = rz_list_newf(free);
@ -983,7 +983,7 @@ RZ_API RZ_OWN RzList *rz_bin_java_class_entrypoints(RZ_NONNULL RzBinJavaClass *b
/**
* \brief Returns a RzList<RzBinString*> containing the strings
*/
RZ_API RZ_OWN RzList *rz_bin_java_class_strings(RZ_NONNULL RzBinJavaClass *bin) {
RZ_API RZ_OWN RzList /*<RzBinString *>*/ *rz_bin_java_class_strings(RZ_NONNULL RzBinJavaClass *bin) {
rz_return_val_if_fail(bin, NULL);
RzList *list = rz_list_newf(rz_bin_string_free);
@ -1049,7 +1049,7 @@ static char *add_class_name_to_name(char *name, char *classname) {
/**
* \brief Returns a RzList<RzBinSymbol*> containing the class methods
*/
RZ_API RZ_OWN RzList *rz_bin_java_class_methods_as_symbols(RZ_NONNULL RzBinJavaClass *bin) {
RZ_API RZ_OWN RzList /*<RzBinSymbol *>*/ *rz_bin_java_class_methods_as_symbols(RZ_NONNULL RzBinJavaClass *bin) {
rz_return_val_if_fail(bin, NULL);
RzList *list = rz_list_newf((RzListFree)rz_bin_symbol_free);
@ -1224,7 +1224,7 @@ RZ_API void rz_bin_java_class_methods_as_json(RZ_NONNULL RzBinJavaClass *bin, RZ
/**
* \brief Returns a RzList<RzBinSymbol*> containing the class fields
*/
RZ_API RZ_OWN RzList *rz_bin_java_class_fields_as_symbols(RZ_NONNULL RzBinJavaClass *bin) {
RZ_API RZ_OWN RzList /*<RzBinSymbol *>*/ *rz_bin_java_class_fields_as_symbols(RZ_NONNULL RzBinJavaClass *bin) {
rz_return_val_if_fail(bin, NULL);
RzList *list = rz_list_newf((RzListFree)rz_bin_symbol_free);
@ -1274,7 +1274,7 @@ RZ_API RZ_OWN RzList *rz_bin_java_class_fields_as_symbols(RZ_NONNULL RzBinJavaCl
/**
* \brief Returns a RzList<RzBinField*> containing the class fields
*/
RZ_API RZ_OWN RzList *rz_bin_java_class_fields_as_binfields(RZ_NONNULL RzBinJavaClass *bin) {
RZ_API RZ_OWN RzList /*<RzBinField *>*/ *rz_bin_java_class_fields_as_binfields(RZ_NONNULL RzBinJavaClass *bin) {
rz_return_val_if_fail(bin, NULL);
RzList *list = rz_list_newf((RzListFree)rz_bin_field_free);
@ -1432,7 +1432,7 @@ static char *import_type(const ConstPool *cpool) {
/**
* \brief Returns a RzList<RzBinSymbol*> containing the class const pool
*/
RZ_API RZ_OWN RzList *rz_bin_java_class_const_pool_as_symbols(RZ_NONNULL RzBinJavaClass *bin) {
RZ_API RZ_OWN RzList /*<RzBinSymbol *>*/ *rz_bin_java_class_const_pool_as_symbols(RZ_NONNULL RzBinJavaClass *bin) {
rz_return_val_if_fail(bin, NULL);
RzList *list = rz_list_newf((RzListFree)rz_bin_symbol_free);
@ -1506,7 +1506,7 @@ RZ_API RZ_OWN RzList *rz_bin_java_class_const_pool_as_symbols(RZ_NONNULL RzBinJa
/**
* \brief Returns a RzList<RzBinImport*> containing the class const pool
*/
RZ_API RZ_OWN RzList *rz_bin_java_class_const_pool_as_imports(RZ_NONNULL RzBinJavaClass *bin) {
RZ_API RZ_OWN RzList /*<RzBinImport *>*/ *rz_bin_java_class_const_pool_as_imports(RZ_NONNULL RzBinJavaClass *bin) {
rz_return_val_if_fail(bin, NULL);
RzList *imports = rz_list_newf((RzListFree)rz_bin_import_free);
@ -1715,7 +1715,7 @@ static int compare_section_names(const void *a, const void *b) {
/**
* \brief Returns a RzList<RzBinSection*> containing the class sections
*/
RZ_API RZ_OWN RzList *rz_bin_java_class_as_sections(RZ_NONNULL RzBinJavaClass *bin) {
RZ_API RZ_OWN RzList /*<RzBinSection *>*/ *rz_bin_java_class_as_sections(RZ_NONNULL RzBinJavaClass *bin) {
rz_return_val_if_fail(bin, NULL);
RzList *sections = rz_list_newf(section_free);
@ -1843,7 +1843,7 @@ static int compare_strings(const void *a, const void *b) {
/**
* \brief Returns a RzList<char*> containing the class libraries
*/
RZ_API RZ_OWN RzList *rz_bin_java_class_as_libraries(RZ_NONNULL RzBinJavaClass *bin) {
RZ_API RZ_OWN RzList /*<char *>*/ *rz_bin_java_class_as_libraries(RZ_NONNULL RzBinJavaClass *bin) {
rz_return_val_if_fail(bin, NULL);
RzList *list = rz_list_newf(free);

View file

@ -80,21 +80,21 @@ RZ_API RZ_OWN char *rz_bin_java_class_const_pool_resolve_index(RZ_NONNULL RzBinJ
/* used in bin_java.c and core_java.c */
RZ_API void rz_bin_java_class_as_source_code(RZ_NONNULL RzBinJavaClass *bin, RZ_NONNULL RzStrBuf *sb);
RZ_API RZ_OWN RzBinAddr *rz_bin_java_class_resolve_symbol(RZ_NONNULL RzBinJavaClass *bin, RzBinSpecialSymbol resolve);
RZ_API RZ_OWN RzList *rz_bin_java_class_strings(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList *rz_bin_java_class_entrypoints(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList *rz_bin_java_class_methods_as_symbols(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList /*<RzBinString *>*/ *rz_bin_java_class_strings(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList /*<RzBinAddr *>*/ *rz_bin_java_class_entrypoints(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList /*<RzBinSymbol *>*/ *rz_bin_java_class_methods_as_symbols(RZ_NONNULL RzBinJavaClass *bin);
RZ_API void rz_bin_java_class_methods_as_text(RZ_NONNULL RzBinJavaClass *bin, RZ_NONNULL RzStrBuf *sb);
RZ_API void rz_bin_java_class_methods_as_json(RZ_NONNULL RzBinJavaClass *bin, RZ_NONNULL PJ *j);
RZ_API RZ_OWN RzList *rz_bin_java_class_fields_as_symbols(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList *rz_bin_java_class_fields_as_binfields(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList /*<RzBinSymbol *>*/ *rz_bin_java_class_fields_as_symbols(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList /*<RzBinField *>*/ *rz_bin_java_class_fields_as_binfields(RZ_NONNULL RzBinJavaClass *bin);
RZ_API void rz_bin_java_class_fields_as_text(RZ_NONNULL RzBinJavaClass *bin, RZ_NONNULL RzStrBuf *sb);
RZ_API void rz_bin_java_class_fields_as_json(RZ_NONNULL RzBinJavaClass *bin, RZ_NONNULL PJ *j);
RZ_API RZ_OWN RzList *rz_bin_java_class_const_pool_as_symbols(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList *rz_bin_java_class_const_pool_as_imports(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList /*<RzBinSymbol *>*/ *rz_bin_java_class_const_pool_as_symbols(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList /*<RzBinImport *>*/ *rz_bin_java_class_const_pool_as_imports(RZ_NONNULL RzBinJavaClass *bin);
RZ_API void rz_bin_java_class_const_pool_as_text(RZ_NONNULL RzBinJavaClass *bin, RZ_NONNULL RzStrBuf *sb);
RZ_API void rz_bin_java_class_const_pool_as_json(RZ_NONNULL RzBinJavaClass *bin, RZ_NONNULL PJ *j);
RZ_API RZ_OWN RzList *rz_bin_java_class_as_sections(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList *rz_bin_java_class_as_libraries(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList /*<RzBinSection *>*/ *rz_bin_java_class_as_sections(RZ_NONNULL RzBinJavaClass *bin);
RZ_API RZ_OWN RzList /*<char *>*/ *rz_bin_java_class_as_libraries(RZ_NONNULL RzBinJavaClass *bin);
RZ_API void rz_bin_java_class_interfaces_as_text(RZ_NONNULL RzBinJavaClass *bin, RZ_NONNULL RzStrBuf *sb);
RZ_API void rz_bin_java_class_interfaces_as_json(RZ_NONNULL RzBinJavaClass *bin, RZ_NONNULL PJ *j);

View file

@ -94,7 +94,7 @@ static RzBinSymbol *le_get_symbol(rz_bin_le_obj_t *bin, ut64 *offset) {
return sym;
}
RzList *le_get_entries(rz_bin_le_obj_t *bin) {
RzList /*<char *>*/ *le_get_entries(rz_bin_le_obj_t *bin) {
ut64 offset = (ut64)bin->header->enttab + bin->headerOff;
RzList *l = rz_list_newf(free);
if (!l) {
@ -166,7 +166,7 @@ RzList *le_get_entries(rz_bin_le_obj_t *bin) {
return l;
}
static void le_get_symbols_at(rz_bin_le_obj_t *bin, RzList *syml, RzList *entl, ut64 offset, ut64 end) {
static void le_get_symbols_at(rz_bin_le_obj_t *bin, RzList /*<RzBinSymbol *>*/ *syml, RzList /*<char *>*/ *entl, ut64 offset, ut64 end) {
while (offset < end) {
RzBinSymbol *sym = le_get_symbol(bin, &offset);
if (!sym) {
@ -188,7 +188,7 @@ static void le_get_symbols_at(rz_bin_le_obj_t *bin, RzList *syml, RzList *entl,
}
}
RzList *rz_bin_le_get_symbols(rz_bin_le_obj_t *bin) {
RzList /*<RzBinSymbol *>*/ *rz_bin_le_get_symbols(rz_bin_le_obj_t *bin) {
RzList *l = rz_list_newf((RzListFree)rz_bin_symbol_free);
RzList *entries = le_get_entries(bin);
LE_image_header *h = bin->header;
@ -202,7 +202,7 @@ RzList *rz_bin_le_get_symbols(rz_bin_le_obj_t *bin) {
return l;
}
RzList *rz_bin_le_get_imports(rz_bin_le_obj_t *bin) {
RzList /*<RzBinImport *>*/ *rz_bin_le_get_imports(rz_bin_le_obj_t *bin) {
RzList *l = rz_list_newf((RzListFree)rz_bin_import_free);
if (!l) {
return NULL;
@ -226,7 +226,7 @@ RzList *rz_bin_le_get_imports(rz_bin_le_obj_t *bin) {
return l;
}
RzList *rz_bin_le_get_entrypoints(rz_bin_le_obj_t *bin) {
RzList /*<RzBinAddr *>*/ *rz_bin_le_get_entrypoints(rz_bin_le_obj_t *bin) {
RzList *l = rz_list_newf((RzListFree)free);
if (!l) {
return NULL;
@ -242,7 +242,7 @@ RzList *rz_bin_le_get_entrypoints(rz_bin_le_obj_t *bin) {
return l;
}
RzList *rz_bin_le_get_libs(rz_bin_le_obj_t *bin) {
RzList /*<char *>*/ *rz_bin_le_get_libs(rz_bin_le_obj_t *bin) {
RzList *l = rz_list_newf((RzListFree)free);
if (!l) {
return NULL;
@ -265,7 +265,7 @@ RzList *rz_bin_le_get_libs(rz_bin_le_obj_t *bin) {
* page->size is the total size of iter records that describe the page
* TODO: Don't do this
*/
static void __create_iter_sections(RzList *l, rz_bin_le_obj_t *bin, RzBinSection *sec, LE_object_page_entry *page, ut64 vaddr, int cur_page) {
static void __create_iter_sections(RzList /*<RzBinSection *>*/ *l, rz_bin_le_obj_t *bin, RzBinSection *sec, LE_object_page_entry *page, ut64 vaddr, int cur_page) {
rz_return_if_fail(l && bin && sec && page);
LE_image_header *h = bin->header;
ut32 offset = (h->itermap + (page->offset << (bin->is_le ? 0 : h->pageshift)));
@ -335,7 +335,7 @@ static void __create_iter_sections(RzList *l, rz_bin_le_obj_t *bin, RzBinSection
}
// TODO: Compressed page
RzList *rz_bin_le_get_sections(rz_bin_le_obj_t *bin) {
RzList /*<RzBinSection *>*/ *rz_bin_le_get_sections(rz_bin_le_obj_t *bin) {
RzList *l = rz_list_newf((RzListFree)rz_bin_section_free);
if (!l) {
return NULL;
@ -450,7 +450,7 @@ char *le_get_modname_by_ord(rz_bin_le_obj_t *bin, ut32 ordinal) {
return modname;
}
RzList *rz_bin_le_get_relocs(rz_bin_le_obj_t *bin) {
RzList /*<RzBinReloc *>*/ *rz_bin_le_get_relocs(rz_bin_le_obj_t *bin) {
RzList *l = rz_list_newf((RzListFree)free);
if (!l) {
return NULL;

View file

@ -21,10 +21,10 @@ typedef struct rz_bin_le_obj_s {
rz_bin_le_obj_t *rz_bin_le_new_buf(RzBuffer *buf);
void rz_bin_le_free(rz_bin_le_obj_t *bin);
RzList *rz_bin_le_get_entrypoints(rz_bin_le_obj_t *bin);
RzList *rz_bin_le_get_sections(rz_bin_le_obj_t *bin);
RzList *rz_bin_le_get_symbols(rz_bin_le_obj_t *bin);
RzList *rz_bin_le_get_imports(rz_bin_le_obj_t *bin);
RzList *rz_bin_le_get_libs(rz_bin_le_obj_t *bin);
RzList *rz_bin_le_get_relocs(rz_bin_le_obj_t *bin);
RzList /*<RzBinAddr *>*/ *rz_bin_le_get_entrypoints(rz_bin_le_obj_t *bin);
RzList /*<RzBinSection *>*/ *rz_bin_le_get_sections(rz_bin_le_obj_t *bin);
RzList /*<RzBinSymbol *>*/ *rz_bin_le_get_symbols(rz_bin_le_obj_t *bin);
RzList /*<RzBinImport *>*/ *rz_bin_le_get_imports(rz_bin_le_obj_t *bin);
RzList /*<char *>*/ *rz_bin_le_get_libs(rz_bin_le_obj_t *bin);
RzList /*<RzBinReloc *>*/ *rz_bin_le_get_relocs(rz_bin_le_obj_t *bin);
#endif

View file

@ -3,7 +3,7 @@
#include "luac_common.h"
void luac_add_section(RzList *section_list, char *name, ut64 offset, ut32 size, bool is_func) {
void luac_add_section(RzList /*<RzBinSection *>*/ *section_list, char *name, ut64 offset, ut32 size, bool is_func) {
RzBinSection *bin_sec = RZ_NEW0(RzBinSection);
if (!bin_sec || !name) {
free(bin_sec);
@ -30,7 +30,7 @@ void luac_add_section(RzList *section_list, char *name, ut64 offset, ut32 size,
}
}
void luac_add_symbol(RzList *symbol_list, char *name, ut64 offset, ut64 size, const char *type) {
void luac_add_symbol(RzList /*<RzBinSymbol *>*/ *symbol_list, char *name, ut64 offset, ut64 size, const char *type) {
RzBinSymbol *bin_sym = RZ_NEW0(RzBinSymbol);
if (!bin_sym) {
return;
@ -44,7 +44,7 @@ void luac_add_symbol(RzList *symbol_list, char *name, ut64 offset, ut64 size, co
rz_list_append(symbol_list, bin_sym);
}
void luac_add_entry(RzList *entry_list, ut64 offset, int entry_type) {
void luac_add_entry(RzList /*<RzBinAddr *>*/ *entry_list, ut64 offset, int entry_type) {
RzBinAddr *entry = RZ_NEW0(RzBinAddr);
if (!entry) {
return;
@ -57,7 +57,7 @@ void luac_add_entry(RzList *entry_list, ut64 offset, int entry_type) {
rz_list_append(entry_list, entry);
}
void luac_add_string(RzList *string_list, char *string, ut64 offset, ut64 size) {
void luac_add_string(RzList /*<RzBinString *>*/ *string_list, char *string, ut64 offset, ut64 size) {
RzBinString *bin_string = RZ_NEW0(RzBinString);
if (!bin_string) {
return;

View file

@ -60,27 +60,27 @@ typedef struct lua_proto_ex {
ut64 code_skipped; ///< opcode data offset to code_offset.
/* store constant entries */
RzList *const_entries; ///< A list to store constant entries
RzList /*<LuaConstEntry *>*/ *const_entries; ///< A list to store constant entries
ut64 const_offset; ///< const section offset
ut64 const_size; ///< const section size
/* store upvalue entries */
RzList *upvalue_entries; ///< A list to store upvalue entries
RzList /*<LuaUpvalueEntry *>*/ *upvalue_entries; ///< A list to store upvalue entries
ut64 upvalue_offset; ///< upvalue section offset
ut64 upvalue_size; ///< upvalue section size
/* store protos defined in this proto */
RzList *proto_entries; ///< A list to store sub proto entries
RzList /*<LuaProto *>*/ *proto_entries; ///< A list to store sub proto entries
ut64 inner_proto_offset; ///< sub proto section offset
ut64 inner_proto_size; ///< sub proto section size
/* store Debug info */
ut64 debug_offset; ///< debug section offset
ut64 debug_size; ///< debug section size
RzList *line_info_entries; ///< A list to store line info entries
RzList *abs_line_info_entries; ///< A list to store absolutely line info entries
RzList *local_var_info_entries; ///< A list to store local var entries
RzList *dbg_upvalue_entries; ///< A list to store upvalue names
RzList /*<LuaLineinfoEntry *>*/ *line_info_entries; ///< A list to store line info entries
RzList /*<LuaAbsLineinfoEntry *>*/ *abs_line_info_entries; ///< A list to store absolutely line info entries
RzList /*<LuaLocalVarEntry *>*/ *local_var_info_entries; ///< A list to store local var entries
RzList /*<LuaLocalVarEntry *>*/ *dbg_upvalue_entries; ///< A list to store upvalue names
} LuaProtoHeavy;
@ -159,10 +159,10 @@ typedef struct lua_dbg_upvalue_entry {
typedef struct luac_bin_info {
st32 major; ///< major version
st32 minor; ///< minor version
RzList *section_list; ///< list of sections
RzList *symbol_list; ///< list of symbols
RzList *entry_list; ///< list of entries
RzList *string_list; ///< list of strings
RzList /*<RzBinSection *>*/ *section_list; ///< list of sections
RzList /*<RzBinSymbol *>*/ *symbol_list; ///< list of symbols
RzList /*<RzBinAddr *>*/ *entry_list; ///< list of entries
RzList /*<RzBinString *>*/ *string_list; ///< list of strings
RzBinInfo *general_info; ///< general binary info from luac header
} LuacBinInfo;
@ -187,10 +187,10 @@ void lua_free_proto_entry(LuaProto *);
* Common Operation to RzBinInfo
* Implemented in 'bin/format/luac/luac_bin.c'
* ======================================================== */
void luac_add_section(RzList *section_list, char *name, ut64 offset, ut32 size, bool is_func);
void luac_add_symbol(RzList *symbol_list, char *name, ut64 offset, ut64 size, const char *type);
void luac_add_entry(RzList *entry_list, ut64 offset, int entry_type);
void luac_add_string(RzList *string_list, char *string, ut64 offset, ut64 size);
void luac_add_section(RzList /*<RzBinSection *>*/ *section_list, char *name, ut64 offset, ut32 size, bool is_func);
void luac_add_symbol(RzList /*<RzBinSymbol *>*/ *symbol_list, char *name, ut64 offset, ut64 size, const char *type);
void luac_add_entry(RzList /*<RzBinAddr *>*/ *entry_list, ut64 offset, int entry_type);
void luac_add_string(RzList /*<RzBinString *>*/ *string_list, char *string, ut64 offset, ut64 size);
LuacBinInfo *luac_build_info(LuaProto *proto);
void luac_build_info_free(LuacBinInfo *bin_info);

View file

@ -482,7 +482,7 @@ beach:
free(cmds);
}
static RzList *create_cache_bins(RzDyldCache *cache) {
static RzList /*<RzDyldBinImage *>*/ *create_cache_bins(RzDyldCache *cache) {
RzList *bins = rz_list_newf((RzListFree)free_bin);
if (!bins) {
return NULL;
@ -1117,7 +1117,7 @@ RZ_API ut64 rz_dyldcache_get_slide(RzDyldCache *cache) {
return 0;
}
RZ_API void rz_dyldcache_symbols_from_locsym(RzDyldCache *cache, RzDyldBinImage *bin, RzList *symbols, SetU *hash) {
RZ_API void rz_dyldcache_symbols_from_locsym(RzDyldCache *cache, RzDyldBinImage *bin, RzList /*<RzBinSymbol *>*/ *symbols, SetU *hash) {
RzDyldLocSym *locsym = cache->locsym;
if (!locsym) {
return;

View file

@ -101,7 +101,7 @@ typedef struct rz_dyldcache_t {
cache_map_t *maps;
ut32 n_maps;
RzList *bins;
RzList /*<RzDyldBinImage *>*/ *bins;
RzBuffer *buf;
RzDyldRebaseInfos *rebase_infos;
cache_accel_t *accel;
@ -116,7 +116,7 @@ RZ_API void rz_dyldcache_free(RzDyldCache *cache);
RZ_API ut64 rz_dyldcache_va2pa(RzDyldCache *cache, uint64_t vaddr, ut32 *offset, ut32 *left);
RZ_API ut64 rz_dyldcache_get_slide(RzDyldCache *cache);
RZ_API objc_cache_opt_info *rz_dyldcache_get_objc_opt_info(RzBinFile *bf, RzDyldCache *cache);
RZ_API void rz_dyldcache_symbols_from_locsym(RzDyldCache *cache, RzDyldBinImage *bin, RzList *symbols, SetU *hash);
RZ_API void rz_dyldcache_symbols_from_locsym(RzDyldCache *cache, RzDyldBinImage *bin, RzList /*<RzBinSymbol *>*/ *symbols, SetU *hash);
RZ_API RzBuffer *rz_dyldcache_new_rebasing_buf(RzDyldCache *cache);
RZ_API bool rz_dyldcache_needs_rebasing(RzDyldCache *cache);

View file

@ -2160,7 +2160,7 @@ static bool __isDataSection(RzBinSection *sect) {
return false;
}
RzList *MACH0_(get_virtual_files)(RzBinFile *bf) {
RzList /*<RzBinVirtualFile *>*/ *MACH0_(get_virtual_files)(RzBinFile *bf) {
rz_return_val_if_fail(bf, NULL);
RzList *ret = rz_list_newf((RzListFree)rz_bin_virtual_file_free);
if (!ret) {
@ -2215,7 +2215,7 @@ RzList *MACH0_(get_virtual_files)(RzBinFile *bf) {
return ret;
}
RzList *MACH0_(get_maps_unpatched)(RzBinFile *bf) {
RzList /*<RzBinMap *>*/ *MACH0_(get_maps_unpatched)(RzBinFile *bf) {
rz_return_val_if_fail(bf, NULL);
struct MACH0_(obj_t) *bin = bf->o->bin_obj;
RzList *ret = rz_list_newf((RzListFree)rz_bin_map_free);
@ -2250,7 +2250,7 @@ RzList *MACH0_(get_maps_unpatched)(RzBinFile *bf) {
return ret;
}
RzList *MACH0_(get_maps)(RzBinFile *bf) {
RzList /*<RzBinMap *>*/ *MACH0_(get_maps)(RzBinFile *bf) {
RzList *ret = MACH0_(get_maps_unpatched)(bf);
if (!ret) {
return NULL;
@ -2265,7 +2265,7 @@ RzList *MACH0_(get_maps)(RzBinFile *bf) {
return ret;
}
RzList *MACH0_(get_segments)(RzBinFile *bf) {
RzList /*<RzBinSection *>*/ *MACH0_(get_segments)(RzBinFile *bf) {
struct MACH0_(obj_t) *bin = bf->o->bin_obj;
if (bin->sections_cache) {
return bin->sections_cache;
@ -2376,7 +2376,7 @@ char *MACH0_(section_type_to_string)(ut64 type) {
}
}
RzList *MACH0_(section_flag_to_rzlist)(ut64 flag) {
RzList /*<char *>*/ *MACH0_(section_flag_to_rzlist)(ut64 flag) {
RzList *flag_list = rz_list_new();
if (flag & S_ATTR_PURE_INSTRUCTIONS) {
rz_list_append(flag_list, "PURE_INSTRUCTIONS");
@ -3760,7 +3760,7 @@ void MACH0_(mach_headerfields)(RzBinFile *bf) {
free(mh);
}
RzList *MACH0_(mach_fields)(RzBinFile *bf) {
RzList /*<RzBinField *>*/ *MACH0_(mach_fields)(RzBinFile *bf) {
RzBuffer *buf = bf->buf;
ut64 length = rz_buf_size(buf);
struct MACH0_(mach_header) *mh = MACH0_(get_hdr)(buf);

View file

@ -178,14 +178,14 @@ struct MACH0_(obj_t) {
struct symbol_t *symbols;
ut64 main_addr;
RzList *sections_cache;
RzList /*<RzBinSection *>*/ *sections_cache;
RzSkipList *relocs; ///< lazily loaded, use only MACH0_(get_relocs)() to access this
bool relocs_parsed; ///< whether relocs have already been parsed and relocs is filled (or NULL on error)
bool reloc_targets_map_base_calculated;
bool relocs_patched;
RzBuffer *buf_patched;
ut64 reloc_targets_map_base;
RzPVector /* <struct reloc_t> */ *patchable_relocs; ///< weak pointers to relocs in `relocs` which should be patched
RzPVector /*<struct reloc_t *>*/ *patchable_relocs; ///< weak pointers to relocs in `relocs` which should be patched
RzHash *hash;
};
@ -198,11 +198,11 @@ struct MACH0_(obj_t) * MACH0_(new_buf)(RzBuffer *buf, struct MACH0_(opts_t) * op
void *MACH0_(mach0_free)(struct MACH0_(obj_t) * bin);
struct section_t *MACH0_(get_sections)(struct MACH0_(obj_t) * bin);
char *MACH0_(section_type_to_string)(ut64 type);
RzList *MACH0_(section_flag_to_rzlist)(ut64 flag);
RzList *MACH0_(get_virtual_files)(RzBinFile *bf);
RzList *MACH0_(get_maps_unpatched)(RzBinFile *bf);
RzList *MACH0_(get_maps)(RzBinFile *bf);
RzList *MACH0_(get_segments)(RzBinFile *bf);
RzList /*<char *>*/ *MACH0_(section_flag_to_rzlist)(ut64 flag);
RzList /*<RzBinVirtualFile *>*/ *MACH0_(get_virtual_files)(RzBinFile *bf);
RzList /*<RzBinMap *>*/ *MACH0_(get_maps_unpatched)(RzBinFile *bf);
RzList /*<RzBinMap *>*/ *MACH0_(get_maps)(RzBinFile *bf);
RzList /*<RzBinSection *>*/ *MACH0_(get_segments)(RzBinFile *bf);
const struct symbol_t *MACH0_(get_symbols)(struct MACH0_(obj_t) * bin);
void MACH0_(pull_symbols)(struct MACH0_(obj_t) * mo, RzBinSymbolCallback cb, void *user);
struct import_t *MACH0_(get_imports)(struct MACH0_(obj_t) * bin);
@ -227,7 +227,7 @@ const char *MACH0_(get_cputype_from_hdr)(struct MACH0_(mach_header) * hdr);
int MACH0_(get_bits_from_hdr)(struct MACH0_(mach_header) * hdr);
struct MACH0_(mach_header) * MACH0_(get_hdr)(RzBuffer *buf);
void MACH0_(mach_headerfields)(RzBinFile *bf);
RzList *MACH0_(mach_fields)(RzBinFile *bf);
RzList /*<RzBinField *>*/ *MACH0_(mach_fields)(RzBinFile *bf);
RZ_API RZ_OWN char *MACH0_(get_name)(struct MACH0_(obj_t) * mo, ut32 stridx, bool filter);
RZ_API ut64 MACH0_(paddr_to_vaddr)(struct MACH0_(obj_t) * bin, ut64 offset);
RZ_API ut64 MACH0_(vaddr_to_paddr)(struct MACH0_(obj_t) * bin, ut64 addr);

View file

@ -497,7 +497,7 @@ beach:
return relocs;
}
static RzPVector *get_patchable_relocs(struct MACH0_(obj_t) * obj) {
static RzPVector /*<struct reloc_t *>*/ *get_patchable_relocs(struct MACH0_(obj_t) * obj) {
if (!obj->options.patch_relocs) {
return NULL;
}

View file

@ -49,8 +49,8 @@ struct rz_bin_mdmp_obj {
} streams;
/* Binary memory objects */
RzList *pe32_bins;
RzList *pe64_bins;
RzList /*<struct Pe32_rz_bin_mdmp_pe_bin *>*/ *pe32_bins;
RzList /*<struct Pe64_rz_bin_mdmp_pe_bin *>*/ *pe64_bins;
RzBuffer *b;
size_t size;

View file

@ -7,7 +7,7 @@
#include "mdmp_pe.h"
static void PE_(add_tls_callbacks)(struct PE_(rz_bin_pe_obj_t) * bin, RzList *list) {
static void PE_(add_tls_callbacks)(struct PE_(rz_bin_pe_obj_t) * bin, RzList /*<RzBinAddr *>*/ *list) {
char *key;
int count = 0;
PE_DWord haddr, paddr, vaddr;
@ -42,7 +42,7 @@ static void PE_(add_tls_callbacks)(struct PE_(rz_bin_pe_obj_t) * bin, RzList *li
} while (vaddr);
}
RzList *PE_(rz_bin_mdmp_pe_get_entrypoint)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin) {
RzList /*<RzBinAddr *>*/ *PE_(rz_bin_mdmp_pe_get_entrypoint)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin) {
ut64 offset;
struct rz_bin_pe_addr_t *entry = NULL;
RzBinAddr *ptr = NULL;
@ -87,7 +87,7 @@ static void filter_import(ut8 *n) {
}
}
RzList *PE_(rz_bin_mdmp_pe_get_imports)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin) {
RzList /*<RzBinImport *>*/ *PE_(rz_bin_mdmp_pe_get_imports)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin) {
int i;
ut64 offset;
struct rz_bin_pe_import_t *imports = NULL;
@ -143,7 +143,7 @@ RzList *PE_(rz_bin_mdmp_pe_get_imports)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin)
return ret;
}
RzList *PE_(rz_bin_mdmp_pe_get_sections)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin) {
RzList /*<RzBinSection *>*/ *PE_(rz_bin_mdmp_pe_get_sections)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin) {
/* TODO: Vet code, taken verbatim(ish) from bin_pe.c */
int i;
ut64 ba = pe_bin->vaddr; // baddr (arch);
@ -209,7 +209,7 @@ RzList *PE_(rz_bin_mdmp_pe_get_sections)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin
return ret;
}
RzList *PE_(rz_bin_mdmp_pe_get_symbols)(RzBin *rbin, struct PE_(rz_bin_mdmp_pe_bin) * pe_bin) {
RzList /*<RzBinSymbol *>*/ *PE_(rz_bin_mdmp_pe_get_symbols)(RzBin *rbin, struct PE_(rz_bin_mdmp_pe_bin) * pe_bin) {
int i;
ut64 offset;
struct rz_bin_pe_export_t *symbols = NULL;

View file

@ -20,9 +20,9 @@ struct PE_(rz_bin_mdmp_pe_bin) {
struct PE_(rz_bin_pe_obj_t) * bin;
};
RzList *PE_(rz_bin_mdmp_pe_get_entrypoint)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin);
RzList *PE_(rz_bin_mdmp_pe_get_imports)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin);
RzList *PE_(rz_bin_mdmp_pe_get_sections)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin);
RzList *PE_(rz_bin_mdmp_pe_get_symbols)(RzBin *rbin, struct PE_(rz_bin_mdmp_pe_bin) * pe_bin);
RzList /*<RzBinAddr *>*/ *PE_(rz_bin_mdmp_pe_get_entrypoint)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin);
RzList /*<RzBinImport *>*/ *PE_(rz_bin_mdmp_pe_get_imports)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin);
RzList /*<RzBinSection *>*/ *PE_(rz_bin_mdmp_pe_get_sections)(struct PE_(rz_bin_mdmp_pe_bin) * pe_bin);
RzList /*<RzBinSymbol *>*/ *PE_(rz_bin_mdmp_pe_get_symbols)(RzBin *rbin, struct PE_(rz_bin_mdmp_pe_bin) * pe_bin);
#endif /* MDMP_PE_H */

View file

@ -59,7 +59,7 @@ static RzBinSection *rz_bin_mz_init_section(const struct rz_bin_mz_obj_t *bin,
return section;
}
RzList *rz_bin_mz_get_segments(const struct rz_bin_mz_obj_t *bin) {
RzList /*<RzBinSection *>*/ *rz_bin_mz_get_segments(const struct rz_bin_mz_obj_t *bin) {
RzList *seg_list;
RzListIter *iter;
RzBinSection *section;

View file

@ -39,7 +39,7 @@ struct rz_bin_mz_obj_t {
};
RzBinAddr *rz_bin_mz_get_entrypoint(const struct rz_bin_mz_obj_t *bin);
RzList *rz_bin_mz_get_segments(const struct rz_bin_mz_obj_t *bin);
RzList /*<RzBinSection *>*/ *rz_bin_mz_get_segments(const struct rz_bin_mz_obj_t *bin);
struct rz_bin_mz_reloc_t *rz_bin_mz_get_relocs(const struct rz_bin_mz_obj_t *bin);
void *rz_bin_mz_free(struct rz_bin_mz_obj_t *bin);
struct rz_bin_mz_obj_t *rz_bin_mz_new(const char *file);

View file

@ -75,7 +75,7 @@ static char *__func_name_from_ord(char *module, ut16 ordinal) {
return name;
}
RzList *rz_bin_ne_get_segments(rz_bin_ne_obj_t *bin) {
RzList /*<RzBinSection *>*/ *rz_bin_ne_get_segments(rz_bin_ne_obj_t *bin) {
int i;
if (!bin) {
return NULL;
@ -118,7 +118,7 @@ static void ne_sanitize_name(char *name, ut16 count) {
}
}
RzList *rz_bin_ne_get_symbols(rz_bin_ne_obj_t *bin) {
RzList /*<RzBinSymbol *>*/ *rz_bin_ne_get_symbols(rz_bin_ne_obj_t *bin) {
RzBinSymbol *sym;
ut16 off = bin->ne_header->ResidNamTable + bin->header_offset;
RzList *symbols = rz_list_newf(free);
@ -354,7 +354,7 @@ static bool __ne_get_resources(rz_bin_ne_obj_t *bin) {
return true;
}
RzList *rz_bin_ne_get_imports(rz_bin_ne_obj_t *bin) {
RzList /*<RzBinImport *>*/ *rz_bin_ne_get_imports(rz_bin_ne_obj_t *bin) {
RzList *imports = rz_list_newf((RzListFree)rz_bin_import_free);
if (!imports) {
return NULL;
@ -390,7 +390,7 @@ RzList *rz_bin_ne_get_imports(rz_bin_ne_obj_t *bin) {
return imports;
}
RzList *rz_bin_ne_get_entrypoints(rz_bin_ne_obj_t *bin) {
RzList /*<RzBinAddr *>*/ *rz_bin_ne_get_entrypoints(rz_bin_ne_obj_t *bin) {
RzList *entries = rz_list_newf(free);
if (!entries) {
return NULL;
@ -472,7 +472,7 @@ end:
return entries;
}
RzList *rz_bin_ne_get_relocs(rz_bin_ne_obj_t *bin) {
RzList /*<RzBinReloc *>*/ *rz_bin_ne_get_relocs(rz_bin_ne_obj_t *bin) {
RzList *segments = bin->segments;
if (!segments) {
return NULL;

View file

@ -17,7 +17,7 @@ typedef struct {
typedef struct {
char *name;
RzList /*<rz_ne_resource_entry>*/ *entry;
RzList /*<rz_ne_resource_entry *>*/ *entry;
} rz_ne_resource;
typedef struct {
@ -28,20 +28,20 @@ typedef struct {
ut8 *entry_table;
ut8 *resident_name_table;
RzBuffer *buf;
RzList *segments;
RzList *entries;
RzList *resources;
RzList *imports;
RzList *symbols;
RzList /*<RzBinSection *>*/ *segments;
RzList /*<RzBinAddr *>*/ *entries;
RzList /*<rz_ne_resource *>*/ *resources;
RzList /*<RzBinImport *>*/ *imports;
RzList /*<RzBinSymbol *>*/ *symbols;
char *os;
} rz_bin_ne_obj_t;
void rz_bin_ne_free(rz_bin_ne_obj_t *bin);
rz_bin_ne_obj_t *rz_bin_ne_new_buf(RzBuffer *buf, bool verbose);
RzList *rz_bin_ne_get_relocs(rz_bin_ne_obj_t *bin);
RzList *rz_bin_ne_get_imports(rz_bin_ne_obj_t *bin);
RzList *rz_bin_ne_get_symbols(rz_bin_ne_obj_t *bin);
RzList *rz_bin_ne_get_segments(rz_bin_ne_obj_t *bin);
RzList *rz_bin_ne_get_entrypoints(rz_bin_ne_obj_t *bin);
RzList /*<RzBinReloc *>*/ *rz_bin_ne_get_relocs(rz_bin_ne_obj_t *bin);
RzList /*<RzBinImport *>*/ *rz_bin_ne_get_imports(rz_bin_ne_obj_t *bin);
RzList /*<RzBinSymbol *>*/ *rz_bin_ne_get_symbols(rz_bin_ne_obj_t *bin);
RzList /*<RzBinSection *>*/ *rz_bin_ne_get_segments(rz_bin_ne_obj_t *bin);
RzList /*<RzBinAddr *>*/ *rz_bin_ne_get_entrypoints(rz_bin_ne_obj_t *bin);
#endif

View file

@ -59,9 +59,8 @@ typedef struct {
typedef struct {
ut32 *strings;
RzList *methods_list;
RzList *imports_list;
RzList *classes_list;
RzList /*<RzBinSymbol *>*/ *methods_list;
RzList /*<RzBinImport *>*/ *imports_list;
RZ_NULLABLE RzBuffer *decompressed; /// nso-only
void *header;
} RzBinNXOObj;

View file

@ -113,7 +113,7 @@ static void get_objc_property_list(mach0_ut p, RzBinFile *bf, RzBuffer *buf, RzB
static void get_method_list_t(mach0_ut p, RzBinFile *bf, RzBuffer *buf, char *class_name, RzBinClass *klass, bool is_static, objc_cache_opt_info *oi);
static void get_protocol_list_t(mach0_ut p, RzBinFile *bf, RzBuffer *buf, RzBinClass *klass, objc_cache_opt_info *oi);
static void get_class_ro_t(mach0_ut p, RzBinFile *bf, RzBuffer *buf, ut32 *is_meta_class, RzBinClass *klass, objc_cache_opt_info *oi);
static RzList *MACH0_(parse_categories)(RzBinFile *bf, RzBuffer *buf, RzSkipList *relocs, objc_cache_opt_info *oi);
static RzList /*<RzBinClass *>*/ *MACH0_(parse_categories)(RzBinFile *bf, RzBuffer *buf, RzSkipList *relocs, objc_cache_opt_info *oi);
static bool read_ptr_pa(RzBinFile *bf, RzBuffer *buf, ut64 paddr, mach0_ut *out);
static bool read_ptr_va(RzBinFile *bf, RzBuffer *buf, ut64 vaddr, mach0_ut *out);
static char *read_str(RzBinFile *bf, RzBuffer *buf, mach0_ut p, ut32 *offset, ut32 *left);
@ -1240,8 +1240,8 @@ static RzList *parse_swift_classes(RzBinFile *bf) {
}
#endif
RZ_API RzList *MACH0_(parse_classes)(RzBinFile *bf, objc_cache_opt_info *oi) {
RzList /*<RzBinClass>*/ *ret = NULL;
RZ_API RzList /*<RzBinClass *>*/ *MACH0_(parse_classes)(RzBinFile *bf, objc_cache_opt_info *oi) {
RzList /*<RzBinClass *>*/ *ret = NULL;
ut64 num_of_unnamed_class = 0;
RzBinClass *klass = NULL;
ut32 i = 0, size = 0;
@ -1365,7 +1365,7 @@ get_classes_error:
return NULL;
}
static RzList *MACH0_(parse_categories)(RzBinFile *bf, RzBuffer *buf, RzSkipList *relocs, objc_cache_opt_info *oi) {
static RzList /*<RzBinClass *>*/ *MACH0_(parse_categories)(RzBinFile *bf, RzBuffer *buf, RzSkipList *relocs, objc_cache_opt_info *oi) {
rz_return_val_if_fail(bf && bf->o && bf->o->bin_obj && bf->o->info, NULL);
RzList /*<RzBinClass>*/ *ret = NULL;

View file

@ -21,7 +21,7 @@
#ifndef MACH0_CLASSES_H
#define MACH0_CLASSES_H
RZ_API RzList *MACH0_(parse_classes)(RzBinFile *bf, objc_cache_opt_info *oi);
RZ_API RzList /*<RzBinClass *>*/ *MACH0_(parse_classes)(RzBinFile *bf, objc_cache_opt_info *oi);
RZ_API void MACH0_(get_class_t)(mach0_ut p, RzBinFile *bf, RzBuffer *buf, RzBinClass *klass, bool dupe, RzSkipList *relocs, objc_cache_opt_info *oi);
RZ_API void MACH0_(get_category_t)(mach0_ut p, RzBinFile *bf, RzBuffer *buf, RzBinClass *klass, RzSkipList *relocs, objc_cache_opt_info *oi);

View file

@ -743,7 +743,7 @@ int rz_bin_omf_get_bits(rz_bin_omf_obj *obj) {
return 16;
}
int rz_bin_omf_send_sections(RzList *list, OMF_segment *section, rz_bin_omf_obj *obj) {
int rz_bin_omf_send_sections(RzList /*<RzBinSection *>*/ *list, OMF_segment *section, rz_bin_omf_obj *obj) {
RzBinSection *new;
OMF_data *data = section->data;
ut32 ct_name = 1;

View file

@ -65,7 +65,7 @@ rz_bin_omf_obj *rz_bin_internal_omf_load(const ut8 *buf, ut64 size);
void rz_bin_free_all_omf_obj(rz_bin_omf_obj *obj);
bool rz_bin_omf_get_entry(rz_bin_omf_obj *obj, RzBinAddr *addr);
int rz_bin_omf_get_bits(rz_bin_omf_obj *obj);
int rz_bin_omf_send_sections(RzList *list, OMF_segment *section, rz_bin_omf_obj *obj);
int rz_bin_omf_send_sections(RzList /*<RzBinSection *>*/ *list, OMF_segment *section, rz_bin_omf_obj *obj);
ut64 rz_bin_omf_get_paddr_sym(rz_bin_omf_obj *obj, OMF_symbol *sym);
ut64 rz_bin_omf_get_vaddr_sym(rz_bin_omf_obj *obj, OMF_symbol *sym);

View file

@ -150,7 +150,7 @@ typedef struct {
typedef struct {
Pe_image_clr_header *header;
Pe_image_metadata_header *metadata_header;
RzList /* Pe_image_metadata_stream */ *streams;
RzList /*<Pe_image_metadata_stream *>*/ *streams;
// special streams
Pe_image_metadata_stream *tilde_stream;
@ -160,8 +160,8 @@ typedef struct {
// header data
Pe_image_metadata_tilde_header *tilde;
RzBuffer *strings;
RzPVector /* Pe_image_metadata_methoddef */ *methoddefs;
RzList /* Pe_image_metadata_typedef */ *typedefs;
RzPVector /*<Pe_image_metadata_methoddef *>*/ *methoddefs;
RzList /*<Pe_image_metadata_typedef *>*/ *typedefs;
} Pe_image_clr;
int bin_pe_dotnet_init_metadata(Pe_image_clr *clr, bool big_endian, RzBuffer *b, ut64 metadata_directory);

View file

@ -158,9 +158,9 @@ struct PE_(rz_bin_pe_obj_t) {
int endian;
bool verbose;
int big_endian;
RzList *rich_entries;
RzList *relocs;
RzList *resources; // RzList of rz_pe_resources
RzList /*<Pe_image_rich_entry *>*/ *rich_entries;
RzList /*<RzBinReloc *>*/ *relocs;
RzList /*<rz_pe_resource *>*/ *resources;
const char *file;
RzBuffer *b;
Sdb *kv;
@ -177,7 +177,7 @@ struct PE_(rz_bin_pe_obj_t) {
#define PE_READ_STRUCT_FIELD(var, struct_type, field, size) var->field = rz_read_le##size(buf + offsetof(struct_type, field))
// pe_clr.c
RZ_OWN RzList *PE_(rz_bin_pe_get_clr_symbols)(RzBinPEObj *bin);
RZ_OWN RzList /*<RzBinSymbol *>*/ *PE_(rz_bin_pe_get_clr_symbols)(RzBinPEObj *bin);
ut64 PE_(rz_bin_pe_get_clr_methoddef_offset)(RzBinPEObj *bin, Pe_image_metadata_methoddef *methoddef);
int PE_(bin_pe_init_clr)(RzBinPEObj *bin);
@ -234,7 +234,7 @@ int PE_(bin_pe_init_resource)(RzBinPEObj *bin);
// pe_section.c
int PE_(bin_pe_init_sections)(RzBinPEObj *bin);
void PE_(rz_bin_pe_check_sections)(RzBinPEObj *bin, struct rz_bin_pe_section_t **sects);
RzList *PE_(section_flag_to_rzlist)(ut64 flag);
RzList /*<char *>*/ *PE_(section_flag_to_rzlist)(ut64 flag);
struct rz_bin_pe_section_t *PE_(rz_bin_pe_get_sections)(RzBinPEObj *bin);
// pe_security.c

View file

@ -5,11 +5,11 @@
#include "pe.h"
RZ_OWN RzList /* RzBinSymbol */ *PE_(rz_bin_pe_get_clr_symbols)(RzBinPEObj *bin) {
RZ_OWN RzList /*<RzBinSymbol *>*/ *PE_(rz_bin_pe_get_clr_symbols)(RzBinPEObj *bin) {
if (!bin || !bin->clr || !bin->clr->methoddefs) {
return NULL;
}
RzList /* RzBinSymbol */ *methods = rz_list_newf((RzListFree)rz_bin_symbol_free);
RzList /*<RzBinSymbol *>*/ *methods = rz_list_newf((RzListFree)rz_bin_symbol_free);
if (!methods) {
return NULL;
}
@ -139,4 +139,4 @@ int PE_(bin_pe_init_clr)(RzBinPEObj *bin) {
bin->clr = clr;
return 0;
}
}

View file

@ -110,7 +110,7 @@ out_function:
return;
}
RzList *PE_(section_flag_to_rzlist)(ut64 flag) {
RzList /*<char *>*/ *PE_(section_flag_to_rzlist)(ut64 flag) {
RzList *flag_list = rz_list_new();
if (flag & IMAGE_SCN_TYPE_NO_PAD) {
rz_list_append(flag_list, "TYPE_NO_PAD");
@ -403,4 +403,4 @@ int PE_(bin_pe_init_sections)(RzBinPEObj *bin) {
out_error:
bin->num_sections = 0;
return false;
}
}

View file

@ -1120,7 +1120,7 @@ static pyc_object *get_object(RzBinPycObj *pyc, RzBuffer *buffer) {
return ret;
}
static bool extract_sections_symbols(RzBinPycObj *pyc, pyc_object *obj, RzList *sections, RzList *symbols, RzList *cobjs, char *prefix) {
static bool extract_sections_symbols(RzBinPycObj *pyc, pyc_object *obj, RzList /*<RzBinSection *>*/ *sections, RzList /*<RzBinSymbol *>*/ *symbols, RzList /*<pyc_code_object *>*/ *cobjs, char *prefix) {
pyc_code_object *cobj = NULL;
RzBinSection *section = NULL;
RzBinSymbol *symbol = NULL;
@ -1185,7 +1185,7 @@ fail:
return false;
}
bool get_sections_symbols_from_code_objects(RzBinPycObj *pyc, RzBuffer *buffer, RzList *sections, RzList *symbols, RzList *cobjs, ut32 magic) {
bool get_sections_symbols_from_code_objects(RzBinPycObj *pyc, RzBuffer *buffer, RzList /*<RzBinSection *>*/ *sections, RzList /*<RzBinSymbol *>*/ *symbols, RzList /*<pyc_code_object *>*/ *cobjs, ut32 magic) {
bool ret;
pyc->magic_int = magic;
pyc->refs = rz_list_newf((RzListFree)free_object);

View file

@ -77,15 +77,15 @@ typedef struct pyc_context {
ut64 code_start_offset;
struct pyc_version version;
/* used from marshall.c */
RzList *interned_table;
RzList *sections_cache;
RzList *shared;
RzList *refs; // If you don't have a good reason, do not change this. And also checkout !refs in get_code_object()
RzList /*<char *>*/ *interned_table;
RzList /*<RzBinSection *>*/ *sections_cache;
RzList /*<RzList<void *> *>*/ *shared;
RzList /*<pyc_object *>*/ *refs; // If you don't have a good reason, do not change this. And also checkout !refs in get_code_object()
ut32 magic_int;
ut32 symbols_ordinal;
} RzBinPycObj;
bool get_sections_symbols_from_code_objects(RzBinPycObj *pyc, RzBuffer *buffer, RzList *sections, RzList *symbols, RzList *objs, ut32 magic);
bool get_sections_symbols_from_code_objects(RzBinPycObj *pyc, RzBuffer *buffer, RzList /*<RzBinSection *>*/ *sections, RzList /*<RzBinSymbol *>*/ *symbols, RzList /*<pyc_code_object *>*/ *objs, ut32 magic);
ut64 get_code_object_addr(RzBinPycObj *pyc, RzBuffer *buffer, ut32 magic);
#endif

View file

@ -5,7 +5,7 @@
#include "pyc.h"
#include "marshal.h"
bool pyc_get_sections_symbols(RzBinPycObj *pyc, RzList *sections, RzList *symbols, RzList *cobjs, RzBuffer *buf, ut32 magic) {
bool pyc_get_sections_symbols(RzBinPycObj *pyc, RzList /*<RzBinSection *>*/ *sections, RzList /*<RzBinSymbol *>*/ *symbols, RzList /*<pyc_code_object *>*/ *cobjs, RzBuffer *buf, ut32 magic) {
return get_sections_symbols_from_code_objects(pyc, buf, sections, symbols, cobjs, magic);
}

View file

@ -12,7 +12,7 @@
#include "pyc_magic.h"
#include "marshal.h"
bool pyc_get_sections_symbols(RzBinPycObj *pyc, RzList *sections, RzList *symbols, RzList *mem, RzBuffer *buf, ut32 magic);
bool pyc_get_sections_symbols(RzBinPycObj *pyc, RzList /*<RzBinSection *>*/ *sections, RzList /*<RzBinSymbol *>*/ *symbols, RzList /*<pyc_code_object *>*/ *mem, RzBuffer *buf, ut32 magic);
bool pyc_is_code(ut8 b, ut32 magic);
#endif

View file

@ -87,9 +87,9 @@ RZ_PACKED(
typedef struct {
Sdb *kv;
lmf_header lmfh;
RzList *fixups;
RzList *sections;
RzList *maps;
RzList /*<RzBinSection *>*/ *fixups;
RzList /*<RzBinSection *>*/ *sections;
RzList /*<RzBinMap *>*/ *maps;
lmf_rw_end rwend;
})
QnxObj;

View file

@ -159,7 +159,7 @@ static size_t consume_limits_r(RzBuffer *b, ut64 max, struct rz_bin_wasm_resizab
}
// Utils
static RzList *rz_bin_wasm_get_sections_by_id(RzList *sections, ut8 id) {
static RzList /*<RzBinWasmSection *>*/ *rz_bin_wasm_get_sections_by_id(RzList /*<RzBinWasmSection *>*/ *sections, ut8 id) {
RzBinWasmSection *sec = NULL;
RzList *ret = rz_list_newf(NULL);
if (!ret) {
@ -233,7 +233,7 @@ static void rz_bin_wasm_free_codes(RzBinWasmCodeEntry *ptr) {
}
// Parsing
static RzList *get_entries_from_section(RzBinWasmObj *bin, RzBinWasmSection *sec, ParseEntryFcn parse_entry, RzListFree free_entry) {
static RzList /*<void *>*/ *get_entries_from_section(RzBinWasmObj *bin, RzBinWasmSection *sec, ParseEntryFcn parse_entry, RzListFree free_entry) {
rz_return_val_if_fail(sec && bin, NULL);
RzList *ret = rz_list_newf(free_entry);
@ -668,23 +668,23 @@ beach:
return NULL;
}
static RzList *rz_bin_wasm_get_type_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
static RzList /*<RzBinWasmTypeEntry *>*/ *rz_bin_wasm_get_type_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
return get_entries_from_section(bin, sec, parse_type_entry, (RzListFree)rz_bin_wasm_free_types);
}
static RzList *rz_bin_wasm_get_import_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
static RzList /*<RzBinWasmImportEntry *>*/ *rz_bin_wasm_get_import_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
return get_entries_from_section(bin, sec, parse_import_entry, (RzListFree)free);
}
static RzList *rz_bin_wasm_get_export_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
static RzList /*<RzBinWasmExportEntry *>*/ *rz_bin_wasm_get_export_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
return get_entries_from_section(bin, sec, parse_export_entry, (RzListFree)free);
}
static RzList *rz_bin_wasm_get_code_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
static RzList /*<RzBinWasmCodeEntry *>*/ *rz_bin_wasm_get_code_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
return get_entries_from_section(bin, sec, parse_code_entry, (RzListFree)rz_bin_wasm_free_codes);
}
static RzList *rz_bin_wasm_get_data_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
static RzList /*<RzBinWasmDataEntry *>*/ *rz_bin_wasm_get_data_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
return get_entries_from_section(bin, sec, parse_data_entry, (RzListFree)free);
}
@ -711,23 +711,23 @@ beach:
return NULL;
}
static RzList *rz_bin_wasm_get_memory_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
static RzList /*<RzBinWasmMemoryEntry *>*/ *rz_bin_wasm_get_memory_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
return get_entries_from_section(bin, sec, parse_memory_entry, (RzListFree)free);
}
static RzList *rz_bin_wasm_get_table_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
static RzList /*<RzBinWasmTableEntry *>*/ *rz_bin_wasm_get_table_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
return get_entries_from_section(bin, sec, parse_table_entry, (RzListFree)free);
}
static RzList *rz_bin_wasm_get_global_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
static RzList /*<RzBinWasmGlobalEntry *>*/ *rz_bin_wasm_get_global_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
return get_entries_from_section(bin, sec, parse_global_entry, (RzListFree)free);
}
static RzList *rz_bin_wasm_get_element_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
static RzList /*<RzBinWasmElementEntry *>*/ *rz_bin_wasm_get_element_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
return get_entries_from_section(bin, sec, parse_element_entry, (RzListFree)free);
}
static RzList *rz_bin_wasm_get_custom_name_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
static RzList /*<RzBinWasmCustomNameEntry *>*/ *rz_bin_wasm_get_custom_name_entries(RzBinWasmObj *bin, RzBinWasmSection *sec) {
RzList *ret = rz_list_new();
RzBuffer *buf = bin->buf;
@ -843,7 +843,7 @@ void rz_bin_wasm_destroy(RzBinFile *bf) {
bf->o->bin_obj = NULL;
}
RzList *rz_bin_wasm_get_sections(RzBinWasmObj *bin) {
RzList /*<RzBinWasmSection *>*/ *rz_bin_wasm_get_sections(RzBinWasmObj *bin) {
RzList *ret = NULL;
RzBinWasmSection *ptr = NULL;
@ -1000,7 +1000,7 @@ ut32 rz_bin_wasm_get_entrypoint(RzBinWasmObj *bin) {
return (ut32)(func ? func->code : 0);
}
RzList *rz_bin_wasm_get_imports(RzBinWasmObj *bin) {
RzList /*<RzBinWasmImportEntry *>*/ *rz_bin_wasm_get_imports(RzBinWasmObj *bin) {
RzBinWasmSection *import = NULL;
RzList *imports = NULL;
@ -1023,7 +1023,7 @@ RzList *rz_bin_wasm_get_imports(RzBinWasmObj *bin) {
return bin->g_imports;
}
RzList *rz_bin_wasm_get_exports(RzBinWasmObj *bin) {
RzList /*<RzBinWasmExportEntry *>*/ *rz_bin_wasm_get_exports(RzBinWasmObj *bin) {
RzBinWasmSection *export = NULL;
RzList *exports = NULL;
@ -1046,7 +1046,7 @@ RzList *rz_bin_wasm_get_exports(RzBinWasmObj *bin) {
return bin->g_exports;
}
RzList *rz_bin_wasm_get_types(RzBinWasmObj *bin) {
RzList /*<RzBinWasmTypeEntry *>*/ *rz_bin_wasm_get_types(RzBinWasmObj *bin) {
RzBinWasmSection *type = NULL;
RzList *types = NULL;
@ -1069,7 +1069,7 @@ RzList *rz_bin_wasm_get_types(RzBinWasmObj *bin) {
return bin->g_types;
}
RzList *rz_bin_wasm_get_tables(RzBinWasmObj *bin) {
RzList /*<RzBinWasmTableEntry *>*/ *rz_bin_wasm_get_tables(RzBinWasmObj *bin) {
RzBinWasmSection *table = NULL;
RzList *tables = NULL;
@ -1092,7 +1092,7 @@ RzList *rz_bin_wasm_get_tables(RzBinWasmObj *bin) {
return bin->g_tables;
}
RzList *rz_bin_wasm_get_memories(RzBinWasmObj *bin) {
RzList /*<RzBinWasmMemoryEntry *>*/ *rz_bin_wasm_get_memories(RzBinWasmObj *bin) {
RzBinWasmSection *memory;
RzList *memories;
@ -1119,7 +1119,7 @@ RzList *rz_bin_wasm_get_memories(RzBinWasmObj *bin) {
return bin->g_memories;
}
RzList *rz_bin_wasm_get_globals(RzBinWasmObj *bin) {
RzList /*<RzBinWasmGlobalEntry *>*/ *rz_bin_wasm_get_globals(RzBinWasmObj *bin) {
RzBinWasmSection *global = NULL;
RzList *globals = NULL;
@ -1142,7 +1142,7 @@ RzList *rz_bin_wasm_get_globals(RzBinWasmObj *bin) {
return bin->g_globals;
}
RzList *rz_bin_wasm_get_elements(RzBinWasmObj *bin) {
RzList /*<RzBinWasmElementEntry *>*/ *rz_bin_wasm_get_elements(RzBinWasmObj *bin) {
RzBinWasmSection *element = NULL;
RzList *elements = NULL;
@ -1165,7 +1165,7 @@ RzList *rz_bin_wasm_get_elements(RzBinWasmObj *bin) {
return bin->g_elements;
}
RzList *rz_bin_wasm_get_codes(RzBinWasmObj *bin) {
RzList /*<RzBinWasmCodeEntry *>*/ *rz_bin_wasm_get_codes(RzBinWasmObj *bin) {
RzBinWasmSection *code = NULL;
;
RzList *codes = NULL;
@ -1189,7 +1189,7 @@ RzList *rz_bin_wasm_get_codes(RzBinWasmObj *bin) {
return bin->g_codes;
}
RzList *rz_bin_wasm_get_datas(RzBinWasmObj *bin) {
RzList /*<RzBinWasmDataEntry *>*/ *rz_bin_wasm_get_datas(RzBinWasmObj *bin) {
RzBinWasmSection *data = NULL;
RzList *datas = NULL;
@ -1212,7 +1212,7 @@ RzList *rz_bin_wasm_get_datas(RzBinWasmObj *bin) {
return bin->g_datas;
}
RzList *rz_bin_wasm_get_custom_names(RzBinWasmObj *bin) {
RzList /*<RzBinWasmCustomNameEntry *>*/ *rz_bin_wasm_get_custom_names(RzBinWasmObj *bin) {
RzBinWasmSection *cust = NULL;
RzList *customs = NULL;

View file

@ -197,7 +197,7 @@ typedef struct rz_bin_wasm_custom_name_local_name_t {
typedef struct rz_bin_wasm_custom_name_local_names_t {
ut32 count;
RzList *locals; // RzBinWasmCustomNameLocalName
RzList /*<RzBinWasmCustomNameLocalName *>*/ *locals;
} RzBinWasmCustomNameLocalNames;
// "name" section entry
@ -221,36 +221,36 @@ typedef struct rz_bin_wasm_obj_t {
ut32 entrypoint;
// cache purposes
RzList *g_sections;
RzList *g_types;
RzList *g_imports;
RzList *g_exports;
RzList *g_tables;
RzList *g_memories;
RzList *g_globals;
RzList *g_elements;
RzList *g_codes;
RzList *g_datas;
RzList /*<RzBinWasmSection *>*/ *g_sections;
RzList /*<RzBinWasmTypeEntry *>*/ *g_types;
RzList /*<RzBinWasmImportEntry *>*/ *g_imports;
RzList /*<RzBinWasmExportEntry *>*/ *g_exports;
RzList /*<RzBinWasmTableEntry *>*/ *g_tables;
RzList /*<RzBinWasmMemoryEntry *>*/ *g_memories;
RzList /*<RzBinWasmGlobalEntry *>*/ *g_globals;
RzList /*<RzBinWasmElementEntry *>*/ *g_elements;
RzList /*<RzBinWasmCodeEntry *>*/ *g_codes;
RzList /*<RzBinWasmDataEntry *>*/ *g_datas;
RzBinWasmStartEntry *g_start;
RzList *g_names;
RzList /*<RzBinWasmCustomNameEntry *>*/ *g_names;
// etc...
} RzBinWasmObj;
RzBinWasmObj *rz_bin_wasm_init(RzBinFile *bf, RzBuffer *buf);
void rz_bin_wasm_destroy(RzBinFile *bf);
RzList *rz_bin_wasm_get_sections(RzBinWasmObj *bin);
RzList *rz_bin_wasm_get_types(RzBinWasmObj *bin);
RzList *rz_bin_wasm_get_imports(RzBinWasmObj *bin);
RzList *rz_bin_wasm_get_exports(RzBinWasmObj *bin);
RzList *rz_bin_wasm_get_tables(RzBinWasmObj *bin);
RzList *rz_bin_wasm_get_memories(RzBinWasmObj *bin);
RzList *rz_bin_wasm_get_globals(RzBinWasmObj *bin);
RzList *rz_bin_wasm_get_elements(RzBinWasmObj *bin);
RzList *rz_bin_wasm_get_codes(RzBinWasmObj *bin);
RzList *rz_bin_wasm_get_datas(RzBinWasmObj *bin);
RzList *rz_bin_wasm_get_custom_names(RzBinWasmObj *bin);
RzList /*<RzBinWasmSection *>*/ *rz_bin_wasm_get_sections(RzBinWasmObj *bin);
RzList /*<RzBinWasmTypeEntry *>*/ *rz_bin_wasm_get_types(RzBinWasmObj *bin);
RzList /*<RzBinWasmImportEntry *>*/ *rz_bin_wasm_get_imports(RzBinWasmObj *bin);
RzList /*<RzBinWasmExportEntry *>*/ *rz_bin_wasm_get_exports(RzBinWasmObj *bin);
RzList /*<RzBinWasmTableEntry *>*/ *rz_bin_wasm_get_tables(RzBinWasmObj *bin);
RzList /*<RzBinWasmMemoryEntry *>*/ *rz_bin_wasm_get_memories(RzBinWasmObj *bin);
RzList /*<RzBinWasmGlobalEntry *>*/ *rz_bin_wasm_get_globals(RzBinWasmObj *bin);
RzList /*<RzBinWasmElementEntry *>*/ *rz_bin_wasm_get_elements(RzBinWasmObj *bin);
RzList /*<RzBinWasmCodeEntry *>*/ *rz_bin_wasm_get_codes(RzBinWasmObj *bin);
RzList /*<RzBinWasmDataEntry *>*/ *rz_bin_wasm_get_datas(RzBinWasmObj *bin);
RzList /*<RzBinWasmCustomNameEntry *>*/ *rz_bin_wasm_get_custom_names(RzBinWasmObj *bin);
ut32 rz_bin_wasm_get_entrypoint(RzBinWasmObj *bin);
const char *rz_bin_wasm_get_function_name(RzBinWasmObj *bin, ut32 idx);
const char *rz_bin_wasm_valuetype_to_string(rz_bin_wasm_value_type_t type);

View file

@ -30,12 +30,12 @@ typedef struct _CFKeyValue {
typedef struct _CFValueDict {
RCFValueType type;
RzList *pairs; //_CFKeyValue
RzList /*<RCFKeyValue *>*/ *pairs;
} RCFValueDict;
typedef struct _CFValueArray {
RCFValueType type;
RzList *values; //_CFValue
RzList /*<RCFValue *>*/ *values;
} RCFValueArray;
typedef struct _CFValueString {

View file

@ -25,8 +25,6 @@ typedef struct rz_bin_zimg_obj_t {
RzBuffer *b;
struct zimg_header_t header;
ut32 *strings;
RzList *methods_list;
RzList *imports_list;
ut64 code_from;
ut64 code_to;
Sdb *kv;

View file

@ -94,7 +94,7 @@ static ut64 baddr(RzBinFile *bf) {
return ao ? ao->art.image_base : 0;
}
static RzList *strings(RzBinFile *bf) {
static RzList /*<RzBinString *>*/ *strings(RzBinFile *bf) {
return NULL;
}
@ -132,7 +132,7 @@ static bool check_buffer(RzBuffer *buf) {
return r == 4 && !strncmp(tmp, "art\n", 4);
}
static RzList *entries(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entries(RzBinFile *bf) {
RzList *ret = rz_list_newf(free);
if (ret) {
RzBinAddr *ptr = RZ_NEW0(RzBinAddr);
@ -144,7 +144,7 @@ static RzList *entries(RzBinFile *bf) {
return ret;
}
static RzList *sections(RzBinFile *bf) {
static RzList /*<RzBinSection *>*/ *sections(RzBinFile *bf) {
ArtObj *ao = bf->o->bin_obj;
if (!ao) {
return NULL;

View file

@ -139,7 +139,7 @@ static RzBinInfo *info(RzBinFile *bf) {
return bi;
}
static RzList *entries(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entries(RzBinFile *bf) {
RzList *ret;
RzBinAddr *ptr = NULL;
if (tmp_entry == UT64_MAX) {
@ -157,7 +157,7 @@ static RzList *entries(RzBinFile *bf) {
return ret;
}
static void addsym(RzList *ret, const char *name, ut64 addr) {
static void addsym(RzList /*<RzBinSymbol *>*/ *ret, const char *name, ut64 addr) {
RzBinSymbol *ptr = RZ_NEW0(RzBinSymbol);
if (ptr) {
ptr->name = strdup(name ? name : "");
@ -168,7 +168,7 @@ static void addsym(RzList *ret, const char *name, ut64 addr) {
}
}
static void addptr(RzList *ret, const char *name, ut64 addr, RzBuffer *b) {
static void addptr(RzList /*<RzBinSymbol *>*/ *ret, const char *name, ut64 addr, RzBuffer *b) {
if (b && rjmp(b, 0)) {
addsym(ret, sdb_fmt("vector.%s", name), addr);
ut64 ptr_addr;
@ -178,7 +178,7 @@ static void addptr(RzList *ret, const char *name, ut64 addr, RzBuffer *b) {
}
}
static RzList *symbols(RzBinFile *bf) {
static RzList /*<RzBinSymbol *>*/ *symbols(RzBinFile *bf) {
RzList *ret = NULL;
RzBuffer *obj = bf->o->bin_obj;
@ -195,7 +195,7 @@ static RzList *symbols(RzBinFile *bf) {
return ret;
}
static RzList *strings(RzBinFile *bf) {
static RzList /*<RzBinString *>*/ *strings(RzBinFile *bf) {
// we dont want to find strings in avr bins because there are lot of false positives
return NULL;
}

View file

@ -18,7 +18,7 @@ static ut64 baddr(RzBinFile *bf) {
return 0;
}
static RzList *strings(RzBinFile *bf) {
static RzList /*<RzBinString *>*/ *strings(RzBinFile *bf) {
return NULL;
}
@ -98,7 +98,7 @@ static bool check_filename(const char *filename) {
return rz_str_endswith_icase(filename, ".bf");
}
static RzList *entries(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entries(RzBinFile *bf) {
RzList *ret;
RzBinAddr *ptr = NULL;
@ -113,7 +113,7 @@ static RzList *entries(RzBinFile *bf) {
return ret;
}
static RzList *maps(RzBinFile *bf) {
static RzList /*<RzBinMap *>*/ *maps(RzBinFile *bf) {
RzList *ret = rz_list_newf((RzListFree)rz_bin_map_free);
if (!ret) {
return NULL;

View file

@ -16,7 +16,7 @@ static bool load_buffer(RzBinFile *bf, RzBinObject *obj, RzBuffer *buf, Sdb *sdb
return obj->bin_obj;
}
static RzList *entries(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entries(RzBinFile *bf) {
RzBfltObj *obj = bf->o->bin_obj;
RzList *ret;
RzBinAddr *ptr;
@ -33,7 +33,7 @@ static RzList *entries(RzBinFile *bf) {
return ret;
}
static RzList *maps(RzBinFile *bf) {
static RzList /*<RzBinMap *>*/ *maps(RzBinFile *bf) {
RzBfltObj *obj = bf->o->bin_obj;
RzList *ret = rz_list_newf((RzListFree)rz_bin_map_free);
if (!ret) {
@ -71,7 +71,7 @@ static RzList *maps(RzBinFile *bf) {
return ret;
}
static RzList *sections(RzBinFile *bf) {
static RzList /*<RzBinSection *>*/ *sections(RzBinFile *bf) {
RzBfltObj *obj = bf->o->bin_obj;
RzList *ret = rz_list_newf((RzListFree)rz_bin_section_free);
if (!ret) {
@ -164,7 +164,7 @@ beach:
return NULL;
}
static RzList *virtual_files(RzBinFile *bf) {
static RzList /*<RzBinVirtualFile *>*/ *virtual_files(RzBinFile *bf) {
RzBfltObj *obj = bf->o->bin_obj;
RzList *r = rz_list_newf((RzListFree)rz_bin_virtual_file_free);
if (!r) {
@ -182,7 +182,7 @@ static RzList *virtual_files(RzBinFile *bf) {
return r;
}
static void convert_relocs(RzBfltObj *bin, RzList *out, RzVector /*<RzBfltReloc>*/ *relocs) {
static void convert_relocs(RzBfltObj *bin, RzList /*<RzBinReloc *>*/ *out, RzVector /*<RzBfltReloc>*/ *relocs) {
RzBfltReloc *br;
rz_vector_foreach(relocs, br) {
RzBinReloc *r = RZ_NEW0(RzBinReloc);
@ -200,7 +200,7 @@ static void convert_relocs(RzBfltObj *bin, RzList *out, RzVector /*<RzBfltReloc>
}
}
static RzList *relocs(RzBinFile *bf) {
static RzList /*<RzBinReloc *>*/ *relocs(RzBinFile *bf) {
RzBfltObj *obj = (RzBfltObj *)bf->o->bin_obj;
RzList *list = rz_list_newf((RzListFree)free);
if (!list || !obj) {
@ -248,7 +248,7 @@ static void destroy(RzBinFile *bf) {
rz_bflt_free(bf->o->bin_obj);
}
static RzList *strings(RzBinFile *bf) {
static RzList /*<RzBinString *>*/ *strings(RzBinFile *bf) {
return rz_bin_file_strings(bf, 0, false);
}

View file

@ -59,7 +59,7 @@ static ut64 baddr(RzBinFile *bf) {
}
/* accelerate binary load */
static RzList *strings(RzBinFile *bf) {
static RzList /*<RzBinString *>*/ *strings(RzBinFile *bf) {
return NULL;
}
@ -84,7 +84,7 @@ static RzBinInfo *info(RzBinFile *bf) {
return ret;
}
static RzList *sections(RzBinFile *bf) {
static RzList /*<RzBinSection *>*/ *sections(RzBinFile *bf) {
RzList *ret = NULL;
RzBinSection *ptr = NULL;
RzBuffer *obj = bf->o->bin_obj;
@ -117,7 +117,7 @@ static RzList *sections(RzBinFile *bf) {
return ret;
}
static RzList *entries(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entries(RzBinFile *bf) {
RzList *ret;
RzBinAddr *ptr = NULL;
if (!(ret = rz_list_new())) {

View file

@ -116,7 +116,7 @@ static ut64 baddr(RzBinFile *bf) {
return bio ? bio->bi.kernel_addr : 0;
}
static RzList *strings(RzBinFile *bf) {
static RzList /*<RzBinString *>*/ *strings(RzBinFile *bf) {
return NULL;
}
@ -152,7 +152,7 @@ static bool check_buffer(RzBuffer *buf) {
return r > 12 && !strncmp((const char *)tmp, "ANDROID!", 8);
}
static RzList *entries(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entries(RzBinFile *bf) {
BootImageObj *bio = bf->o->bin_obj;
RzBinAddr *ptr = NULL;
if (!bio) {
@ -173,7 +173,7 @@ static RzList *entries(RzBinFile *bf) {
return ret;
}
static RzList *sections(RzBinFile *bf) {
static RzList /*<RzBinSection *>*/ *sections(RzBinFile *bf) {
BootImageObj *bio = bf->o->bin_obj;
if (!bio) {
return NULL;

View file

@ -167,7 +167,7 @@ static RzBinImport *_fill_bin_import(struct rz_bin_coff_obj *bin, int idx) {
return ptr;
}
static RzList *entries(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entries(RzBinFile *bf) {
struct rz_bin_coff_obj *obj = (struct rz_bin_coff_obj *)bf->o->bin_obj;
RzList *ret;
if (!(ret = rz_list_newf(free))) {
@ -180,7 +180,7 @@ static RzList *entries(RzBinFile *bf) {
return ret;
}
static RzList *virtual_files(RzBinFile *bf) {
static RzList /*<RzBinVirtualFile *>*/ *virtual_files(RzBinFile *bf) {
RzList *r = rz_list_newf((RzListFree)rz_bin_virtual_file_free);
if (!r) {
return NULL;
@ -221,7 +221,7 @@ static RzList *virtual_files(RzBinFile *bf) {
return r;
}
static RzList *maps(RzBinFile *bf) {
static RzList /*<RzBinMap *>*/ *maps(RzBinFile *bf) {
RzList *ret = rz_list_newf((RzListFree)rz_bin_map_free);
if (!ret) {
return NULL;
@ -270,7 +270,7 @@ static RzList *maps(RzBinFile *bf) {
return ret;
}
static RzList *sections(RzBinFile *bf) {
static RzList /*<RzBinSection *>*/ *sections(RzBinFile *bf) {
struct rz_bin_coff_obj *obj = (struct rz_bin_coff_obj *)bf->o->bin_obj;
RzList *ret = rz_list_newf((RzListFree)rz_bin_section_free);
if (!ret) {
@ -337,7 +337,7 @@ static void populate_symbols(RzBinFile *bf) {
}
}
static RzList *symbols(RzBinFile *bf) {
static RzList /*<RzBinSymbol *>*/ *symbols(RzBinFile *bf) {
struct rz_bin_coff_obj *obj = (struct rz_bin_coff_obj *)bf->o->bin_obj;
RzList *ret = rz_list_newf((RzListFree)rz_bin_symbol_free);
if (!ret) {
@ -356,7 +356,7 @@ static RzList *symbols(RzBinFile *bf) {
return ret;
}
static RzList *imports(RzBinFile *bf) {
static RzList /*<RzBinImport *>*/ *imports(RzBinFile *bf) {
int i;
struct rz_bin_coff_obj *obj = (struct rz_bin_coff_obj *)bf->o->bin_obj;
RzList *ret = rz_list_newf((RzListFree)rz_bin_import_free);
@ -376,11 +376,11 @@ static RzList *imports(RzBinFile *bf) {
return ret;
}
static RzList *libs(RzBinFile *bf) {
static RzList /*<char *>*/ *libs(RzBinFile *bf) {
return NULL;
}
static RzList *relocs(RzBinFile *bf) {
static RzList /*<RzBinReloc *>*/ *relocs(RzBinFile *bf) {
populate_symbols(bf);
return rz_coff_get_relocs(bf->o->bin_obj);
}
@ -494,7 +494,7 @@ static RzBinInfo *info(RzBinFile *bf) {
return ret;
}
static RzList *fields(RzBinFile *bf) {
static RzList /*<RzBinField *>*/ *fields(RzBinFile *bf) {
return NULL;
}

View file

@ -68,7 +68,7 @@ static Sdb *get_sdb(RzBinFile *bf) {
return bf->sdb;
}
static RzList *classes(RzBinFile *bf) {
static RzList /*<RzBinClass *>*/ *classes(RzBinFile *bf) {
RzBinDex *dex = rz_bin_file_get_dex(bf);
if (!dex) {
return NULL;
@ -77,7 +77,7 @@ static RzList *classes(RzBinFile *bf) {
return rz_bin_dex_classes(dex);
}
static RzList *imports(RzBinFile *bf) {
static RzList /*<RzBinImport *>*/ *imports(RzBinFile *bf) {
RzBinDex *dex = rz_bin_file_get_dex(bf);
if (!dex) {
return NULL;
@ -86,7 +86,7 @@ static RzList *imports(RzBinFile *bf) {
return rz_bin_dex_imports(dex);
}
static RzList *sections(RzBinFile *bf) {
static RzList /*<RzBinSection *>*/ *sections(RzBinFile *bf) {
RzBinDex *dex = rz_bin_file_get_dex(bf);
if (!dex) {
return NULL;
@ -95,7 +95,7 @@ static RzList *sections(RzBinFile *bf) {
return rz_bin_dex_sections(dex);
}
static RzList *symbols(RzBinFile *bf) {
static RzList /*<RzBinSymbol *>*/ *symbols(RzBinFile *bf) {
RzBinDex *dex = rz_bin_file_get_dex(bf);
if (!dex) {
return NULL;
@ -104,7 +104,7 @@ static RzList *symbols(RzBinFile *bf) {
return rz_bin_dex_symbols(dex);
}
static RzList *fields(RzBinFile *bf) {
static RzList /*<RzBinField *>*/ *fields(RzBinFile *bf) {
RzBinDex *dex = rz_bin_file_get_dex(bf);
if (!dex) {
return NULL;
@ -113,7 +113,7 @@ static RzList *fields(RzBinFile *bf) {
return rz_bin_dex_fields(dex);
}
static RzList *libraries(RzBinFile *bf) {
static RzList /*<char *>*/ *libraries(RzBinFile *bf) {
RzBinDex *dex = rz_bin_file_get_dex(bf);
if (!dex) {
return NULL;
@ -131,7 +131,7 @@ static RzBinAddr *binsym(RzBinFile *bf, RzBinSpecialSymbol sym) {
return rz_bin_dex_resolve_symbol(dex, sym);
}
static RzList *entrypoints(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entrypoints(RzBinFile *bf) {
RzBinDex *dex = rz_bin_file_get_dex(bf);
if (!dex) {
return NULL;
@ -140,7 +140,7 @@ static RzList *entrypoints(RzBinFile *bf) {
return rz_bin_dex_entrypoints(dex);
}
static RzList *strings(RzBinFile *bf) {
static RzList /*<RzBinString *>*/ *strings(RzBinFile *bf) {
RzBinDex *dex = rz_bin_file_get_dex(bf);
if (!dex) {
return NULL;
@ -149,7 +149,7 @@ static RzList *strings(RzBinFile *bf) {
return rz_bin_dex_strings(dex);
}
static RzList *virtual_files(RzBinFile *bf) {
static RzList /*<RzBinVirtualFile *>*/ *virtual_files(RzBinFile *bf) {
RzBinDex *dex = rz_bin_file_get_dex(bf);
if (!dex) {
return NULL;
@ -223,7 +223,7 @@ static ut64 get_offset(RzBinFile *bf, int type, int index) {
}
}
static RzList *maps(RzBinFile *bf) {
static RzList /*<RzBinMap *>*/ *maps(RzBinFile *bf) {
RzList *maps = rz_bin_maps_of_file_sections(bf);
RzListIter *iter;
RzBinMap *map;

View file

@ -80,11 +80,11 @@ static void header(RzBinFile *bf) {
}
}
static RzList *strings(RzBinFile *bf) {
static RzList /*<RzBinString *>*/ *strings(RzBinFile *bf) {
return rz_bin_file_strings(bf, 4, false);
}
static RzList *fields(RzBinFile *bf) {
static RzList /*<RzBinField *>*/ *fields(RzBinFile *bf) {
RzList *fields = rz_list_newf((RzListFree)rz_bin_field_free);
struct rz_bin_dmp64_obj_t *obj = (struct rz_bin_dmp64_obj_t *)bf->o->bin_obj;
#define FIELD_COMMENT(header, field, comment) \
@ -185,7 +185,7 @@ static RzBinInfo *info(RzBinFile *bf) {
return ret;
}
static RzList *maps(RzBinFile *bf) {
static RzList /*<RzBinMap *>*/ *maps(RzBinFile *bf) {
dmp_page_desc *page;
dmp64_triage_datablock *datablock;
RzList *ret;
@ -227,7 +227,7 @@ static RzList *maps(RzBinFile *bf) {
return ret;
}
static RzList *libs(RzBinFile *bf) {
static RzList /*<char *>*/ *libs(RzBinFile *bf) {
struct rz_bin_dmp64_obj_t *obj = (struct rz_bin_dmp64_obj_t *)bf->o->bin_obj;
if (!obj->drivers) {
return NULL;

View file

@ -83,7 +83,7 @@ dol_err:
return false;
}
static RzList *sections(RzBinFile *bf) {
static RzList /*<RzBinSection *>*/ *sections(RzBinFile *bf) {
rz_return_val_if_fail(bf && bf->o && bf->o->bin_obj, NULL);
int i;
RzList *ret;
@ -134,7 +134,7 @@ static RzList *sections(RzBinFile *bf) {
return ret;
}
static RzList *entries(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entries(RzBinFile *bf) {
rz_return_val_if_fail(bf && bf->o && bf->o->bin_obj, NULL);
RzList *ret = rz_list_new();
RzBinAddr *addr = RZ_NEW0(RzBinAddr);

View file

@ -81,7 +81,7 @@ static bool load_buffer(RzBinFile *bf, RzBinObject *obj, RzBuffer *buf, Sdb *sdb
return true;
}
static RzList *entries(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entries(RzBinFile *bf) {
RzBinAddr *ptr = NULL;
RzList *ret = rz_list_newf(free);
if (!ret) {
@ -133,7 +133,7 @@ static ut64 baddr(RzBinFile *bf) {
return 0x180000000;
}
void symbols_from_bin(RzDyldCache *cache, RzList *ret, RzBinFile *bf, RzDyldBinImage *bin, SetU *hash) {
void symbols_from_bin(RzDyldCache *cache, RzList /*<RzBinSymbol *>*/ *ret, RzBinFile *bf, RzDyldBinImage *bin, SetU *hash) {
struct MACH0_(obj_t) *mach0 = bin_to_mach0(bf, bin);
if (!mach0) {
return;
@ -190,7 +190,7 @@ static bool __is_data_section(const char *name) {
return false;
}
static void sections_from_bin(RzList *ret, RzBinFile *bf, RzDyldBinImage *bin) {
static void sections_from_bin(RzList /*<RzBinSection *>*/ *ret, RzBinFile *bf, RzDyldBinImage *bin) {
RzDyldCache *cache = (RzDyldCache *)bf->o->bin_obj;
if (!cache) {
return;
@ -237,7 +237,7 @@ static void sections_from_bin(RzList *ret, RzBinFile *bf, RzDyldBinImage *bin) {
(mach0);
}
static RzList *virtual_files(RzBinFile *bf) {
static RzList /*<RzBinVirtualFile *>*/ *virtual_files(RzBinFile *bf) {
RzList *ret = rz_list_newf((RzListFree)rz_bin_virtual_file_free);
if (!ret) {
return NULL;
@ -270,7 +270,7 @@ static int prot2perm(int x) {
return r;
}
static RzList *maps(RzBinFile *bf) {
static RzList /*<RzBinMap *>*/ *maps(RzBinFile *bf) {
RzDyldCache *cache = (RzDyldCache *)bf->o->bin_obj;
if (!cache) {
return NULL;
@ -300,7 +300,7 @@ static RzList *maps(RzBinFile *bf) {
return ret;
}
static RzList *sections(RzBinFile *bf) {
static RzList /*<RzBinSection *>*/ *sections(RzBinFile *bf) {
RzDyldCache *cache = (RzDyldCache *)bf->o->bin_obj;
if (!cache) {
return NULL;
@ -324,7 +324,7 @@ static RzList *sections(RzBinFile *bf) {
return ret;
}
static RzList *symbols(RzBinFile *bf) {
static RzList /*<RzBinSymbol *>*/ *symbols(RzBinFile *bf) {
RzDyldCache *cache = (RzDyldCache *)bf->o->bin_obj;
if (!cache) {
return NULL;
@ -364,7 +364,7 @@ static void destroy(RzBinFile *bf) {
rz_dyldcache_free(cache);
}
static RzList *classes(RzBinFile *bf) {
static RzList /*<RzBinClass *>*/ *classes(RzBinFile *bf) {
RzDyldCache *cache = (RzDyldCache *)bf->o->bin_obj;
if (!cache) {
return NULL;

View file

@ -153,7 +153,7 @@ typedef struct rz_bin_reloc_formular_symbols_t {
static RzBinInfo *info(RzBinFile *bf);
static void patch_relocs(RzBinFile *bf, struct Elf_(rz_bin_elf_obj_t) * bin);
static RzList *imports(RzBinFile *bf);
static RzList /*<RzBinImport *>*/ *imports(RzBinFile *bf);
struct special_symbol_translation {
RzBinSpecialSymbol symbol;
@ -273,7 +273,7 @@ static RzBinAddr *binsym(RzBinFile *bf, RzBinSpecialSymbol sym) {
return rz_bin_addr_new_from_paddr(bin, paddr);
}
static void add_constructor(ELFOBJ *bin, ut64 addr, ut64 size, int type, RzList *result) {
static void add_constructor(ELFOBJ *bin, ut64 addr, ut64 size, int type, RzList /*<RzBinAddr *>*/ *result) {
ut64 constructor_offset = Elf_(rz_bin_elf_v2p)(bin, addr);
if (constructor_offset == UT64_MAX) {
return;
@ -309,7 +309,7 @@ static void add_constructor(ELFOBJ *bin, ut64 addr, ut64 size, int type, RzList
}
}
static void add_constructors(ELFOBJ *bin, RzList *result) {
static void add_constructors(ELFOBJ *bin, RzList /*<RzBinAddr *>*/ *result) {
ut64 addr, size;
if (Elf_(rz_bin_elf_get_dt_info)(bin, DT_PREINIT_ARRAY, &addr) && Elf_(rz_bin_elf_get_dt_info)(bin, DT_PREINIT_ARRAYSZ, &size)) {
@ -325,7 +325,7 @@ static void add_constructors(ELFOBJ *bin, RzList *result) {
}
}
static void add_entry_offset(ELFOBJ *bin, RzList *result) {
static void add_entry_offset(ELFOBJ *bin, RzList /*<RzBinAddr *>*/ *result) {
ut64 paddr = Elf_(rz_bin_elf_get_entry_offset)(bin);
if (paddr == UT64_MAX) {
return;
@ -346,7 +346,7 @@ static void add_entry_offset(ELFOBJ *bin, RzList *result) {
rz_list_append(result, tmp);
}
static void add_java_libraries(ELFOBJ *bin, RzList *result) {
static void add_java_libraries(ELFOBJ *bin, RzList /*<RzBinAddr *>*/ *result) {
RzBinElfSymbol *symbol;
rz_bin_elf_foreach_symbols(bin, symbol) {
if (symbol->name && rz_str_startswith(symbol->name, "Java") && rz_str_endswith(symbol->name, "_init")) {
@ -359,7 +359,7 @@ static void add_java_libraries(ELFOBJ *bin, RzList *result) {
}
}
static RzList *entries(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entries(RzBinFile *bf) {
rz_return_val_if_fail(bf && bf->o, NULL);
ELFOBJ *bin = rz_bin_file_get_elf(bf);
@ -650,7 +650,7 @@ static ut32 section_perms_from_flags(ut32 flags) {
return r;
}
static RzList *maps_unpatched(RzBinFile *bf) {
static RzList /*<RzBinMap *>*/ *maps_unpatched(RzBinFile *bf) {
struct Elf_(rz_bin_elf_obj_t) *obj = (bf && bf->o) ? bf->o->bin_obj : NULL;
if (!obj) {
return NULL;
@ -1443,7 +1443,7 @@ static void patch_relocs(RzBinFile *bf, ELFOBJ *bin) {
rz_buf_sparse_set_write_mode(bin->buf_patched, RZ_BUF_SPARSE_WRITE_MODE_THROUGH);
}
static RzList *virtual_files(RzBinFile *bf) {
static RzList /*<RzBinVirtualFile *>*/ *virtual_files(RzBinFile *bf) {
RzList *r = rz_list_newf((RzListFree)rz_bin_virtual_file_free);
if (!r) {
return NULL;
@ -1484,7 +1484,7 @@ static RzList *virtual_files(RzBinFile *bf) {
return r;
}
static RzList *maps(RzBinFile *bf) {
static RzList /*<RzBinMap *>*/ *maps(RzBinFile *bf) {
struct Elf_(rz_bin_elf_obj_t) *obj = (bf && bf->o) ? bf->o->bin_obj : NULL;
if (!obj) {
return NULL;
@ -1503,7 +1503,7 @@ static RzList *maps(RzBinFile *bf) {
return ret;
}
static RzList *sections(RzBinFile *bf) {
static RzList /*<RzBinSection *>*/ *sections(RzBinFile *bf) {
ELFOBJ *obj = (bf && bf->o) ? bf->o->bin_obj : NULL;
RzBinSection *ptr = NULL;
RzList *ret = NULL;
@ -1630,7 +1630,7 @@ static RzList *sections(RzBinFile *bf) {
return ret;
}
static RzList *symbols(RzBinFile *bf) {
static RzList /*<RzBinSymbol *>*/ *symbols(RzBinFile *bf) {
rz_return_val_if_fail(bf && bf->o && bf->o->bin_obj, NULL);
ELFOBJ *bin = bf->o->bin_obj;
@ -1666,7 +1666,7 @@ static RzList *symbols(RzBinFile *bf) {
return ret;
}
static RzList *imports(RzBinFile *bf) {
static RzList /*<RzBinImport *>*/ *imports(RzBinFile *bf) {
rz_return_val_if_fail(bf && bf->o, NULL);
ELFOBJ *bin = bf->o->bin_obj;
@ -1694,12 +1694,12 @@ static RzList *imports(RzBinFile *bf) {
return result;
}
static RzList *libs(RzBinFile *bf) {
static RzList /*<char *>*/ *libs(RzBinFile *bf) {
rz_return_val_if_fail(bf && bf->o && bf->o->bin_obj, NULL);
return Elf_(rz_bin_elf_get_libs)(bf->o->bin_obj);
}
static RzList *relocs(RzBinFile *bf) {
static RzList /*<RzBinReloc *>*/ *relocs(RzBinFile *bf) {
rz_return_val_if_fail(bf && bf->o && bf->o->bin_obj, NULL);
RzList *ret = NULL;
RzBinReloc *ptr = NULL;
@ -1886,7 +1886,7 @@ static RzBinInfo *info(RzBinFile *bf) {
return ret;
}
static bool add_fields_aux(ELFOBJ *bin, RzList *result, ut64 offset, size_t size, const char *name, char *(get_value)(ELFOBJ *bin), const char *fmt) {
static bool add_fields_aux(ELFOBJ *bin, RzList /*<RzBinField *>*/ *result, ut64 offset, size_t size, const char *name, char *(get_value)(ELFOBJ *bin), const char *fmt) {
char *value = get_value(bin);
if (!value) {
return false;
@ -1908,7 +1908,7 @@ static bool add_fields_aux(ELFOBJ *bin, RzList *result, ut64 offset, size_t size
return true;
}
static bool add_fields(ELFOBJ *bin, RzList *result) {
static bool add_fields(ELFOBJ *bin, RzList /*<RzBinField *>*/ *result) {
size_t size = bin->ehdr.e_ident[EI_CLASS] == ELFCLASS64 ? 8 : 4;
return add_fields_aux(bin, result, E_IDENT_OFFSET, 16, "MAGIC", Elf_(rz_bin_elf_get_e_indent_as_string), "x") &&
@ -1927,7 +1927,7 @@ static bool add_fields(ELFOBJ *bin, RzList *result) {
add_fields_aux(bin, result, E_SHSTRNDX_OFFSET, 2, "ShStrndx", Elf_(rz_bin_elf_get_e_shstrndx_as_string), "d");
}
static RzList *fields(RzBinFile *bf) {
static RzList /*<RzBinField *>*/ *fields(RzBinFile *bf) {
rz_return_val_if_fail(bf && bf->o && bf->o->bin_obj, NULL);
ELFOBJ *bin = rz_bin_file_get_elf(bf);
@ -1962,6 +1962,6 @@ static ut64 size(RzBinFile *bf) {
return off + len;
}
static RzList *strings(RzBinFile *bf) {
static RzList /*<RzBinString *>*/ *strings(RzBinFile *bf) {
return rz_bin_file_strings(bf, 4, false);
}

View file

@ -78,7 +78,7 @@ static void free_rz_bin_class(void /*RzBinClass*/ *k) {
}
}
static RzList *classes(RzBinFile *bf) {
static RzList /*<RzBinClass *>*/ *classes(RzBinFile *bf) {
RzBinClass *bclass = NULL;
RzList *classes = NULL;
RzBinJavaClass *jclass = rz_bin_file_get_java_class(bf);
@ -113,7 +113,7 @@ static RzList *classes(RzBinFile *bf) {
return classes;
}
static RzList *imports(RzBinFile *bf) {
static RzList /*<RzBinImport *>*/ *imports(RzBinFile *bf) {
RzBinJavaClass *jclass = rz_bin_file_get_java_class(bf);
if (!jclass) {
return NULL;
@ -122,7 +122,7 @@ static RzList *imports(RzBinFile *bf) {
return rz_bin_java_class_const_pool_as_imports(jclass);
}
static RzList *sections(RzBinFile *bf) {
static RzList /*<RzBinSection *>*/ *sections(RzBinFile *bf) {
RzBinJavaClass *jclass = rz_bin_file_get_java_class(bf);
if (!jclass) {
return NULL;
@ -131,7 +131,7 @@ static RzList *sections(RzBinFile *bf) {
return rz_bin_java_class_as_sections(jclass);
}
static RzList *symbols(RzBinFile *bf) {
static RzList /*<RzBinSymbol *>*/ *symbols(RzBinFile *bf) {
RzList *tmp;
RzBinJavaClass *jclass = rz_bin_file_get_java_class(bf);
if (!jclass) {
@ -153,7 +153,7 @@ static RzList *symbols(RzBinFile *bf) {
return list;
}
static RzList *fields(RzBinFile *bf) {
static RzList /*<RzBinField *>*/ *fields(RzBinFile *bf) {
RzBinJavaClass *jclass = rz_bin_file_get_java_class(bf);
if (!jclass) {
return NULL;
@ -162,7 +162,7 @@ static RzList *fields(RzBinFile *bf) {
return rz_bin_java_class_fields_as_binfields(jclass);
}
static RzList *libs(RzBinFile *bf) {
static RzList /*<char *>*/ *libs(RzBinFile *bf) {
RzBinJavaClass *jclass = rz_bin_file_get_java_class(bf);
if (!jclass) {
return NULL;
@ -180,7 +180,7 @@ static RzBinAddr *binsym(RzBinFile *bf, RzBinSpecialSymbol sym) {
return rz_bin_java_class_resolve_symbol(jclass, sym);
}
static RzList *entrypoints(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entrypoints(RzBinFile *bf) {
RzBinJavaClass *jclass = rz_bin_file_get_java_class(bf);
if (!jclass) {
return NULL;
@ -189,7 +189,7 @@ static RzList *entrypoints(RzBinFile *bf) {
return rz_bin_java_class_entrypoints(jclass);
}
static RzList *strings(RzBinFile *bf) {
static RzList /*<RzBinString *>*/ *strings(RzBinFile *bf) {
RzBinJavaClass *jclass = rz_bin_file_get_java_class(bf);
if (!jclass) {
return NULL;

View file

@ -107,27 +107,27 @@ static void header(RzBinFile *bf) {
p("Stack Size: 0x%04x\n", h->stacksize);
}
static RzList *sections(RzBinFile *bf) {
static RzList /*<RzBinSection *>*/ *sections(RzBinFile *bf) {
return rz_bin_le_get_sections(bf->o->bin_obj);
}
static RzList *entries(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entries(RzBinFile *bf) {
return rz_bin_le_get_entrypoints(bf->o->bin_obj);
}
static RzList *symbols(RzBinFile *bf) {
static RzList /*<RzBinSymbol *>*/ *symbols(RzBinFile *bf) {
return rz_bin_le_get_symbols(bf->o->bin_obj);
}
static RzList *imports(RzBinFile *bf) {
static RzList /*<RzBinImport *>*/ *imports(RzBinFile *bf) {
return rz_bin_le_get_imports(bf->o->bin_obj);
}
static RzList *libs(RzBinFile *bf) {
static RzList /*<char *>*/ *libs(RzBinFile *bf) {
return rz_bin_le_get_libs(bf->o->bin_obj);
}
static RzList *relocs(RzBinFile *bf) {
static RzList /*<RzBinReloc *>*/ *relocs(RzBinFile *bf) {
return rz_bin_le_get_relocs(bf->o->bin_obj);
}
@ -149,7 +149,7 @@ static RzBinInfo *info(RzBinFile *bf) {
return info;
}
static RzList *strings(RzBinFile *bf) {
static RzList /*<RzBinString *>*/ *strings(RzBinFile *bf) {
return rz_bin_file_strings(bf, 0, false);
}

View file

@ -83,7 +83,7 @@ static RzBinInfo *info(RzBinFile *bf) {
return bin_info_obj->general_info;
}
static RzList *sections(RzBinFile *bf) {
static RzList /*<RzBinSection *>*/ *sections(RzBinFile *bf) {
if (!bf) {
return NULL;
}
@ -95,7 +95,7 @@ static RzList *sections(RzBinFile *bf) {
return rz_list_clone(bin_info_obj->section_list);
}
static RzList *symbols(RzBinFile *bf) {
static RzList /*<RzBinSymbol *>*/ *symbols(RzBinFile *bf) {
if (!bf) {
return NULL;
}
@ -107,7 +107,7 @@ static RzList *symbols(RzBinFile *bf) {
return rz_list_clone(bin_info_obj->symbol_list);
}
static RzList *entries(RzBinFile *bf) {
static RzList /*<RzBinAddr *>*/ *entries(RzBinFile *bf) {
if (!bf) {
return NULL;
}
@ -119,7 +119,7 @@ static RzList *entries(RzBinFile *bf) {
return rz_list_clone(bin_info_obj->entry_list);
}
static RzList *strings(RzBinFile *bf) {
static RzList /*<RzBinString *>*/ *strings(RzBinFile *bf) {
if (!bf) {
return NULL;
}

Some files were not shown because too many files have changed in this diff Show more