/* * netsniff-ng - the packet sniffing beast * Copyright 2011 Daniel Borkmann, rewritten * Copyright 1991-2007 Kawahara Lab., Kyoto University * Copyright 2000-2005 Shikano Lab., Nara Institute of Science and Technology * Copyright 2005-2007 Julius project team, Nagoya Institute of Technology * All rights reserved * Subject to the GPL, version 2. */ #ifndef PATRICIA_H #define PATRICIA_H #include #include "built_in.h" struct patricia_node { void *key; size_t klen; struct sockaddr_storage *addr; size_t alen; union { int data; int thres_bit; } value; struct patricia_node *l, *r; } __cacheline_aligned; extern int ptree_search_data_nearest(void *str, size_t sstr, struct sockaddr_storage *addr, size_t *alen, struct patricia_node *root); extern int ptree_search_data_exact(void *str, size_t sstr, struct sockaddr_storage *addr, size_t *alen, struct patricia_node *root); extern int ptree_add_entry(void *str, size_t sstr, int data, struct sockaddr_storage *addr, size_t alen, struct patricia_node **root); extern void ptree_del_entry(void *str, size_t sstr, struct patricia_node **root); extern void ptree_get_key(int data, struct patricia_node *node, struct patricia_node **wanted); extern void ptree_get_key_addr(struct sockaddr_storage *addr, size_t alen, struct patricia_node *node, struct patricia_node **wanted); extern void ptree_display(struct patricia_node *node, int level); extern void ptree_free(struct patricia_node *root); #endif /* PATRICIA_H */ r> summaryrefslogtreecommitdiff
path: root/Documentation
diff options
context:
space:
mode:
authorLv Zheng <lv.zheng@intel.com>2016-04-11 10:13:33 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2016-04-18 23:59:09 +0200
commit5d8813271f8a7c86027afb2ef554f2a5a9ba7c15 (patch)
tree75e3ea3cafe1b4be9ce00a7352ce75ca0c9fb7a4 /Documentation
parentaf06f8b7a102417e93dc57ee7affb9fedcf5d83f (diff)
ACPI / tables: Convert initrd table override to table upgrade mechanism
This patch converts the initrd table override mechanism to the table upgrade mechanism by restricting its usage to the tables released with compatibility and more recent revision. This use case has been encouraged by the ACPI specification: 1. OEMID: An OEM-supplied string that identifies the OEM. 2. OEM Table ID: An OEM-supplied string that the OEM uses to identify the particular data table. This field is particularly useful when defining a definition block to distinguish definition block functions. OEM assigns each dissimilar table a new OEM Table Id. 3. OEM Revision: An OEM-supplied revision number. Larger numbers are assumed to be newer revisions. For OEMs, good practices will ensure consistency when assigning OEMID and OEM Table ID fields in any table. The intent of these fields is to allow for a binary control system that support services can use. Because many support function can be automated, it is useful when a tool can programatically determine which table release is a compatible and more recent revision of a prior table on the same OEMID and OEM Table ID. The facility can now be used by the vendors to upgrade wrong tables for bug fixing purpose, thus lockdep disabling taint is not suitable for it and it should be a default 'y' option to implement the spec encouraged use case. Note that, by implementing table upgrade inside of ACPICA itself, it is possible to remove acpi_table_initrd_override() and tables can be upgraded by acpi_install_table() automatically. Though current ACPICA impelentation hasn't implemented this, this patched changes the table flag setting timing to allow this to be implemented in ACPICA without changing the code here. Documentation of initrd override mechanism is upgraded accordingly. Original-by: Octavian Purdila <octavian.purdila@intel.com> Signed-off-by: Lv Zheng <lv.zheng@intel.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'Documentation')