1 | initial version |
all_field_infos
calls proto_all_finfos()
wslua_field.c:
WSLUA_FUNCTION wslua_all_field_infos(lua_State* L) { /* Obtain all fields from the current tree. Note this only gets whatever fields the underlying dissectors have filled in for this packet at this time - there may be fields applicable to the packet that simply aren't being filled in because at this time they're not needed for anything. This function only gets what the C-side code has currently populated, not the full list. */ GPtrArray* found; int items_found = 0; guint i; if (! lua_tree || ! lua_tree->tree ) { WSLUA_ERROR(wslua_all_field_infos,"Cannot be called outside a listener or dissector"); return 0; } found = proto_all_finfos(lua_tree->tree);
There are several examples in packet-snort.c:
if (tree != NULL) { GPtrArray *items = proto_all_finfos(tree); if (items) { guint i; for (i=0; i< items->len; i++) { field_info *field = (field_info *)g_ptr_array_index(items,i);