Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.15.
 1// SPDX-License-Identifier: GPL-2.0
 2#include <stdio.h>
 3#include <string.h>
 4#include <inttypes.h>
 5#include <endian.h>
 6#include "event-parse.h"
 7
 8/*
 9 * From glibc endian.h, for older systems where it is not present, e.g.: RHEL5,
10 * Fedora6.
11 */
12#ifndef le16toh
13# if __BYTE_ORDER == __LITTLE_ENDIAN
14#  define le16toh(x) (x)
15# else
16#  define le16toh(x) __bswap_16 (x)
17# endif
18#endif
19
20
21static unsigned long long
22process___le16_to_cpup(struct trace_seq *s, unsigned long long *args)
23{
24	uint16_t *val = (uint16_t *) (unsigned long) args[0];
25	return val ? (long long) le16toh(*val) : 0;
26}
27
28int TEP_PLUGIN_LOADER(struct tep_handle *tep)
29{
30	tep_register_print_function(tep,
31				    process___le16_to_cpup,
32				    TEP_FUNC_ARG_INT,
33				    "__le16_to_cpup",
34				    TEP_FUNC_ARG_PTR,
35				    TEP_FUNC_ARG_VOID);
36	return 0;
37}
38
39void TEP_PLUGIN_UNLOADER(struct tep_handle *tep)
40{
41	tep_unregister_print_function(tep, process___le16_to_cpup,
42				      "__le16_to_cpup");
43}