/* * netsniff-ng - the packet sniffing beast * Copyright 2009 - 2013 Daniel Borkmann. * Subject to the GPL, version 2. */ #include #include #include "hash.h" #include "xmalloc.h" #include "oui.h" #include "str.h" static struct hash_table oui; static bool initialized = false; struct vendor_id { unsigned int id; char *vendor; struct vendor_id *next; }; const char *lookup_vendor(unsigned int id) { struct vendor_id *v; v = lookup_hash(id, &oui); while (v && id != v->id) v = v->next; return (v && id == v->id ? v->vendor : NULL); } void dissector_init_oui(void) { FILE *fp; char buff[128], *ptr; struct vendor_id *v; void **pos; if (initialized) return; fp = fopen(PREFIX_STRING "/etc/netsniff-ng/oui.conf", "r"); if (!fp) panic("No oui.conf found!\n"); memset(buff, 0, sizeof(buff)); while (fgets(buff, sizeof(buff), fp) != NULL) { buff[sizeof(buff) - 1] = 0; ptr = buff; v = xmalloc(sizeof(*v)); v->id = strtol(ptr, &ptr, 0); if ((ptr = strstr(buff, ", "))) ptr += strlen(", "); ptr = strtrim_right(ptr, '\n'); ptr = strtrim_right(ptr, ' '); v->vendor = xstrdup(ptr); v->next = NULL; pos = insert_hash(v->id, v, &oui); if (pos) { v->next = *pos; *pos = v; } memset(buff, 0, sizeof(buff)); } fclose(fp); initialized = true; } static int dissector_cleanup_oui_hash(void *ptr) { struct vendor_id *tmp, *v = ptr; if (!ptr) return 0; while ((tmp = v->next)) { xfree(v->vendor); xfree(v); v = tmp; } xfree(v->vendor); xfree(v); return 0; } void dissector_cleanup_oui(void) { for_each_hash(&oui, dissector_cleanup_oui_hash); free_hash(&oui); initialized = false; } next.git/log/?h=nds-private-remove'>logtreecommitdiff
diff options
context:
space:
mode:
option value='1'>ignore
mode:
authorMarcus Cooper <codekipper@gmail.com>2016-02-08 18:09:21 +0100
committerMark Brown <broonie@kernel.org>2016-02-20 01:25:51 +0900
commitf8260afa444b670016f22f2ba1440d9d2e74dcb6 (patch)
tree47ce83c423ad037fe08d1da08f297dc82d044104 /Documentation/i2c
parent8020e1bbaa5e8d8340ab78c71a69ccdd362ab203 (diff)
ASoC: sunxi: Add support for the SPDIF block
The sun4i, sun5i and sun7i SoC families have an SPDIF block which is capable of playback and capture. This patch enables the playback of this block for the sun4i families. Signed-off-by: Marcus Cooper <codekipper@gmail.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'Documentation/i2c')