These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / 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 }