5 * This work is licensed under the terms of 3-clause BSD license.
6 * See COPYING file in the top-level directory.
9 #define NO_OBSOLETE_FUNCS
14 #include <kernwin.hpp>
16 //--------------------------------------------------------------------------
17 static int idaapi init(void)
22 //--------------------------------------------------------------------------
23 static void idaapi term(void)
27 //--------------------------------------------------------------------------
29 static void idaapi run(int /*arg*/)
37 // msg("range: %x/%x-%x\n", ea, inf.minEA, inf.maxEA);
39 ea = next_unknown(ea, inf.maxEA);
40 for (; ea != BADADDR; ea = next_unknown(ea, inf.maxEA))
42 segment_t *seg = getseg(ea);
45 if (seg->type != SEG_DATA)
48 ea_flags = getFlags(ea);
49 if (!hasValue(ea_flags))
52 if (inf.minEA <= val && val < inf.maxEA) {
59 // msg("%x: jmp\n", ea);
63 msg("end reached.\n");
66 //--------------------------------------------------------------------------
68 static const char comment[] = "Find next pointer-like data";
69 static const char help[] = "Find next pointer-like data\n";
70 static const char wanted_name[] = "Find next ptr-like";
71 static const char wanted_hotkey[] = "Shift-N";
73 //--------------------------------------------------------------------------
75 // PLUGIN DESCRIPTION BLOCK
77 //--------------------------------------------------------------------------
80 IDP_INTERFACE_VERSION,
83 term, // terminate. this pointer may be NULL.
85 comment, // long comment about the plugin
86 // it could appear in the status line
88 help, // multiline help about the plugin
89 wanted_name, // the preferred short name of the plugin
90 wanted_hotkey // the preferred hotkey to run the plugin
93 // vim:ts=2:shiftwidth=2:expandtab