Linux Audio

Check our new training course

Embedded Linux training

Mar 10-20, 2025, special US time zones
Register
Loading...
Note: File does not exist in v6.2.
 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}