]> git.ipfire.org Git - thirdparty/kernel/linux.git/blob - tools/lib/traceevent/plugin_cfg80211.c
Merge tag 'hwspinlock-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/ohad...
[thirdparty/kernel/linux.git] / tools / lib / traceevent / plugin_cfg80211.c
1 #include <stdio.h>
2 #include <string.h>
3 #include <inttypes.h>
4 #include <endian.h>
5 #include "event-parse.h"
6
7 /*
8 * From glibc endian.h, for older systems where it is not present, e.g.: RHEL5,
9 * Fedora6.
10 */
11 #ifndef le16toh
12 # if __BYTE_ORDER == __LITTLE_ENDIAN
13 # define le16toh(x) (x)
14 # else
15 # define le16toh(x) __bswap_16 (x)
16 # endif
17 #endif
18
19
20 static unsigned long long
21 process___le16_to_cpup(struct trace_seq *s, unsigned long long *args)
22 {
23 uint16_t *val = (uint16_t *) (unsigned long) args[0];
24 return val ? (long long) le16toh(*val) : 0;
25 }
26
27 int PEVENT_PLUGIN_LOADER(struct pevent *pevent)
28 {
29 pevent_register_print_function(pevent,
30 process___le16_to_cpup,
31 PEVENT_FUNC_ARG_INT,
32 "__le16_to_cpup",
33 PEVENT_FUNC_ARG_PTR,
34 PEVENT_FUNC_ARG_VOID);
35 return 0;
36 }
37
38 void PEVENT_PLUGIN_UNLOADER(struct pevent *pevent)
39 {
40 pevent_unregister_print_function(pevent, process___le16_to_cpup,
41 "__le16_to_cpup");
42 }