#ifndef __PERF_CONFIG_H #define __PERF_CONFIG_H #include <stdbool.h> #include <linux/list.h> struct perf_config_item { char *name; char *value; bool from_system_config; struct list_head node; }; struct perf_config_section { char *name; struct list_head items; bool from_system_config; struct list_head node; }; struct perf_config_set { struct list_head sections; }; extern const char *config_exclusive_filename; typedef int (*config_fn_t)(const char *, const char *, void *); int perf_default_config(const char *, const char *, void *); int perf_config(config_fn_t fn, void *); int perf_config_int(const char *, const char *); u64 perf_config_u64(const char *, const char *); int perf_config_bool(const char *, const char *); int config_error_nonbool(const char *); const char *perf_etc_perfconfig(void); struct perf_config_set *perf_config_set__new(void); void perf_config_set__delete(struct perf_config_set *set); int perf_config_set__collect(struct perf_config_set *set, const char *file_name, const char *var, const char *value); void perf_config__init(void); void perf_config__exit(void); void perf_config__refresh(void); /** * perf_config_sections__for_each - iterate thru all the sections * @list: list_head instance to iterate * @section: struct perf_config_section iterator */ #define perf_config_sections__for_each_entry(list, section) \ list_for_each_entry(section, list, node) /** * perf_config_items__for_each - iterate thru all the items * @list: list_head instance to iterate * @item: struct perf_config_item iterator */ #define perf_config_items__for_each_entry(list, item) \ list_for_each_entry(item, list, node) /** * perf_config_set__for_each - iterate thru all the config section-item pairs * @set: evlist instance to iterate * @section: struct perf_config_section iterator * @item: struct perf_config_item iterator */ #define perf_config_set__for_each_entry(set, section, item) \ perf_config_sections__for_each_entry(&set->sections, section) \ perf_config_items__for_each_entry(§ion->items, item) #endif /* __PERF_CONFIG_H */ '> <input type='hidden' name='id' value='cf3e80df13e534eb34a85835d5357c78d8689199'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/cgit.cgi/linux/net-next.git/log/?id=cf3e80df13e534eb34a85835d5357c78d8689199'>root</a>/<a href='/cgit.cgi/linux/net-next.git/log/include?id=cf3e80df13e534eb34a85835d5357c78d8689199'>include</a>/<a href='/cgit.cgi/linux/net-next.git/log/include/uapi?id=cf3e80df13e534eb34a85835d5357c78d8689199'>uapi</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th class='left'>Age</th><th class='left'>Commit message (<a href='/cgit.cgi/linux/net-next.git/log/include/uapi?id=cf3e80df13e534eb34a85835d5357c78d8689199&showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Files</th><th class='left'>Lines</th></tr> <tr><td><span title='2017-02-03 16:58:20 -0500'>2017-02-03</span></td><td><a href='/cgit.cgi/linux/net-next.git/commit/include/uapi?id=52e01b84a244473074fc0612c169e2e043d58b01'>Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next</a></td><td>David S. Miller</td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+5</span></td></tr> <tr><td><span title='2017-02-03 15:21:21 -0500'>2017-02-03</span></td><td><a href='/cgit.cgi/linux/net-next.git/commit/include/uapi?id=b3c7ef0adadc5768e0baa786213c6bd1ce521a77'>bridge: uapi: add per vlan tunnel info</a></td><td>Roopa Prabhu</td><td>2</td><td><span class='deletions'>-0</span>/<span class='insertions'>+12</span></td></tr> <tr><td><span title='2017-02-03 15:21:21 -0500'>2017-02-03</span></td><td><a href='/cgit.cgi/linux/net-next.git/commit/include/uapi?id=3ad7a4b141ebd6091494913672d7166d5c2764e4'>vxlan: support fdb and learning in COLLECT_METADATA mode</a></td><td>Roopa Prabhu</td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+1</span></td></tr> <tr><td><span title='2017-02-03 15:16:46 -0500'>2017-02-03</span></td><td><a href='/cgit.cgi/linux/net-next.git/commit/include/uapi?id=295a6e06d21e1f469c9f38b00125a13b60ad4e7c'>net/sched: act_ife: Change to use ife module</a></td><td>Yotam Gigi</td><td>1</td><td><span class='deletions'>-9</span>/<span class='insertions'>+1</span></td></tr> <tr><td><span title='2017-02-03 15:16:45 -0500'>2017-02-03</span></td><td><a href='/cgit.cgi/linux/net-next.git/commit/include/uapi?id=1ce8460496c05379c66edc178c3c55ca4e953044'>net: Introduce ife encapsulation module</a></td><td>Yotam Gigi</td><td>2</td><td><span class='deletions'>-0</span>/<span class='insertions'>+19</span></td></tr> <tr><td><span title='2017-02-02 23:34:19 -0500'>2017-02-02</span></td><td><a href='/cgit.cgi/linux/net-next.git/commit/include/uapi?id=8fe809a992639b2013c0d8da2ba55cdea28a959a'>net: add LINUX_MIB_PFMEMALLOCDROP counter</a></td><td>Eric Dumazet</td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+1</span></td></tr> <tr><td><span title='2017-02-02 21:58:02 -0500'>2017-02-02</span></td><td><a href='/cgit.cgi/linux/net-next.git/commit/include/uapi?id=ba94f3088b792b16ea576a256a6030feddc87f24'>unix: add ioctl to open a unix socket file with O_PATH</a></td><td>Andrey Vagin</td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+2</span></td></tr> <tr><td><span title='2017-02-02 16:54:00 -0500'>2017-02-02</span></td><td><a href='/cgit.cgi/linux/net-next.git/commit/include/uapi?id=e2160156bf2a7d5018e99a9993fbcdda0abac09b'>Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net</a></td><td>David S. Miller</td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+3</span></td></tr>