Loading...
1#include <stdio.h>
2#include <string.h>
3#include <inttypes.h>
4#include <endian.h>
5#include "event-parse.h"
6
7static unsigned long long
8process___le16_to_cpup(struct trace_seq *s,
9 unsigned long long *args)
10{
11 uint16_t *val = (uint16_t *) (unsigned long) args[0];
12 return val ? (long long) le16toh(*val) : 0;
13}
14
15int PEVENT_PLUGIN_LOADER(struct pevent *pevent)
16{
17 pevent_register_print_function(pevent,
18 process___le16_to_cpup,
19 PEVENT_FUNC_ARG_INT,
20 "__le16_to_cpup",
21 PEVENT_FUNC_ARG_PTR,
22 PEVENT_FUNC_ARG_VOID);
23 return 0;
24}
25
26void PEVENT_PLUGIN_UNLOADER(struct pevent *pevent)
27{
28 pevent_unregister_print_function(pevent, process___le16_to_cpup,
29 "__le16_to_cpup");
30}
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
20static unsigned long long
21process___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
27int 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
38void PEVENT_PLUGIN_UNLOADER(struct pevent *pevent)
39{
40 pevent_unregister_print_function(pevent, process___le16_to_cpup,
41 "__le16_to_cpup");
42}